Linked by Thom Holwerda on Mon 24th Sep 2012 15:07 UTC, submitted by MOS6510

Thread beginning with comment 536333
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.
Member since:
2008-10-09
Been in computer business for 18 years now and professional developer for 10 years. Before becoming developer, I've been everything from the box carrier boy to server admin. One of the things I see very valuable in software business is the understanding how computers work and not just theoretically but you really need to have that sysadmin experience to understand how OS works etc. Many new developers struggle in this part if they came from university and instantly become developers without proper background.
Second thing I've noticed about development over the years is the necessity and ability to hold myself back in a sense the while some things are cool (at the moment) it is not a good idea to use every cool thing in a long term enterprise project. I've had many-many unnecessary struggles where the earlier architect/developer had chosen the framework or library that was the buzzword of the month and now it has difficulty keeping up with the demands of the system. Therefore I've found that reasonable amount of oldschool is absolutely neccessary to be successful in enterprise development where the expected lifetime of the appliccation is 10+ years. You have to really chose the tools that are maintenance-free and rock solid and perform in all conditions.
Lastly I must point out that while it is absolutely cool to build layer upon layer upon layer of abstractions to end up with the coolest architecture on earth, it will cost insane amount of money and nerves in later maintenance phase. Therefore I personally have again chosen the oldschool simplistic architectural solutions where the amount of abstraction is minjmal but you have instant clear understanding what part of the app does which task.
And I am in love with MVC paradigm where you have the fat but intelligent model, and then just a thin controller and view layers. Works everywhere from embedded apps to big enterpise intranet solutions