paint-brush
How To Become a Senior Developer: Thinking one Level Aheadby@fahimulhaq
3,711 reads
3,711 reads

How To Become a Senior Developer: Thinking one Level Ahead

by Fahim ul HaqDecember 24th, 2019
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

The skills needed to get a promotion are quite different from those you need to land a job. Promotions require a different approach to your skills, value, and relationships in your organization. There are three essential pillars to a successful promotion in the tech industry: technical competence, communication, mentorship, communication and mentorship. The focus of your technical competence greatly depends on your current level as a developer. Let’s discuss some of the tech skills you might not think to develop at different stages of your career.

Coin Mentioned

Mention Thumbnail
featured image - How To Become a Senior Developer: Thinking one Level Ahead
Fahim ul Haq HackerNoon profile picture

The skills needed to get a promotion are quite different from those you need to land a job. Promotions require a different approach to your skills, value, and relationships in your organization. How does one strike a careful balance between passion, ambition, and talent that is needed to get your next promotion?

Let’s discuss how you can stand out, get one level ahead, and get your next promotion. There are three essential pillars to a successful promotion in the tech industry.

  • Pillar 1: Technical competence
  • Pillar 2: Professional communication and relationships
  • Pillar 3: Getting feedback and credit for your work

Let’s examine each of the three pillars more closely and discuss how you can implement them on a daily basis in your career.

Pillar 1: Technical competence

For software engineers, technical competence is crucial to your career success and growth. But it’s important to remember that technical competence involves a lot more than just your coding skills alone. Let’s discuss some ways to think more broadly about technical competence that will set you apart for promotion.

1. Understand the link between tech and business

Having tech skills and competence is great, but do you really understand why you need those skills? Do you understand where you fit into the larger picture? If you’re seeking a promotion, you will stand out if you have a strong sense of company organization. In his article on Product-Minded Software Engineers, Gergely Orosz discusses how good project managers begin as developers who understand why decisions are made about a product. Standing out as a leader amongst developers means moving beyond the joy of engineering to the next-level process of creating a profitable product. An engineer who is thinking one step ahead needs to engage with the “why” question.

One easy way to gain this curiosity and understanding is simply to ask questions. Speak to people in other departments who have a grasp on company infrastructure. Set aside time to develop the skills of a product-minded software engineer.

2. Learn how to articulate your work process

Technical competence also deals with the larger picture: the how and the why of technical processes. A great way to stand out and be one step ahead for a promotion is actually being able to articulate how you problem solve and code. This is why so many hiring committees ask developers to explain their process during coding interviews.

At the end of the day, your manager cares most about your output, your ability to make their lives easier. Being able to articulate how you can do that shows thoughtfulness, self-awareness, and a dedication to the craft that most developers may not think to express.

3. Be invested in your tech education

Yes, having in-demand tech skills is vital. You need to be competent in the relevant programming languages, frameworks, and so on. But, managers and reviewers view the willingness to learn as more important than any skill in particular. That’s why competence is also about adaptation to developments in the field. To think one level ahead, you don’t just need the skills of today; you need to be thinking ahead to the technologies of tomorrow.

The tech industry is constantly changing, being updated, and flooded with new tools. Technical competence, therefore, requires adaptation to continued learning. One easy way to stay up to date is by taking online courses with a platform like Educative that offer real-world problems to solve. Taking a course demonstrates not only technical competence but also a dedication to industry changes. You can show off your flashy technical skills and prove that you’re a value, adaptable asset to your organization.

4. Evaluate the technical requirements of the job you want so you can direct your technical skills/growth.

The focus of your technical competence greatly depends on your current level as a developer. Let’s discuss some of the tech skills you might not think to develop at different stages of your career.

What skills are needed for a Junior Developer

This where you are beginning your career. You aren’t necessarily expected to code as a part of a team yet. Your company may also not expect you to know the so-called “best practices”. Setting yourself apart begins with these two things: showing capacity for tech skills within a team project; improve your individual work ethic. Your overarching goal should be to get ownership over a part of the codebase. If you are the “go-to person” for a project, your value to a company will be more recognizable.

What skills are needed for a Senior Developer

In this role, your focus should be less about efficiency and more about increasing value, sharing ideas, and leadership. Your manager will be less concerned about your tech skills; they will generally trust that you know what you’re doing. Instead, focus on the design, communication, and mentorship aspects of technical competency. Learning how to prioritize different aspects of technical projects shows potential for leadership.

What skills are needed for a Staff Engineer?

At this stage, you should demonstrate a capacity for thinking about team processes. It will be your job to make your team more efficient. Your technical skills, therefore, should deal with intersections: the intersections of different skills, roles, etc. Showing a capacity for organization will set you apart for promotion.

What skills are needed for a Principal Engineer / Architect?

This is a big picture job. To be one step ahead, you need to show your ability to manage large-scale thought, organization, and design. You technical competence should focus on timeliness, as you will be expected to get things out on time. This role requires a strong sense of ownership over a project and its profitability. This job requires a lot of writing. Showing effective writing skills will also set you one step ahead.

To summarize Pillar 1: Develop technical competency that moves beyond the skills you might expect. Thinking one level ahead means understanding how tech skills intersect with the larger picture.

Pillar 2: Professional communication and relationships

Thinking one step ahead to get a promotion is not just about the work you can do. It’s also about the relationships you form in your organization. At the end of the day, you have to get managers and reviewers on your side. So, developing healthy communication skills and relationships is essential to a long-lasting, forward-focused career.

Let’s discuss some of the fundamentals of standing out relationally within your organization.

