I had this discussion with a manager in my company. I tried to explain to him the difference between simply writing code that solves a problem and doing actual engineering work where a modification is thought over in the context of a bigger picture. Now this manager has a BA in CS under his belt, so I was very surprised to encounter such a strong opposition to my explanation. The way he described it, it is up to management to decide whether to invest company resources in better design now or in code maintenance later.
to put it in his own words "you will have this release delayed just for the sake of your software engineering principles"
I was left speechless and more then a little insulted, is that what software engineering boils down to? is all the stuff I learned at school just some sort of ideals only applicable in an ideal (none existent) world?
I am now adding a few more nested if-else to a function over 1000 lines long and who knows how many if-else . I have never felt less certain about my decision to be a professional in this area. Is my current company, the exception or the rule? What is the point of spending 4 years in college when a simple programming course can achieve the same results?