Since I took up gardening I’ve developed a more nuanced view on this. For perennials, there’s a way a plant “should” be but the plant is organic. It has a life of its own. Trying to force it will kill the plant. There is a tempo to bending it to your design and for some plants you need a five year plan to get there, and the plan changes several times.
For software I don’t have that much patience. I change jobs more often than houses, and I expect a team to listen to reason, so the more like a 2 year plan.
To get A you often have to give up on B or C for a while. Pick priorities that are constructive and try not to grind your teeth while the wheels of progress grind into motion.
Manager says "let's have a weekend pizza party hackathon!!!" and the old-timers are the first to recognize and decline the opportunity for unpaid overtime fixing bugs.
I mean every company wants you to work as hard as possible and turn things around...but now I feel the ones publish it want to put you through the ringer.
yes. and, if I were to pursue a job with such a description, I'd have only myself to blame when the insane conditions started.
Never happened. The company simply limped along in this now-familiar “zombie mode” neither succeeding or failing until it was gobbled up by a bigger mediocre company.
Have you had a part in writing Office Space [0] screenplay? It's Milton's wish.
As a dev you usually stumble upon it for the architecture / coding part. But those are just details. The Domain part is all about the business: where do you add value, what things you can outsource because they're not at the heart of your strategy, which projects should get your better people etc. So I think it can be a good bridge for people who come from tech and want to dabble in the business part of their company.
Pros: I learned how to listen to customers, create proposals that tend to close, and upsell... all while being able to build the end product. This has helped me to close a good number of side projects after I moved back to working for larger companies.
Cons: The challenge working as an engineer in these small firms is that your resources are limited to the budget of the customer, which can be too small to do top-notch engineering work. You can generally find the balance without sacrificing too much quality, but you will never be completely satisfied with your work-product.
Another aspect is meaning of life - if your response is work, then you either have that 0.01% type of work which really matters (and is hardly IT, maybe in Red Cross/MSF style), or much more probably you are just lying to yourself.
Life has so much more meaning outside of work, outside of sitting in front of computers. The older you get the more clear this should be, even if you started as a hardcore IT geek. I know I did, but boy am I glad I moved on.
I still enjoy programming, but it must be purposeful, there must be a goal and a plan. I won’t just habitually open a terminal and start programming something “because programming.”