Thursday, February 14, 2008

Sw: Craft, Engineering or Science?


Sofware is part Maths, part Engineering and part Craft. Remove any of the parts and you have a mockery, so all the 3 ingredients are essential. If you remove maths: you cannot deal with types, compilers, complexity, algorithms ... If you remove Engineering: you miss teams, planning, standards, quality, time, cost and risk analysis, design ... If you remove craft you are condemned to repeat the same solutions for any problem because the only way to learn to do sw is by doing it (know-how).



Modern curricula try to specialize people in giving more weight to one of the components. When is a person ready to specialize is a personal issue. Some people are great with abstraction and cannot deal with real life details, other people work better alone and are extremely creative, while others are great at communication, dealing with people, coaching and coordinating. But, independent of your strong points, if you cannot deal acceptably in the three areas you will not be a good sw person. Not that you cannot do great things, but extreme specialization is for insects!

No comments: