For the majority of my career, I have elected to work on a freelance basis. In the beginning, this was because I was willing to live a modest lifestyle; today, it is mostly down to habit. I have always told myself that I would like a permanent role in a new or existing company, but only when I found the right one.
This is because I am ambitious as an individual, and not a great fit for big corporations. I work well as part of a team, but I cannot be bought, and I value my freedom to experiment and to share my expertise with others far more than I value a higher salary or company perks.
One of my long-term ambitions is to write about web software stacks and to educate others in the art of front-end and back-end development. Another ambition of mine is to further the web as a platform by one day contributing to the W3C specifications. I have many ambitions, and I am sure they will not all come to fruition, but I would prefer to die trying over not trying at all.
I am a firm adherent to the ‘less-is-more’, Occam’s Razor approach to software design. That is not to say that I shy away from complexity, but I do frown upon it. Complex problems do not necessarily require complex solutions, and I have found it to be true — more often than not — that if a solution is moving slowly, with constant problems, it is not likely to be the best solution.