Develop a character others want to promote/work with

This may seem obvious, but your manager won’t want to promote you if you’re hard to work with or for. Your managers and reviewers care most about one question when considering promotion: will this person make our lives easier? This means that a mental framework for ongoing career success involves a lot more than your hard skills. A hard fact of the tech industry is that hard-skills are replaceable. If you are a developer who only brings hard, tech skills to the table, you may not continue to grow in your career. Instead, consider how hard skills and soft skills intersect to make well-rounded, human-centric workers and leaders.

Here are some important skills and traits that managers look for when considering promotion:

Good time management skills.

This extends to the ability to manage the time of others well, especially if you want to assume a leadership role. If this is something that is difficult for you, consider working on your time estimation skills for projects. Check out our article for some tips here.

The willingness to help others succeed

A worker who only cares about their personal success is not promoting the success of the company. A manager will be far more likely to promote someone who is invested in people.

Willingness to take responsibility for a product

This extends to products that go well and products that don’t go so well. A developer who can take responsibility when things go awry demonstrates growth potential and leadership skills.

Professional communication skills

Remember that your job as a software developer is essentially about people at the end of the day. Being able to communicate well and solve human problems will push your career forward and set you apart as a well-rounded worker.

Take those skills to the next level

Let’s discuss some ways that you can take these skills to the next level and stand out in your organization.

Seek mentorship

Mentors can improve your work, offer you opportunities, and become advocates for you. As you progress in your organization, be a mentor to others. This is a sure way to show your value, dedication to the company, and willingness to lead through example.

Get your manager on your side

To get a promotion, your manager should be invested in your success. Getting them on your side means thinking the way they think. Why should they want to get you promoted? How are they being measured by their managers? How can I frame my value to them?

Ask for explicit feedback

This is an all-round good practice to develop. Asking for feedback from your managers and peers demonstrates humility, an eagerness to grow, and a collaborative mindset. When you ask for feedback and improve your work, you show your manager and team that you are willing to learn and grow.

Don’t alienate yourself

The tech industry is competitive, so some developers think that one-upping their peers will lead to promotion. But, in general, competitiveness is an unattractive trait. Those above you who may see it as a threat or red flag for a potential leader. Avoid standing out by pushing others down. People won’t want to work with you, and they certainly won’t want to work for you. A promotion is not just about “moving up the chain”. It’s also about maintaining a lasting, healthy relationship with your company ecosystem.

Show leadership in a way that’s true to you

Leadership skills are key to promotion, whether this means taking over a project or simply organizing a few members of your team. It’s important to remember that leadership should look different on different people. If you want to think one level ahead, consider the different styles of leadership. Being able to articulate this will show competency and self-awareness necessary for promotion. What kind of leader are you? Are you a democratic leader? Do you lead by coaching? Learn more about leadership styles here.

To summarize Pillar 2: Be the kind of person that others want to promote.

Pillar 3: Getting credit for your work

An important aspect of getting ahead and seeking promotion is being able to prove your worth to your organization. This can be tricky to do, and it can often lead to a competitive spirit that undermines your growth. One of the biggest challenges for tech experts is the ability to demonstrate value and success apart from others. Developing these skills will set you apart. Let’s discuss an effective way of getting credit for your work.

Document your work strategically

An excellent strategy for getting credit for your work is to be methodical about recording the tasks you accomplish. The reality is that your manager doesn’t remember everything you worked on, so many developers don’t get the recognition necessary for promotion simply because their work gets lost in the weeds. In order to think one level ahead, you need to be strategic about proving your worth in a measurable way. Take charge of your accomplishments with a “brag document”.

The goal here is to create a document with tangible evidence that can be used during performance reviews. It should document your skills, patterns, and passions in a way that a reviewer or manager can clearly understand. It should include your contributions to projects, times you mentored others, improvements you made to code, and things you learned inside/outside of work (i.e. blog posts, new programming languages, online courses, etc.). Think of this like the next level of a resume; it essentially brags on your behalf for your experience, growth, and capacity for responsibility.

When it comes to promotions, there is a fine line between advocating for yourself and selling yourself. This method is a clever way of self-advocating that others can easily translate into promotion, pay increase, or benefits. Check out Julia Evan’s article on creating a Brag Document for a template.

Some tips for strategizing your “brag document”

Develop a set of metrics specific to the interests of your company. The right framework and metrics can change the way others evaluate your success. Is your organization invested more in final products or the bottom line? Is your organization interested in utility or process? Consider these factors as you document and frame your accomplishments.

Describe your accomplishments with a problem-solving mentality

Remember, managers promote people who make their lives easier, so using the framework of problem solving will set you one step ahead by aligning your work with the success of your organization. Consider these three questions when documenting or discussing projects you have worked on:

  • What was the problem?
  • What did I do to handle it?
  • What was the outcome?
  • Why does this make me ready for promotion?
An important note: To think one step ahead, your focus should be on quality, not quantity. Just putting in hours doesn't actually show potential. Pulling all-nighters doesn't make you seem dedicated; it communicates a lack of timeliness.

Articulate what your goals are. It’s important to explicitly state what your end-goal is. And those who think one level ahead recognize that this is not just about the job title. A promotion with explicitly stated goals involves desired benefits, freedoms at work, particular responsibilities, or leadership roles.

Don’t only advocate for a job title and forget the bigger question: How do I want my job to look in the future?  When you state your desires and intentions, think holistically. Those in power will be empowered to move your career towards that vision.

Summary of Pillar 3: Go out of your way to demonstrate credit for your work.

Now, go show the world you're ready to become a senior developer.