I've been a software developer for more than 15 years now. There have been lots of ups and downs. It feels fantastic to label a project "done" after month of hard work. At other times I wished for another job and really hated everything about development.
It's the lengthiness of projects that made it increasingly difficult to love with my work. But all of that changed just recently.
I wrote a lot of software using PHP or Perl. Those who know me know that I don't limit myself to those languages at all but that's what sold best. Yet despite my wealth of experience with a number of programming languages I never managed to develop my own product.
Still that's what I want most. I know that I have only so much energy left after my daily work is done. Asking a developer to work for eight hours a day is just not realistic. Squeeze four hours out of a creative programmer and you're lucky.
Building my own product on the side however takes a lot more than that. After my eight hours jobs are over I'd still have to put in a few more hours every day. For a while that's doable but not in the long run.
So how to solve this problem? Simple, use modern technology rather than the common patterns you're used to. PHP does a fine job if done right. Use a framework like CakePHP or CodeIgniter and you'll save tons of time in development. Yet still it takes quite a bit of time to get basic issues like user logins right for each individual project. SQL isn't really helpful either and even so there are module systems like PEAR I don't really like using them.
I consider those languages, as good and useful as they are, old world languages. The day I discovered JavaScript for me was a revelation and these days it's no longer limited to the browser. Node.js is a great example. A lot of common tasks are handled by modules that are easy to manage and are pretty common to use.
Attach that to a noSQL database like CouchDB or MongoDB and you've cut down development time significantly. Just recently I discovered the kanso famework allowing me to reduce my stack even further. I've played with CouchDB and CouchApps a while ago yet it's kanso, that really got me excited.
CouchApps live wihtin CouchDB itelf. They're written in JavaScript and require only little code to get Webapps running. There's no need for SQL, kanso provides a great module system similar to node.js and almost the entire app is written in frontend code.
I'm impressed on how fast I'm able to develop apps now. A lot of the basics just work and I can focus on what matters most. Armed with these new world tools I'll sure be able to crank out a product in what little time I have left.
No comments :
Post a Comment