jeromegn's blog

My take on web development
  • Succeeding as an autodidact

    16 September 2009

    It completely forked my life in all its aspect. I don’t know of any people of my age nearly similar to me. For many reasons, I think learning by yourself is the best way to finding and achieving your true passion. Let me tell you my story and a bit of my view on autodidactic people.

    How I came about

    Up to 13 years of age, I was going through life as normally as anyone would, it’s around that time something happened that would changed my life: I discovered the web and the possibilities it offers cheaply and easily. In only a few weeks, I had built my first site in Flash (never to touch it again), a few weeks after that, I built a basic website positioned with tables. Less than 2 years later, I had my own web hosting company using a small reseller hosting account, it was profitable, but way too much work and somewhat out of my league for my age and skills. This goes on for a while, I kept building better websites in every way: standards, seo, css positioning, javascript, typography, grid design, etc. and then at 19, I got a job in this field and it made me realize there are some aspects I liked better, which in turn made me decide to specialize in designing user interfaces. Put together, these trained talents make it possible to build a project from the ground up, which requires a combination of my passion for the web and my entrepreneurship desires.

    A short story of a 15-years-old entrepreneur

    What made me different? Why did I bother trying to be an entrepreneur so young? I was extremely curious and I acted on that curiosity. Trying is key in teaching yourself anything and everything. Even though I was venturing in the unknown, I couldn’t resist experimenting. This small success, which made my father proud when I told him about it a few months later, created a comforting idea of experimentation, of understanding the unknown better through trying it out. Falling in a good pattern of trial and success is essential to building confidence in further pushing the self-teachings.

    At first my family was a bit reluctant to lending me some money in order to start my small hosting business, the 24$ needed for the first month of hosting was one of my first request of such. I have my mother to thank in understanding how important this adventure was for me. It was relatively low risk, I guess I was lucky, at the time the market was much less saturated with hosting providers and made it possible to get a few clients by advertising on the forum Web Hosting Talk. Named SyncHosting, it was profitable the next month and I would never inject money in it after the initial investment. It was a one-man show, I did the support, the sales, dealt with server problems, it was fun, but stressful for my age, and after a year I decided to let it go.

    What an experience it was! The stepping stone into a world of knowledge. A success! I got to start a mini unregistered business on my own with no other guidance than what I learned on the spot and from reading online, if I had persisted, maybe it could have been big. Though that same wonderful experience led me to understand I wasn’t cut out for sales or for support, a useful lesson for 24$ (which in the end grossed over 1500$ in the year it existed). I’m glad I tried it out, I came out better.

    Eventually, it’ll pay off

    Being autodidactic doesn’t come without risks, starting young is a good way to almost eliminate that risk. Through the years, I practiced my skills creating websites for various clients. My work was pretty decent and I wouldn’t engage in anything I knew I couldn’t complete. My clients were satisfied and… oh boy, I didn’t ask for much of a pay! During this time I did learn a lot about web design and doing business, but I learned even more about learning itself. Invaluable. I became master of my education, I became self-motivated in my job and in learning the very latest about it. It’s not so bad to accept less-paying projects if the work experience you’re getting out of it brings value too.

    While freelancing, I doubt my real passion had been discovered. I think at the time, it was much more about learning than web design (it probably still is). At 19, I partially left school and got a job at iWeb Technologies Inc. where I was their first “web designer”. I cannot stress enough the importance of getting that job in my life. My boss and everyone over there was great to work with, I learned a lot and it led me to specializing in usability, then in information architecture and then honing all of these skills in the all encompassing user experience design discipline.

    I’m not going in details about the salary, but I started low and as they understood (and I did too) my value as a proactive employee and web developer in general, they raised my salary in an appropriate manner. The accumulation of knowledge I had gained from self-teachings gave me a unique perspective on web development and on life and business in general, they valued it greatly. I helped shape their current design team, I helped with a few business decisions here and there too, but my best contribution was probably in terms of design. I created their current design (at the time of this writing), rethought and revamped their ordering system and I even acted as an agile project manager for a few months.

    In return, I was paid enough to survive in this world and they helped me discover and grow my passion for great user experience and great web sites in general. The edge provided by my background made me a special employee there, or so I believe.

    But I had to go on my way

    iWeb was great with me and I think both parties benefited from one another. Though the time came after a year and 3 months to leave, I had learned much. In order to incept even more I believed I had to go on my separate way. At which point I turned back to freelancing, but only as a mean of survival since I do not especially like dealing with clients. My true goal was to learn more and that’s where my efforts were concentrated. For 9 months now, I’ve been on my own as a freelancer, as a self-taught web developer and I would never look back an instant. I worked on countless projects for myself, for clients and in partnership with a nice coder/entrepreneur, creating those also brought me lots of experience in all fields of web development. I became much more skilled at coding Ruby (on Rails and with Sinatra), HTML/CSS became second nature to me and my design got much better too. All this in turn gave an edge to my user experience skills as I got to also be the one to integrate the UX strategy.

    The prerequisites to achieve all this are self-motivation and rigor. I read many books, subscribed to many more feeds than before and discovered more efficient ways of learning. It isn’t easy, it can be quite depressing at times when you hear about your friends attending university while you’re on your own with a computer, I wish I had a use for university. Socially it probably would’ve been much funnier for me to attend university, but the cost and the time required to do so was too important to even consider it as a possibility. Besides, I simpler learn better on my own, with a hands-on approach and by reading about general web development and techniques to solve problems.

    Passion-driven learning

    Some people go to school to learn how to do a job that’ll ultimately provide them with a living and advantages. Others go to university because it seems like the next logical step in their education and that’s just how it is in life, or so they were told. I’m not motivated by extremely high salaries, although I require a decent one for my responsibility and accountability, I’m solely motivated by the ultimate life goal in my view: being happy. I wouldn’t be happy to go through 4 years of classes, most of which offered material I already incepted as “working knowledge” and would probably have bored me to death with their sometimes incapable teachers. The incentive which really worked for me was to learn what I loved to do by cycles of success and failures. Something any schooling I received failed to provide me: passion in learning for passion’s sake.

    Get stuff done

    Maybe it’s not the most paying project, maybe it’s not the most useful one and perhaps it’s never going to make it past a certain stage… but please, just do it. Learning was, above all, most successful with a hands-on approach. As much as a book or a teacher may bring to your knowledge, it’s nowhere near as useful as the working knowledge of experimentation. You probably noticed it too when you got your first job in the field you studied. Thinking about it, you might find that the best knowledge you gain was while you exercised your studies.

    So I say: Get stuff done! You’ll fall in tough situations requiring solutions only attained by thinking hard and doing research. Afterwards, you’ll feel truly invincible, being able to solve all the problems you encounter. We’re lucky, the supreme resource was invented a few years ago, the Internet brings ever-growing knowledge of everything. There you have it, try to do stuff, increasingly harder, you’ll learn so much.

    Finding great knowledge sources

    On the web, there are countless possible ways of finding knowledge. Among the best sources are blog articles written by knowledgeable people, recognized twitter users who share links, a well chosen network on delicious, sites with content generated by a savvy community (such as Hacker News). It was overwhelming at first, I receive a truck load of content daily and constantly, most of which is noise. Tools like Google Reader enables for easy/fast scanning of the “good stuff”. Speaking of signal vs. noise, I have a few twitter searches about user experience design, in which I specifically state “filter:links”, because that’s the most important, it’s hard to say something meaningful in 140 characters, the best stuff comes from the links.

    Manage those sources. At some point you may discover a source or another isn’t as good as you thought it was or it has become less consistent in relevant content. It’s time to get rid of it, reducing the noise is important, it leads to a more efficient information inception process. This process evolves over time, you’ll keep finding better sources, you might even want to build something custom to receive this information in a more efficient way (maybe that’s only for people who’s passion is in creating great interfaces though!).

    Books work too, they are not to be underestimated. Even though most technical ones will be outdated, buying a recent book will teach you well enough what you’re trying to learn. It’s not all about technicalities either, more philosophical books about life, focusing, learning and almost anything will help with your development. The brain records a lot of information, it also remembers patterns later to be recognized and applied. You may learn something about web design in an unrelated subject book.

    And once I know what my passion is?

    It basically is about asking yourself the deep questions of life:

    • How do I achieve making a good living practicing my passion? By finding a profession I’ll like in the field of web development (at a lower level, I love to build things and projects) and making sure it’s my true passion by getting the most information possible on the subject.
    • How can I get hired doing this? Figure out what skills I need, practice them and gain experience doing it. Don’t be shy to reconsider the first question if you end up disliking what you’re practicing.
    • How can I learn more efficiently than the traditional methods universities provide? Go as deep as necessary (but not a bit more) in each of the required competencies of this profession with a hands-on approach.

    Practicing is central to my strategy, that’s the best way I have found to learn correctly. Real-world experience by practice and experimentation will lead to failures and eventually a better success rate. It’s invaluable to fail and then ponder why to eventually succeed at the same task. It’s also very important to succeed, but only if you understand why. Becoming master of your domain is through many failures, many successes, more successes will confirm you’ve learned well.

    Now, getting that job

    It all comes down to jumping from skill to skill in your learning process until you’ve reached a working knowledge and competency in that profession. Still, self-taught people are sometimes thought less of as opposed to a diploma-backed interviewee. Even though you might have accomplished a lot, even though your portfolio speaks for itself and you’re the sense-injected person they’ve encountered in a while, you still lack the expensive and standardized diploma. I can’t be sure about most disciplines, but for the web-related ones, there aren’t many good developers and designers who didn’t pursue honing their skills eventually rendering most of their university lessons obsolete after just a few years.

    Rare breed, unique combination

    Autodidacts are rare, it’s an ability that any employer should praise and look for. Yes, universities set standards on every competencies by evaluating one’s knowledge in them, but in the currently evolving and still to be defined web, it’s rather hard to do. I have worked and seen developers from colleges and universities, the standards they are thought are often outdated and sometimes blatantly incorrect. Compared to a standard an autodidactic web developer recognizes, set only by trying to do the best and by keeping appraise of the changes on the web, it’s clear which person is more savvy. Furthermore, not only can I do user experience design, I can also code, I can do SEO, I can manage a project and I can build a project from scratch. I’m my own web development micro department, I have a vision of all the aspects of a web project, all because of my autodidacticism.

    Convincing an employer of all this in a single interview is difficult. Even before that, convincing them with a resume is even harder. “Where’s your academic formation?”. The best trick, I figured, is to present yourself in a way so unusual/different and so encompassing of your skills that they’ll at least grant you an interview. Once they’ve heard you and you’ve done well at demonstrating your worth as a prospective employee, there comes the salary part, the most difficult. The value of a diploma is too far sculpted in their culture, we can’t blame them and it’s completely normal and understandable… but nonetheless inaccurate. In my opinion, an autodidact will have a much more diverse background, will respond better to change and his skills will continue growing while he’ll be working for you.

    A true advantage

    There’s a less well considered benefit of being autodidactic: efficiency in all things. Because that’s what’s required to reach a working knowledge of so much, to work your ass off at understanding everything on your own. In doing so, I learned how to take the path of least resistance to gain what was needed. Having done research on all my competencies over the last 8 years (in the last 4-5 more intensively so), I know and understand what kind of information I’m looking for, where I can find it, going about finding it rapidly and applying the gained knowledge to my work, a project or life in general.

    The free form nature of learning by self-teaching enables one to explore all possibilities, it’s a harder and longer process at first, but the rewards are definitely worth it. It’s been a long while since I could find any problem that stumped me, in any discipline, even though I’m not exactly expert in any of them. Once you know how to learn and do research efficiently, there’s nothing stopping you from learning even more about whatever you deem necessary. New skills are acquired in a matter of weeks and problems are solved in less than a day.

    Conclusion

    Hopefully, I’m not only talking about my experience here. I haven’t talked much with other autodidacts, honestly I haven’t given it much thought, it just seems to me that this should be one of the most popular ways for autodidacts to learn. If this article doesn’t encourage people to pick up on self-teaching, then it might just make some employers think more about the value of this kind of learner. Coupled with an open-mind, the autodidact is a machine at learning everything and anything.

  • Smart Interfaces (or extending smart defaults)

    06 July 2009

    Smart defaults, a small addition to UX which dictates how a field should contain a default value good enough to usually not need to be changed, is a step towards smarter interfaces. We’re not quite there yet… it’s time we make interfaces smart on their own.

    Smart defaults 101

    These are the form fields already filled in for you by the website (probably via the back-end or the javascript), they help you achieve an identical result with less effort and in less time. For instance, you’re presented with a sign up form and when you get to the “country” select box, “United States” is already selected. This could either be the result of Geographic positioning by IP, a detected browser or OS country code or it could even be a developer or a UX practitioner who assumed that’s how the majority of people would answer to this particular question.

    As of now, this is best practice if you have mesured statistics and have accumulated data on your visitors or if you have a good reason to believe this is the right answer in more than 50% of the cases.

    In my experience though, websites are not nearly providing the smartest defaults, interfaces aren’t smart enough.

    But first, recommendation systems.

    Smart defaults, a subset of UX, as of yet are only implemented using intuition or brute data. Not good enough. Can we process this data to a better result? Yes. Using basic AI algorithms, not unlike recommendation systems.

    They’re popping up like crazy, all over the web. No wonder, recommendation systems rock! They help you find books, music, videos and people that are right along your preferences. In the case of Amazon, they do this by using an algorithm which will determine which other buyer bought the same books you did and by subtracting the books you both have in common, it returns the books you don’t have that he has. Adding the quality of the reviews on the books, those are now “recommended” for you. You should like them. Disclaimer: the process might not be exactly like that, but that’s a known way of doing it .

    I’d like to bring a similar system to smart defaults, rendering them much more efficient than ever.

    “Recent searches” are not good enough either

    Say you’ve focused on a field and you start typing a few letters. A moment later, the site’s cool autocompletion feature kicks in, it gives you hints on what you might be looking for, all this as a way to make it easier and faster to fill in that field (also limiting human errors as much as possible).

    Some of these systems also include your recent searches up top, these are supposed to be more relevant results. Quite frankly, they often are, it depends on the context. If the application in question requires you to make searches of the same things frequently, then that might come in handy. It’s also a failure in a sense, the app is not adaptative enough to provide faster and better means of accomplishing the same results.

    So what’s wrong?

    The problem with current solutions

    They aren’t adaptative on their own. They don’t respond to change, they only suggest answers according to the way they we’re statically programmed. Sure, they use a database and so they’re dynamic in the programmatic sense, but they are definitely “static” when we consider UX and how people really use an application.

    Classic example: I just finished writing a blog post, I’m selecting a category and then I start typing tags which are autocompleted by a small system. This system looks up all the tags in the database (or just the one my user already used, but still a good load) without considering any other variable. Although I have selected the category “Project Management”, when I start typing ag, if I have already used the tag “agriculture” often, it might just propose that.

    If the system simply added the variable category to their live search and suggestions of tags, then it would have indubitably proposed the tag “agile”, since there’s only a very very small chance I’ll write something about “agriculture” in my “project management” category.

    A fix is in order

    There’s a pressing need for smarter apps, smarter defaults and smarter suggestions. By better identifying the variables that come into play. Often, they’re not as obvious as you might think.

    Real-world example

    My partner and I have been working on a cool project recently. It’s an online service for flight logbooking, targetting pilots interested in using a much better interface to log their flights and who might be interested in knowing what other pilots’ flights might be like.

    The flight log entry form is a piece of work I am proud of. The form includes many different fields, but among them: aircraft, ident (unique id for an aircraft), from and to (airports). There a lot you can deduce with this information.

    We already know:

    1. An airport has many aircrafts;
    2. An aircraft is identified by a unique ident;
    3. All the data the user has already entered in the past.

    What we can do with all this:

    • From the aircraft’s ident, we can deduce the aircraft model and the “from” airport;
    • From the starting airport, we can narrow the autocompletion on the aircraft field;
    • Knowing if the aircraft is a rental (from the ident and data we already have), we can figure out that the arrival airport will probably be the same as the starting one.

    Only a start, but better than the currently existing alternatives.

    Dumb interface example

    For a few months now, I’ve been playing NHL 2009 quite a bit. I got to say, it’s a great game, but has a poor interface to say the least, they could do much better with a few improvements.

    What I despise about their interface:

    • Too many confirmations for low consequences actions (like going back in the “Play Now” screen)
    • When I want to play a game mode, 99% of the time I don’t want to create a new file, I just want to load the previous one.
    • Why do I have to simulate calendar days and then select “Play next game”? Why can’t I just press “Play next game” and it would automatically simulate all days (which have no games) and get me in the next game?
    • When someone with a profile that doesn’t have a saved game of NHL 2009 presses start at the beginning, there’s no way you can go back and the only available options are “Retry” and “Continue without saving”. You would think that last one would get you in a game or something that you wouldn’t save… no it starts you a new player, when you just want to play a quick game with friends, it’s very very frustrating.

    What’s your point?

    The EA Sports NHL 2009 team didn’t consider how the majority of their user would use their game. They didn’t realize how painful it is to load existing games, how long and complex it is to browse through 3-4 menus to get where you want. I wouldn’t have minded much if the function I’m trying to access was only seldomly used, but it seems like loading a dynasty or a “be a pro” saved game is my main interest.

    Moreover, NHL 2009’s interface is not forgiving. Whenever you enter the wrong screen, to go back where you are, it takes many steps and buttons for no good reason since the cost of losing the information entered in the screen is small to none.

    Here’s an example flow of playing a dynasty game:

    1. … wait for the game to load
    2. Press Start
    3. Press Game Modes
    4. Press Dynasty
    5. Press Load
    6. Choose your game and press A
    7. Open the calendar
    8. Find the next game
    9. Simulate up to this day
    10. “No”, I don’t want to play the AHL game, don’t you think 82 games is enough?
    11. Press A
    12. Press A
    13. Press A
    14. Press A
    15. … wait for the game to load
    16. Press Start

    We made it! This took at least 5 minutes to load one of the most basic of functionalities of NHL 2009: Play a hockey game of a saved dynasty.

    How to make it better

    • Set defaults. I don’t have to modify all the options of the game before I play it, because most of the time, I just want to play. Let me change them in the in-game settings menu (which you already can do.)
    • Provide shortcuts to getting to where you want: I’m not interested in finding the next game, simulating up to it and denying to play the AHL game, I just want to play. Give me a button “Play next NHL calendar game” or provide an option to always simulate the AHL games or the NHL ones and label the button “Play next calendar game”. Sure, there might be trade offers in between games. Fine, just pop it up before I play and halt the process. It almost never happens anyway.
    • I usually only play 2-3 games per day, I’m not finishing up my 10-years dynasty every day, so I’d probably just want to load that dynasty up instead of creating a new one. Hell, give me a button in the main menu to load my last dynasty or my last “be a pro” saved game.
    • Please, if I don’t have a saved game and I choose to “continue without saving”, it means I’m with friends and I want to play a quick game, someone pressed Start with the wrong profile, be forgiveful. Don’t make me start customizing a player to start a “be a pro” season when I’d need to start over when I’d end my session anyway.

    I’m sorry, I’m really frustrated at NHL 2009’s dumb interface.

    Conclusion

    Any application or website would benefit from a smarter interface, an automatically-adaptable defaults-providing interface. Interface is a key word here, smart defaults are superb, but they’re too thought of as restricted to filling in predefined values in forms, I think they should apply to interfaces in the broadest of senses.

    Creating a smart interface mainly consists in designing for the masses (50%+ of the use cases), providing them with the least number of clicks possible to achieve their most desired goal.

    But it also encourages thinking long and hard about how you can offer less options, but smarter ones, to your users. This enables for faster usage of your application to achieve goals by adding variables to the queries fetching those choices lists. That’s what I call an adaptative interface, one that can give you smarter choices over time by adding level of complexity to the different filters that’ll list choices to your users.

  • Crowdsourcing feature prioritization

    19 June 2009

    Simply an idea that popped into my mind while thinking about feature priorization. The concept aims at solving the issue of developing the utmost important features for your targetted market. Read on and see how simple it is or how mad I am. Disclaimer: I have not tried this concept yet.

    Prioritization sucks

    An uneasy feeling takes grip on you as you’ve reached the stage when you need to priotize your features in your project backlog. If you’re working for a company, then you need to consider factors such as: cost, risk, business value, knowledge acquisition, etc. it can be quite a complex situation. Furthermore, you probably have to meet multiple times throughout the project’s life to make sure you’re still on track and priorities haven’t changed. Seems all logical to me. Seems difficult when you want to build the project for people, not for a client.

    Wisdom of crowds

    … is a book explaining how a diverse population of individuals answering the same question independently will come up with a better answer (when all the answers are averaged) than a single expert on a given subject. Crowdsourcing is all over the place nowadays, why not in the project management field too?

    With Amazon Mechanical Turk or by creating a simple tool and asking your twitter followers to help you out, there’s a good crowd you can reach very easily.

    How would it work?

    Simple enough. Get people to vote on their most important feature or if the feature is not present, let them add it. The one-vote-per-user model would work well enough, but you can’t show them what the others have voted. Result: a neat list of feature ordered by votes giving you a clear understanding of what’s most important to your future users.

    Another way to do it is to allow for users to arrange features in order of priority, this might give you a more precise picture of what people want.

    Getting usable results

    I’m currently building a website for pilots. I’d have to find a community of pilots somehow, explain the project briefly to them and allow them to vote on the different features via the previously built system. You can’t just ask anyone, or you can? Since The Wisdom of Crowds emphasizes the importance of a diversified crowd, you may ask anyone really. My guess is that in the end you’ll encounter similar results from pilots and from non-pilots. People have different knowledge in different fields, this diversity might just give you a much more accurate answer.

    Ask the right question

    Depending on the main purpose of your site, might it be: useful, fun, revolutionary, etc. you need to align your question with that line of thought. For instance: Which of the following sound more fun? Which of the following would be most useful to you as a [insert persona]? Which of these features is the most important in a successful website in your opinion?

    Choose the right question for the right situation, that’s all.

    Request additional information

    You might also want to know who’s voting on what. Obviously, it’s an anonymous process, but it’s better to know precisely what kind of people voted on your features. Is the user a pilot? How old is he? Where does he come from? [Whatever information you might find important to know here] ?

    But why? Knowing this, you can figure out just how diversified your crowd was. Ideally, you’ll want more people who know about your site’s subject, but a decent amount of less savvy users is also great.

    Are you building a site without restrictions on who can sign up?

    Then this might be just for you. If anyone can register on your website, how can you know which features will be the most important to them? You can’t possibly think of every scenario, it would also be very inefficient to build it using only your best judgement as to which features make the cut. You’re smart, you’re probably building this site because you’d use it yourself (or I would hope), but who else might just be using it?

    Don’t get me wrong, you still decide which features do or don’t make the cut for different releases. The crowd can’t possibly know about your business or your resources, using your unique knowledge of the situation with the list of prioritized features outputed by the crowd should give the best results.

    Asking the crowd (if done right) should results in diverse answers to your questions. Applied to feature prioritization in the context of an agile project development process for an app with unrestricted registration (what a mouthful!) will produce a nice list of features, which the majority of users will be pleased with.

  • Succinct introduction

    12 June 2009

    Hi! My name is Jérôme Gravel-Niquet. A quick post simply to introduce myself and give you a brief overview of what this blog will be all about. A word of caution: My English is the result of discussing, reading and listening incessantly to the language while working my way up the ladder in web development. I’ve gotten better, but please don’t mind the small errors I might make whilst writing my mind to depletion.

    My story

    Throughout the earlier years of my life, nothing abnormal, a simple life anyone would expect through elementary school and high school. It’s a funny thing to talk about my life in terms of academia, since I now completely refrain from adhering to this blatantly failing system, but… more on this later. At the age of 19, I decided to try my luck as a web designer and got luckily hired the same week.

    Much before that though, my brother had introduced me to computers and Internet at an early age, it was the beginning of an addiction to information and knowledge inception. At first it was purely entertainment, later as a replacement for school, a work tool and a money generating machine. At around 13 years of age, I decided to build my first site, it was in Flash and I was very excited. Ironically, I haven’t touch much Flash afterwards. In a few years, I came to the realization that I could convert pure graphics into HTML / CSS layouts. Years of less socially active life and as much machine interaction a human may support, my knowledge extended to many different programming languages, advanced web designing techniques, a primer of web marketing and project management. At the time of this writing, I am 21 years old, alive and kicking, I live on the web and I browse real life from time to time.

    Subjects

    Hopefully, you won’t be surprised to know this blog will mostly be about web development and a deeper understanding of the WWW itself.
    Chances are I will be talking a lot about UX, Ruby, Agile project management, Internet philosophy and how life-changing it is.

    I can’t say I know it all about these subjects, but I know my fair share and I’d like to make you benefit from my various writings. The Internet is a complex world, finding your way in it all is difficult and takes years. My job has been to facilitate the experience, in its whole, of browsing and using the web, this blog’s purpose follows this line of thought.

    Why I decided to write now

    As I wrote earlier, the web is a complex system and I’m just recently confident enough in my skills and knowledge to discuss them without fear of misleading anyone.

    Experience

    Through my efforts, I built countless websites, troubleshooted an extremely large quantity of problematic situations in a lot of different fields, made research on ever-deeper subjects and therefore have gain significant experience in many fields. I also have gained “ok” experience in a lot of fields, but it’s the convergence of them all, harnessed to define true experience in an all-encompassing complex field of work: Web development.

    I am opinionated

    My opinion is what defines me in this world. There’s too much to learn, so much that you have to choose and this is where your opinionated view of the world comes into play. Which philosophies to adhere to? Does this new knowledge fit with your views? Who has the best opinion? There’s no real answer to this last one.

    The only way to truly forge an opinion is to try as many “things” as you can. Other people’s experience is always good to know and can give you insight on what’s awaiting you if you try the same thing, but you need your own experience of it to tell if it fits. Somewhat like the scientific method, observation and experimentation are key to succeed at finding the best solution for yourself, for your specific context.

    Technicalities of this blog (for those interested)

    I forked Adam Wiggins’ Scanty over at github and modified it to my likings. It was pretty old so I had to modify a few deprecated things. Here’s my fork/version (if you peak at my profile, I don’t have much yet, but I’ll soon add more, I promise!)

    More precisely, this blog uses: Ruby, Sinatra, HAML and Textile.

    I devised my own theme, an experiment in typography, as I didn’t like very much the one that came from Adam. Honestly, I often want to build my own stuff and I hacked his blog software quite a lot. Not out of necessity for it to work, but out of necessity for me to continue learning. Forever.

    Coming up

    I have a few blog posts lining up, I should post about what I call “smart websites”, about the school system and how it’s now a failure, how to do efficient research and some bits here and there about my projects.

    Stay tuned!

Home ♦ About ♦ Archive ♦ RSS