Another week, another inspirational nugget and technical article.
Inspirational Nugget of the Week
Don't Take Orders, Make Suggestions!
There are times when you're just bored with your (software engineering) job. You don't feel engaged working on the same projects day in day out. You're always getting the boring tasks from your manager. It's so unfair! You're so bored that the projects you're working on don't mean anything to you. So what if they fail? It's the manager's fault! You just did what you were told!
In such a situation, it's easy to complain about everything and everyone. After all, you're doing what you're told and that can't be wrong, so everyone else must be wrong. This quickly becomes a vicious cycle of complaining, not being engaged with work, getting boring tasks from your manager, and complaining again.
To get out of a slump like this, you need to become proactive. Instead of taking orders from your manager, make proactive suggestions to them. Shape your future work. Be your own boss in a sense of the word.
Making suggestions will help you become engaged with your work again. Instead of doing what you're told you're shaping your own ideas. Even if those ideas get shot down, they show your engagement and you will have had fun working them out (at least as long as not all of your ideas are shot down, in which case you have to either re-think your ideas or your switch workplaces).
Making suggestions can take many different forms. Here are some that I have successfully applied in my work.
Write a decision record. This is a classic in software development. Some technical (or not so technical) decision is to be made. Do we use Framework X or Y to do the job? Should we build Feature Z in this way or in that way? Instead of just making this decision implicitly, or letting someone else tell you how to do it, make the decision very explicit. Write a decision record in a Wiki or whatever tool your company is using for documents. Think through different solutions and write down their impact and what it means to build them. Then, share the decision record with the team and ask for comments. Even if the decision will be the same as your manager said, you have engaged with the decision and it will be so much more fun to work on it. It will also show your manager that you're capable of making decisions yourself and maybe next time they will let you decide from the start.
Write an RFC. If you have an idea but aren't sure if that idea is worthy of following up, write it up as a request for comments (RFC). Explore the idea in a document. It might be an abstract, high-level idea like "we should implement Domain-Driven Design and here is why", or a very concrete detail like "we should build feature X and here is why". Important is to answer the why, of course, to get people to buy into the idea. Then, share the document with whoever can provide valuable feedback on the idea. Maybe it will gain traction and maybe not. In any case, you will have shown to be proactive and it was fun to explore the idea. If it gains enough traction, you may be recognized as a change agent in the team/company, which will be even more fun!
Facilitate a retro. Volunteer to facilitate a retrospective. Especially if your team is not in the habit of doing retros. Being the moderator of a retro allows you to drill down into things that are important to you. Don't misuse your moderator status, but use it to nudge the meeting into a direction you think is meaningful. If retros are considered unfashionable in your company, call it a "brainstorming session". Get inspired by sites like Retromat and generate actions from the meeting. You're probably not the only one feeling the need for change, so use that to your advantage!
All of these things have to do with being proactive. To feel engaged with your work, you need to have control over it. Don't take orders, make suggestions instead.
This newsletter has been inspired by the book "Turn the Ship Around" where this idea has been applied to a nuclear submarine crew. A fun read :).