Your career is your responsibility
A tale of two employees
Firstly, let's set the scene by considering one employee called Alice. She joined a company a couple of years ago and she's really enjoying her job. She works with a team that gives her enough autonomy to work in the way that she wants, using the tooling that she prefers. She feels that she can pick and choose the work she is most comfortable with in her team's sprints, and she's given some technical talks to the department recently; she is working on her public speaking. She attends a conference of her choice each year, and she has started mentoring a graduate developer who has recently joined the company. In the recent company survey about employee happiness, she was extremely positive in all of her responses.
Next, let's consider Bob. He joined his company a couple of years ago, and he's stuck in a rut. He never feels like it's clear as to what he should be working on during each sprint, and he feels stuck with the tools and language that were provided for him. He's never been asked to speak about any of his work to a wider forum, and has never been asked whether he would like to attend any technical conferences. He's quite unsure about whether he wants to stay at the company as he's never been shown what his career progression should be. In his recent company survey, he gave some very negative answers.
Sounds like two very different situations, doesn't it? Well, Alice and Bob are actually in the same team, and they're both Java developers. What's going on?
It's your call
The difference between Alice and Bob is that Alice is proactively seeking ways to make her job more fulfilling, and Bob is expecting to be told what to do. Even though it is a manager's responsibility to ensure that their direct reports are motivated and are having a positive impact on the company whilst being fulfilled in their career, there can sometimes be a misunderstanding about who is actually responsible for planning that career. In my experience, there is only one answer: the employee themselves. The manager facilitates it happening.
Given a choice between being passive and active in the way your career is going, you should always be active. Now, it's impossible to write an article that will help you define exactly where your career will want to go. We've written before about the two tracks of growth and also whether you like stability or change, and if you've not read those before, then they might serve as some inspiration. However, regardless of what you feel like you want to do, or how you want to grow, I would heavily encourage being entrepreneurial with your career. Find out what you want, and then think about ways that you can get it.
There are broadly two ways in which you can affect growth in your career:
Growing outwards: where you focus on improving your existing skills to become more of an expert at your current role. This aligns with an individual contributor career track.
Growing upwards: where you focus on beginning to experience what it's like to operate at the next level up in the org chart; aligning with the management career track.
Let's have a look at some ways in which you could actively grow, motivated by yourself and on your own terms. If you feel uncomfortable just doing these things in case you feel like you may be overstepping your mark, then perhaps bring them up in your next 1 to 1 with your manager first.
Growing outwards
There are many ways that you can, of your own volition, hone your existing skills whilst doing your existing job. These will require self-motivation and an entrepreneurial attitude towards your own development, but they are rewarding. If you have been previously feeling stuck, you may actually find that you have more autonomy in your role than you first thought.
Mentoring others: One of the best ways to become more knowledgable and to more deeply understand what you currently do is to teach others. It gives you the opportunity to train a more junior member of staff, hence improving the overall output of the department, but, at the same time, it allows you to reflect on the way that you solve problems yourself. Mentoring can be done in a number of different ways. You could seek out a more junior engineer and introduce yourself, or you could regularly encourage pair programming sessions with those on your team. Another strategy is to advertise "office hours" in your schedule where anyone can drop in with a problem that you can help solve together.
Giving talks: Whether you are a fan of it or not, getting better at public speaking is a life skill rather than just a career skill. What better opportunity to practice than to speak on subjects that you know a great deal about in front of friendly people from a similar skill set? You can start small by encouraging an informal talk slot at regular intervals within your team, or you could give a department-wide talk if you're feeling brave. Even better still, submitting abstracts to conferences and then getting accepted is a great way of forcing yourself to dedicate time to doing a great talk. Once written and done once, you can take that talk and do it again and again at different meet ups and gatherings. Similar to running a marathon, you don't become an expert by default. Public speaking requires practice, practice, practice.
Actively seeking training: Don't wait to ask whether you would like to go to a conference, just ask! If you find out there is no budget, see if there are some cheaper alternatives. Perhaps you could volunteer at the event in exchange for a free ticket. Additionally, ask whether the company could arrange other types of training that you might find useful, such as public speaking classes or finding you an external coach. You'll never know if you don't ask.
Seeking out the latest technologies: Spend time during the week reading the latest developments on open source projects, via news aggregator websites such as Hacker News or project sites themselves such as the Apache Incubator. Perhaps have a browse while you eat your lunch. If you find something cool, share it with your team. Could one of these open source projects be considered for your next piece of work? Could you do a prototype with it?
Building your network: Think about how you can make influential connections both inside and outside the business. For the former, a previous article addressed how you can begin to make additional connections. For the latter, see whether your work will let you leave a bit early once a month to go to that interesting meet-up where you can connect with other likeminded people who work for different companies. You'll probably learn a bunch of new things and have a lot to offer others as well.
Growing upwards
The previous section looked at some different ways of honing your current craft through teaching, speaking, learning and socializing. However, for engineers that want to get into management but feel stuck as to how to do so, how could you be entrepreneurial with your time so that you get experience of what lies above you in the org chart?
Speak out! This almost goes without saying, but if you're interested in growing further in the management track, then you need to make that known. This allows your conversations with your manager to start aligning around the skills and experience that you're going to need to work towards. Bring it up as soon as possible; don't wait for end of year reviews.
Shadowing: Your manager will be doing all sorts of activities that you currently aren't privy to. These can include meetings with their peers in the department, steering meetings about roadmap, budget and priorities, or reporting up into the executive. Why not ask to see whether you could attend some of these sessions to hear the discussion and get involved. You will naturally gain access to other notable people in the company by doing so, and this can help grow your network.
Ask to be delegated to: As well as attending particular meetings, there are activities that your manager does regularly that you could ask to gain exposure to. You could work on some of these things together so that you can gain some experience, or perhaps they could be delegated to you completely. Examples include getting involved in budgeting decisions, having input in the overall technology or product roadmap, doing interviews, or simply acting as a sounding board to help with their own decisions. You'll gain some interesting insight into how their world works.
Network with others in your company: Make sure that you don't cut yourself off; take time to network with your peers, and depending how accessible they are, those that are more senior than you. Why not invite people out for a coffee at lunchtime to get to know more about them and what they do? Conversations can help you learn more about different paths you want to choose in your career. The more that you get to know everyone, the more that people will be willing to offer you that next opportunity.
In summary
It's important to take control of your career and be proactive and entrepreneurial in how you spend your time and energy. Over time, the difference between someone who is proactively seeking knowledge, experience and opportunity and someone who isn't continually widens: those who do not seek may find themselves in the same role feeling unhappy, and those who seek may find themselves with many opportunities and a deep satisfaction for their work and those they work with.
Own it and challenge yourself. You'll never know where you'll end up.