Hacker News new | ask | show | jobs
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.

2 comments

> 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.

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.

couldn't agree more! these people who are not that passionate and build software for a living tend to care less, and when we care less we do more. also rarely they come up with crappy solutions, that might not be good but work. making things even harder for the passionate perfectionists.