I have over 10 years of experience. In my experience, stress in programming is related to deadlines. Sometimes, our customers -internal or externals- set unrealistic deadlines to deliver. And of course, and especially when you are new, it’s hard to say “no”.
With time, I learned that the answer to “I want it done, and I want it by tomorrow!” is “and I want a red Ferrari, but that is not happening either”.
A software product can have 2 of these 3 characteristics:
- Done fast
- Work well (good quality)
- Easy to use (well designed, not cheap)
If you want it done fast and for it to work, don’t expect to be easy to use.
If you want it done fast and for it to be easy to use, expect a piece of crap.
If you want it easy to use and to work well, it takes time.
If you want the 3 of those, you will be disappointed. And if you demand that from me, I will not deliver. And if by not delivering, it means I’ll be fired, then, I get stressed out.
So, the main source of stress is unrealistic expectations. Once that is controlled, things are much easier. And in the end, better for the programmer, the customer and the company.