|
|
|
|
|
by kristopolous
2239 days ago
|
|
There's a subculture that's reinvented the merits of software engineering to being as ornate and ceremonious as possible. It doesn't have to work well, or be bug free, or compatible with the previous version, or address any real world need. No! Instead it has to use fashionable technology and be extremely complicated so other programmers can see how incredibly clever they are! Almost like they took a random bug from the issue tracker by looking at last nights lotto numbers and then they opened to a random page of Knuth by letting a fan blow on the pages for 5 minutes and said "alright, I'll solve this problem in that way! Surely everyone will acknowledge my genius!" It may be a slow lumbering buggy pile of brittle barely functional code about to implode, but boy does it look nice! |
|
However, even I can see that a team would get burnt if they built an enterprise software the way I code my personal email client. The problem here is that people forget that building software professionally is an engineering job. Like other forms of engineering, there are processes and good practices to facilitate both functional and non functional aspects of a software and the building process. While the extra burden of version control, testability and extendability takes some of the fun away, I would have reservations working with someone who pushes directly to a release branch, does not write test and hardcode values instead of uaing configuration. It's about balance and realising that job is a job.