Managing your manager and their expectations.
4: Time Management
- Anger management
Pinning the client down to deciding what they actually want/ need from the software. Preferably before you’ve delivered it, not afterwards.
You don’t want the client to choose, he doesn’t want to choose either. Just tell him one is better than the other. Preferably the one that’s easier to transform to the other one if he changes his mind.
PMs and business support people with alcohol abuse disorder
Having to deal with hype cycles. You have to play along even if deep inside you know it’s stupid.
deleted by creator
Dealing with bad engineers on your team.
Commenting.
I suck at it documentation. I always forget to do it, and then I forget what the code actually does, later. Then I spend a few hours analysing my own dogshit code before scrapping the whole thing.
5: Other
3: Maintaining codebases
not if you have invested in making it scaleable. but if you’ve inherited already one from another dev then you’re probably fucked. we barely cared back then about scaleability.
It’s usually the domain knowledge that gets lost over the years that causes maintenance problems not the code or tech.
Why things are done this way gets lost. The decisions that led to it. The hard earned knowledge by the original dev team.
New team comes in and everything they do breaks something else because they don’t understand the up and downstream of their project.
deleted by creator
Figuring out why my perfectly fine code isn’t working as expected
2: Learning new technologies