Four things your manager expects from you
psychology management
It is so easy to imagine that your managers operate on a different level from you. They work on their stuff, and you are supposed to work on code. It is not valid. You and your manager are part of the same team, and the results will be tremendous!
It is part of a manager’s role to make those things as straightforward as possible to increase synchronization, but sometimes it can be hard to express them. Let me try :)
First of all, as a software engineer, you are not there to take requirements blindly. You know how the product is structured and working and what will be the optimal way to implement something. You are there to help your business and product partners to deliver the best possible solution. As someone writing in the code, every day, you will see things your managers will never see. You know what’s possible while they can only guess. Some of the best product features are born because engineers noticed and suggested something.
The next item was repeated multiple times, so it was an easy one to add. Empathy is an engineer’s superpower. Caring about surrounding people will help both your and others’ careers. Being smart or good at what you do does not give you the right to be a jerk. Build relationships with engineers in other teams, and learn about problems they are working on and their solutions. And even better - you might be able to suggest a solution for a common problem that your team has already implemented! If you are involved in the interviewing process, empathize with the people you interview. Imagine if you were in their shoes. There are an awful lot of things they need to know, even if you only ask about the basics. And they have a lot to lose; their income depends on this interview. It is a very stressful activity for them, so support them and show how great is the culture of your company!
You are there to add value first. It could be a new feature or non-functional requirement like performance, but if your code does not add value to the business or users, it wastes the company’s resources. Your code should follow this pattern and strictly in this order. Make it work; then make it fast; finally, make it beautiful. If you follow TDD, you will write a unit test, then write business logic, and then optimize and refactor it.
Much more important is that you don’t need permission to add value. If you see part of the code you can improve, do it. Nobody will ever say to you, “Why did you fix that bug we had in our API? What is wrong with you!?”.
Advocate for junior engineers. Just because they don’t have years and years of experience does not mean they are not good. Being a professional developer does not necessarily mean years of practice; it is about your mindset. Learning specific technology is easy, but using it right is much more challenging. Another reason to have junior members on the team is to promote the mentoring culture. Help others grow, and you’ll grow too.
So to recap and make myself clear, the things that managers actually want from you are:
- Participate in story preparations.
- Be empathetic.
- Value-Driven-Development.
- Be a mentoring advocate.
Let me know what the other “hidden” expectations from managers are?