Solve your problems (and learn something while you are at it)

A few weeks ago I came across this video…

When I was a kid I loved playing with LEGO blocks, building stuff out of cardboard, scotch tape and toothpicks… I always found rewarding making something out of nothing and I got to have new toys every day! My mother has always drawn and painted and her influence inspired me to become a graphic designer, but the passion for building things, not just drawing them on paper, never left me. I could have become an engineer, but I was awful at math. Eventually the World Wide Web took over our life and I quickly realized that the future was online so I started designing for the web. When HTML was king my job was still mainly that of a designer although it became quickly clear that just using Photoshop or Illustrator wasn’t going to be enough and so I learned PHP. First just some small functions to display HTML and then more complex stuff involving MySQL databases and a more dynamic approach to the development of websites… Javascript and jQuery followed pretty quickly as the demise of Flash came upon the web.

I did not have a plan to learn any of the stuff I learned and I did not know what I needed to learn I just had goals and tasks to accomplish (and problems to solve) and, of course, I had access to the internet. At first I was happy just copy/pasting some snippets from other developers and maybe just modifying them enough to roughly fit my needs, but the thrill of building out of nothing was there again and I could feel it.

Learning how to code has been for me almost like learning how to draw, first copying other drawings, then real subjects and finally just drawing without a subject… The syntax became quickly familiar and things started to click. I did not have any formal training but the common practices and patterns became obvious and I started using them without knowing it. So as the good Kevin said in his video, I had a problem and I solved it, again and again… And from web designer I became web developer.

pokemon_evolution

The evolution has been unstoppable…

At first I was worried, I’ve always being kind of a perfectionist in my work and not having a formal education in computer science I felt always one step behind other developers. I did not feel “qualified” enough for some of the projects my clients asked me to do and I ended up hiring third party companies to outsource the bulk of the jobs. The results were a total disaster. The projects were always late and way below my standards… I had no choice but go back to my old ways, look at the final code, understand it, (loathe it,) modify it, and deliver a limping, placeholder product. Then go back and start from scratch redeveloping the whole project by myself. If anything that gave me the confidence that only comes from seeing what a crappy job other people are doing and that it’s going to be hard to be worst.

Of course there are so many professionals that are much much smarter, more knowledgeable and clever  than me and they are the people I always try to learn from!

I totally agree with Kevin, education is very important, but at the end of the day what we do as developers is solving problems.

Leave a Reply

Your email address will not be published. Required fields are marked *