Thursday, September 02, 2010

Attended a software design lecture

Three are the hackers and there are the regular guys. Unfortunately for me, I am not much of a hacker, I don't write incredibly beautiful code, but I like what I do. I ended up attending a talk on software design a few days ago hosted by an Ivar Jacobson. Whom seems to be working on a software design frame work called Software Engineering Method and Theory (SEMAT). Unfortunately, the talk was light on the details, but the claims are grandiose -- the next swiss army knife for all programming architecture, whose goal is to help people/organization write code that is useful, extensible and reliable.

The lecture was carried out in English, and I've forgotten how fast my brain works at absorbing information and coming up with interesting questions/problems to ask on the fly. It's something that I've missed for a while now. I just haven't had a high level of discourse in a while, meaning that I think I am just itching to find some really smart people to work with... but I digress...

I will admit that writing software can be an incredibly complicated process, especially when the requirements) or even the challenges) are not well understood. I would argue that "you don't understand the true nature of the problem until you try to solve it," and after a few (or many) false starts, does the gravity of the problem starts to sink in.

The unfortunate (or fortunate) thing for me about programming is that I am self taught. I don't have a whole lot of exposure to code written by other people, so I have very little of a reference point of comparison when it comes to comparing the work I've done to other people. I generally start getting a bit of a headache when the project I work on starts to get pretty large there is a big code base to keep track of and keeping it organized is rather tricky.

The interesting thing about the talk, however is the state of software design in large software firms, and it appears that the state of programming is somewhat abysmal. From what I've heard, Microsoft spends about 75% of its development costs testing code and it can still be really buggy at times.

Interestingly, we are starting to see the tide turning against large software corporations when it comes to startups. Teams of approximately 5~10 people have been able to develop quite popular internet sites and bringing in significant revenue when they were able to develop their software on a shoe string budget. For the project that I am working on right now, we have a budget of many tens of millions of dollars and we still haven't seen any big returns on that investment yet.

I believe in being small and effective with money and it seems like big corporations are really crappy at doing that.

No comments: