I’ve spent over a decade working as a software engineer, and during that time I’ve learned a large variety of different techniques for effectively writing software and leading teams. This blog post is not about any of those techniques. Instead, this blog post is about the skills that will make you better at your career, not at your job. Here’s some things you can expect to read about, among others:
- How and when to react to feedback
- Interviewing, even if you’re not looking to move
- How to choose what you focus your efforts
There’s a lot of skills that go into building a career (in software or any other field), and many of them won’t help you day to day. But when you need them, they will have a huge impact on your progress.
Learn to get good at regularly recognising and recording your strengths and weaknesses. This is uncomfortable for just about everyone (just listen to your coworkers when self-assessment time rolls around), but people who practice this skill of accurately communicating their strengths and identifying their weaknesses will not only progress faster, but will also find this much less stressful. If you learn how to be candid about your weak areas, when you improve you will be able to clearly demonstrate it, and that will lead to recognition of your growth more consistently.
When you’re talking about your weaknesses, it can be helpful to talk in terms of the growth you want to achieve, ideally using SMART goals: This is an opportunity to get better at something, so communicate in those terms.
Graceful reactions to feedback
Giving feedback, particularly critical feedback, can be a really challenging thing to do. You need this information to improve; never punish people for giving it to you. Thank them for their input, ask clarifying questions if you’re not sure what they’re talking about, ask for examples of the behaviour being discussed. This can be difficult, particularly when feedback is challenging or even frustrating, but it will get easier with practice.
Soliciting feedback is a good way to practice this, particularly with folks you trust; approaching someone who you know has your back will set you up for success in less familiar territory.
This applies particularly to feedback that will not prompt change. There will be times in your career when someone wants you to change the way you act and you choose not to make that change. You should still be grateful for the feedback, and make sure to absorb that they want the change, whether you choose to act on that or not.
When someone gives you feedback, it is important to show them that you’ve heard them. Not all feedback will prompt a change in behaviour, but a lot of it will; consider asking “How can I improve on this in the next week?” and see if it’s possible. You’re looking to find a way to demonstrate to the person giving you feedback that you’ve heard them. This is hard to do at the start; change is uncomfortable. But learning to quickly demonstrate being willing to improve and grow will make people much more willing to give you feedback, which will get you more opportunities to grow, forming a virtuous circle.
Interview skills are often discussed in terms of practice interview questions, but I’d like to explain in part why they’re so important: Developers stay in jobs about 2 years on average. Typically, a company will not adjust salary until at least 6 months after joining, often a year. This means that failing to get a good compensation offer when you join will likely suppress your salary between a quarter and a half of your worklife, on average. It’s clear to see why this isn’t desirable.
There’s lots of articles on developer-specific interview advice, so I’ve decided to advocate for something that we do everywhere else instead: practice the real thing. Interview even when you’re not looking for a job; build those skills, keep the confidence up, and sometimes you’ll get an offer or find an opportunity that’s worth moving company for. If you’re not ready for that, ask a friend or a coworker to interview you for an imaginary role, until you’re ready for the real thing.
Do what you want to get better at, not what you’re good at
It may seem trite, but when we practice something, we get better at it. This means that what we choose to spend our efforts on, are the main things we get better at. It’s not uncommon for people to avoid trying their hand at something that they want to be good at, because they’re not good at it yet. This keeps them stuck where they are, getting better at the other things they’re good at, and whilst that happens, what they want to be good at comparatively falls behind. Start doing what you want to be good at as soon as possible, and stick to it if you want to get better. Don’t shy away from admitting if it’s not your strong suit: When you’ve learned to do it well, you can show it as an area of growth.
Look for the next thing
Keep looking at what those around you are doing, and try to see the negative space between them: What is nobody doing right now? Could you be doing it? Do you want to? This might be writing more documentation, or other types of glue work. It might be infrastructural changes, or other work that improves the efficiency of your coworkers by improving their tools. Don’t shy away from something because no-one is doing it; if you are the first, you’ll have a headstart, and soon people will be asking your advice on it!
Another way to find the next thing is to look at what the people you admire the most are doing, and seeing whether you can use that to achieve your goals. Good ways to learn in this situation are offering to assist them, or to shadow them as they do something you want to learn.
There are a host of skills that are not directly useful day to day for your work that are going to have huge impacts on your ability to build a career. Deliberately nurturing these skills is the best way I know of to make sure that all the hard work you put in learning how to be amazing at your job gets recognised, which in turn means you will get the recognition you deserve for all the ways you’ve grown and developed in your day to day life.