I've been thinking about why so many software developers feel this way, and among other things tried to explicitly distinguish[1] between three activities:
1. Programming
2. Coding
3. Software engineering
I had defined them as follows:
1. Programming is solving explicit problems in a verifiable manner.
2. Coding is expressing a programming solution in a formal language.
3. Software engineering is building a product for the real world.
I believe most of us here (and the OP) have this kind of relationship with the three, best case scenario:
1. Love programming.
2. Enjoy coding.
3. Tolerate software engineering.
Burnout, depression and disillusionment rarely come from 1 (pure, strict math world), might occasionally come from 2 ("bad" languages, "messy" frameworks, etc), but generally comes from 3 (business, politics, communication, value, finance).
Perhaps, it's a good idea to pinpoint the intrinsic "passion" (whatever you wanna call it) and differentiate it with accidental complexity of the real world.
1. Programming
2. Coding
3. Software engineering
I had defined them as follows:
1. Programming is solving explicit problems in a verifiable manner.
2. Coding is expressing a programming solution in a formal language.
3. Software engineering is building a product for the real world.
I believe most of us here (and the OP) have this kind of relationship with the three, best case scenario:
1. Love programming.
2. Enjoy coding.
3. Tolerate software engineering.
Burnout, depression and disillusionment rarely come from 1 (pure, strict math world), might occasionally come from 2 ("bad" languages, "messy" frameworks, etc), but generally comes from 3 (business, politics, communication, value, finance).
Perhaps, it's a good idea to pinpoint the intrinsic "passion" (whatever you wanna call it) and differentiate it with accidental complexity of the real world.
(edit: formatting)
---
1. https://rakhim.org/2019/11/coding-vs-dot-programming-vs-dot-...