|
|
|
|
|
by sureglymop
442 days ago
|
|
I think the answer is that it depends. Software engineering is incredibly hard if you are a perfectionist who wants to make efficient, secure and maintainable software. But most probably it is not even possible to be that perfectionist and stay within any given budget. And the requirements are most often not your own. The thing is, it's a job that needs creativity, spontaneous decision making as well as personal responsibility for those decisions. It's a real easy job if you don't need to take this responsibility (e.g. those who come after me when I am long gone have to deal with the consequences). It becomes a hard job the instant that you have some passion or ethical concerns that drive you to create software that holds up to your own high standards and requirements. I think that's what makes it so hard for many. We are incredibly passionate (why would we be on this forum in our free time otherwise) but we constantly have to betray our own principles to make it work or stay employed. |
|
This is the hardest lesson to learn for a lot of software engineers. By nature, computers are unforgiving, so a lot(most?) of us are wired to do things 'right'. The apparent fundamental incompatibility of that mindset with modern corporate environments is a pretty painful lesson to learn.
This is not to say that any one of the approaches is the one true approach. To a company software is a means to its ultimate goal of more profits.
To an engineer though it's often both, a means of livelihood and a source of joy. Reconciling the second with the first is easy in theory and hard in practice.