Resources, Opportunities and Feedback
As a manager, there are lots of things you can do for the people you manage. However, they generally fall into three categories: Feedback, Opportunities, and Resources. Likewise, as a developer, these are the three things you need from your manager. I wanted to call them the Big FOR. That got shot down because it is slightly confusing given that there are only three. But it makes me laugh every time I think of it, and it's better than ROF or ORF, so what are we to do? Naming things is hard work.
Let's get back on track...
We have all been in our 1-1s, and our boss says, "Is there anything I can do for you?" or at least I hope your boss is asking you that. Your answer to that question will fall into one of these three buckets. However, I often get the answer, "No, I'm fine." While this is a totally reasonable answer, it is a huge missed opportunity because your manager is the best person to provide the things you need.
If your answer nine times out of ten is "I'm fine," then it probably means you do not have a plan for how you need to improve. If you had a plan, you would know the things you need to get to the next level, and you would be prepared to ask for them.
Let's dig into each category.
Resources
Resources are the physical and digital things you need to get your job done. These might be the tools of your trade, such as a powerful laptop and an IDE. In the modern world, apart from your device and the IDE, most other resources are provided through access. This includes access to a cloud account, a sandbox, or a third-party tool. These are all the basics you need to do your job.
Once you have the basics, you can start thinking outside the box. For example, AI tools for software developers have emerged overnight. I'm sure many developers had to educate their managers on the value and work hard to obtain that resource. Or maybe you need a dataset for training your own AI models.
Another significant component of resources is access to training. Training is an area where having a plan is really important. There will be training that your manager or HR requires you to take, but often it may not be strategic training.
You need to map out your strategy and identify the training resources you need to reach your goals. Obviously, you can breeze through the required training, but if you can access quality training, you should take your time and take full advantage of it.
The good thing about resources is that, if necessary, you can acquire them yourself. In some cases, this might be required. That's why this is the least important of the big four. In the end, you might need to spend a few bucks, but you can make things happen here if necessary.
Opportunities
Opportunities are chances to put your skills to work. There are tons of different types of opportunities, but they generally fall into 2 categories: presenting and leading.
Presenting is about communicating your thoughts. One of the major forms of presentation is speaking. Speaking is not just something you do on stage in front of a crowd. It can be as simple as explaining a concept to the team or a manager. It can be as big as doing a demo for the whole company. Speaking is a great opportunity, and you need to be able to speak and present your thoughts clearly to be a good leader.
Writing is another form of presentation. Writing may be in the form of a blog post or a technical specification. It can be documentation or an email. Regardless of the form, these are key opportunities for you to grow. Writing allows you time to think through each word. It's a lot more approachable for developers, but good writing is difficult and should be taken seriously.
The second form of opportunity is leading. Leading can also start small. It might start as leading a small project or taking point on a feature. But it can lead to running whole teams and taking point on the most critical projects.
Another thing your manager can do is leverage the business to get you incredible opportunities. There may be speaking engagements that the company would like to send someone to do, but they just don't know the interest. Your company can leverage those relationships to give you opportunities, but sometimes you have to make the first move.
Once again, it's important to know your objectives and have a clear strategy for how you plan on getting there. This will allow you to ask for the leadership opportunities that will best take you on the path.
If you are just going from one opportunity to the next, you may be missing more key opportunities. Saying "no" to some things will enable you to do other things and do them well.
Feedback
Finally, the last thing your manager can offer you is feedback. This is perhaps one of the most beneficial aspects of working with your manager. If you have a good relationship, you can receive valuable feedback about yourself if you know how to elicit feedback. Being good at prompting feedback is a whole post in and of itself.
There are lots of places where you can get feedback. Every conversation should give you feedback. However, there are two main kinds of feedback you should be looking for from your manager.
The first is performance feedback. Obviously, this is the main feedback function the business is looking for, so every manager will give this kind of feedback. Managers are not always great at giving feedback about performance, so this is a great opportunity to step up if you are struggling to get on the same page with your manager about your performance.
Once you are communicating really well about your job and if you are meeting and exceeding expectations, then you can shift your attention to coaching feedback.
Coaching is about working through specific issues. Even if your manager isn't particularly good at coaching, the act of getting feedback about leadership scenarios you are working through will be valuable for you, and it will signal to your manager that you are open to feedback.
Ask your manager their opinion about the things you are struggling with and see what kind of advice you get. You don't have to always follow it, but it's good to lean on their experience to get feedback.
Conclusion
I have only provided a few examples here. Think about it for yourself and come up with your own list. Or if you are following along in my course, use Wardley Mapping to identify the areas you need to improve. There are things we all need to get our jobs done, but often we lack the strategic foresight to ask for them.
Most people expect resources, opportunities, and feedback from their manager. I believe you should be proactive in eliciting these things from your manager. Guide them to provide you with the necessary tools to accomplish your tasks.
If you liked this, consider subscribing to my Substack. I publish an article about software engineering and software engineering management every Tuesday. If you want even more, consider joining my paid content where I am writing a course in real time about making the jump from developer to manager.