Friday, July 3, 2009

Software Development as a Profession?

A few years ago I used to be quite active in Rails community and then I stopped. I haven't been to a Singapore ruby/rails community meet up for 2 years and many of my friends ask me why - if I completely moved from Ruby to Python or simply what happened. Even though, I spend more and more time working with Python, I am still spend 13 - 14 hours a day doing Ruby programming. The actual reason has much more to do with Rails positioning. Back in April 2007, when the Singapore rails community was just starting to form and we had our first bigger meeting I wrote about it here. Most of it is now irrelevant but I was quite surprised when I read my 2nd point - purpose of the meetings - especially the part about the community divide to free hackers and enterprise developers. Back then I believed both were good and necessary for the community. I still believe it today only the situation has changed. While back then it was pretty much balanced, most of the community today consists of free hackers. After Dave Thomas moved from programming to music (okay - from rails to ruby 1.9) there hasn't been anybody to represent the enterprise interest and the rails community and rails image evolved to a cool web 2.0 free hacker paradise with little interest in enterprise.

This became very clear thanks to Bob Martin's key note on RailsConf '09 and very nice rebuttal by DHH.  Actually I've listened to that key note for several times now - Robert Martin is so expressive and (using the Smalltalk parallel) so diplomatic delivering something so critical to the community. For the past year and a half, I've been fighting with so many of the things he mentions - so many things I couldn't understand but make so much more sense now. 

It makes so much sense what he says about arrogance - I usually call it the 'cool' factor. Not doing the dirty job and only doing the clean things. Belief that our tools are somehow better, that our language is so good that we don't have to follow the rules, we don't have to do the regular (enterprise) things. It may be one of the reasons why Ruby still doesn't have a proper PDF or Excel handling libraries. The problem here is that this kind of arrogance is usually very subtle - but hits really hard and on places you would never expect. 

Rails is too easy to make a mess. This single statement pretty much sums up everything I said last week about software development being hard. Yes Rails is easy - in fact so easy that it makes you believe there is nothing you couldn't fix overnight. It's so easy that it makes you believe you don't need to know anything else. The problem is that all that ignorance will come back 3 months down the road (hopefully you'll be able to quit and let somebody else handle the mess).

Clean code. You look at the method it's pretty much what you'd expect. 

TDD. As a programmer I pretty much grew up on books and blogs of people like Martin Fowler, Robert Martin, Dave Thomas, Kent Beck and others from the group. TDD was the only way I was able to work. TDD is a No 1 book on my list of books for beginners. Yet I've been having the hardest time selling TDD - even to my own employees. They all know they HAVE to do tests - but only very few of them do it voluntarily or really understand why. TDD is simply not a culture around here (SG) - in fact, many find TDD culturally insensitive - at best a nice theory but totally useless in practice - just go through the Singapore ruby mailing list. Sensitive or not - it made it to our contracts for software developers.

Lastly, the discussion goes to software development as a profession and to what constitutes the professional portion of our job. Surprisingly enough, Robert Martin seems to think it's the discipline, rules and principles, it's the tough things we have to do and it's keeping them up when the pressure of a deadline mounts.  While there are people that are against being professional (see the DHH's rebuttal), for many people around me it makes sense. It seems so obvious that no body is really doing it.


  1. Có làn da trắng là mong ước của mọi cô gái , sản phẩm thuốc ivory caps giúp trắng da toàn thân ngoài ra bạn cũng có thể sử dụng các loại kem chống nắng. Ngoài ra nếu bạn muốn làn da luôn tươi trẻ thì nên dùng my pham sakura như kem chong lao hoa sakura giúp làn da luôn trẻ đẹp xóa các nếp nhăn. Cách thuoc herba vixmen an toàn và hiệu quả bằng herba vixmen , vậy thuoc herba vixmen co tot khong , có an toàn không và mua ở đâu sẽ được cho biết sau đây. Sản phẩm giúp bà bầu và thai nhi như dinh dưỡng dành cho bà bầu sẽ bổ sung chất dinh dưỡng cho cả bà bầu và thai nhi. Nếu bạn bị thâm nách nên dùng thâm nách under arm hiệu quả và an toàn.

  2. This is such a great resource that you are providing and you give it away for free. I love seeing blog that understand the value. Im glad to have found this post as its such an interesting one! I am always on the lookout for quality posts and articles so i suppose im lucky to have found this! I hope you will be adding more in the future... Search Engine Scraper Bot

  3. Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place.. Travel Fare Proxies

  4. FOXZ88.NET online casino website Global standard 2020-2021

    Betting online gambling reminiscent of UFASCR.COM Baccarat.

    UFABET football betting website, the big brother of all UEFA networks, UFADNA, with an update The first modern system in 2021

    Web football i99PRO online lottery casino apply today for free 5000 bonus

    Kardinal Stick Siam - Relx a great promotion. Express delivery in 3 hours.

  5. a fast Online football betting Online casinos Baccarat online In an easy fashion, i99PRO 24-hour service can enable you to pleasantly bet on boxing. And in addition boasts a total service Open just one site, it could do all that. As the center wants actually There's also a Call Center staff members that are manufactured 24 hours 1 day plus the site of ours is a wide choice of expert services including internet football betting. Boxing betting on the internet and casinos that can be starting to be famous in this dimensions. And still popular as among the top. Our i99PRO site in addition has garnered the confidence and total satisfaction of many gambling enthusiasts. And in addition offers a wide choice of football, lottery, basketball, boxing, internet casinos And there are a lot more additional sorts of sports awaiting one to come in.ilver fox

  6. This comment has been removed by the author.

  7. good content of yours!!keep it up. if you feel great your free to check this out.
    carbon fiber wrap las vegas
    loved this!

  8. Hey,
    I’m impressed by your blog. Absolutely amazing work.

  9. This comment has been removed by the author.

  10. thank you for sharing best opinion following us. i at the back of your say and all you share in the back of us is uptodate and quite informative, i'd in imitation of to bookmark the page suitably i can come right here once more to retrieve you, as you have got finished a terrifi process.! Free Windows 7 Professional Product Key

  11. I in plan of fact respect the fine of subjects you proclaim here. thanks for sharing us a on your liking opinion that is certainly obliging. good hours of day!! Microsoft Office 2010 Crack Free Download

  12. love to see this article its content was wonderful.
    Idm Crack