So you’re a developer and you want to level up. You want to get bigger roles in better organizations and good pay. What do you need to do for this to happen?
I was a founding engineer at hired.com and ended up working on their data science team. I have literally seen thousands of resumes so I have some insights what it takes to make it in the software engineering world.
If all you want is more money…
You could move to where the action is
Want to make more money? The easiest way is to move. If you’re in the United States and are in New York or San Francisco the average salary of developers is MUCH higher than it is elsewhere. San Francisco and New York also have LOTS of available jobs. Go to any tech event and you’ll run into people hiring.
Bottom line: It’s much easier to be an engineer in these locations.
I would say moving is the easiest thing you can do but there are other things that matter too…
You’ll get more opportunities if you’ve worked in a famous company (or have gone to a famous school… like Stanford)
This is a bit obvious but I think it’s worth mentioning. Companies like hiring people who have worked in famous companies.
After you work for Google or Facebook or some famous startup your resume will be much stronger. Instead of having to apply for jobs, recruiters and company founders will start contacting and pitching you. It’s a nice situation to be in and is very much worth working towards.
But what if you haven’t worked for a famous company?… what then? How can you get the chance to work at a famous company? Well… after you move to places where famous companies hire there are a few steps you need to take.
You’ll get more work if you are what famous companies are trying to hire
Here’s something I think many developers don’t really realize… we developers are actually products. We are selling our services in a market to companies who are out “shopping” for our skills.
We operate in a market. Certain kinds of developers are in demand and certain kinds aren’t. If you want to have an easy time getting a job you should aim to be what the market is buying.
Picture a grocery store where the produce section is actually filled with developers and the shoppers are engineering managers. In this grocery store certain kinds of developers are very popular while other kinds are not.
What makes a developer appealing? It’s a mixture of these things: right skills, right price, right past experience.
A ruby developer should check all the boxes that say ‘I’m a ruby professional’. He should have relevant past work experience in applicable positions. He shouldn’t list irrelevant past experience. If he mentions his ActionScript experience he won’t check all the right boxes and he won’t be as in demand.
Similarly, he should be about the right price. If he is less expensive than the market rate people will wonder if he is actually any good and he won’t be as in demand.
So if you want to get a high-paying in-demand engineering job do this. Go study the job boards of a few great software companies and make sure your resume is selling what those companies are buying.
If money is not enough… you really want to level up and work at the best organizations
Really want to level up though? If you want to really level up you’ll need to become valuable.
In a company you are most valuable when you can directly tie the work you do the customer value your company is creating… and your work amplifies the work of the people around you.
Directly tying your work to the value your company is creating
Directly tying your work to the value your company is creating involves intentionally working on the things that matter the most to your company.
Let me give you an example. If the work you do generates 30% more leads per month that probably matters. In contrast if your work resulted in a few reports the executive team glanced at for a few minutes (and then ignored) that probably doesn’t matter.
It can be challenging to get yourself into a role where the work you do matters. A lot of roles in companies are support roles. There is nothing wrong with these roles but they don’t provide many opportunities to create business value.
When you’re up for a promotion or thinking about accepting a job I recommend thinking very hard about whether the new role you are considering is for a ‘core’ (part of how the business makes money) business role or a ‘support’ business role. Roles that support the core business will usually lead to more opportunities for you to be valuable.
Amplifying the work of the people around you
Amplifying the work of the people around you involves shifting your focus from the work you do to the work that your colleagues are trying to do.
How do you amplify the work of the people around you?
Get good at writing.
Writing helps you clarify your own ideas, communicate them to others and get groups of people on the same page.
Engineers can amplify the work of their fellow engineers by writing documentation for the work they are doing, writing design docs (which have the added benefit of giving them a chance to focus on the problem they are trying to solve before jumping into technical solutions), and articles (if they feel like it).
Get good at politics.
Many engineers hate company politics. It’s true that it can be incredibly challenging to work with other people… but it can also be very rewarding… and it’s something you can get better at.
Politics is really about finding ways to help the other people in your company achieve their goals while working on achieving your own.
Some things you can do to get better at politics include…
- Putting some effort into identifying what matters in your organization and positioning yourself close to that work.
- Thinking about how you can help other people in your organization get what they need and want. You really want to make the people around you successful.
- Practicing using your writing skills to explain to others why what you do matters.
If the work you do makes companies and the people that work at them successful then you will be valuable. You will probably have no shortage of job offers and you can count on a very high salary.
I hope these ideas are useful to you in picking the moves you make in your engineering career.
I wish you luck and lots of success!
Did you enjoy this post?
Then consider signing up for my newsletter. I email from time to time with the latest insights from my business and research. Drop your email in the box below and I’ll send new stuff right to your inbox.
Absolutely no spam, ever. Unsubscribe anytime.
Want more? Then check out my other posts
- Picking a real world data project after you’ve learned Pandas or R
- Research technique: Use the US Trade Database for market research
- How to use the Wayback Machine to learn how other sites evolved over time
- Seeing customer development in action
- Why it’s a good idea to use a high stakes call to action in a landing page test