From someone who has been there, here are a dozen tips for software engineers who want to
climb the corporate ladder:
-
Be an outstanding software engineer. This can’t be overemphasized. Meet and exceed the
expectations for your position. Make sure you know exactly what those expectations are.
No matter what career path you’re interested in, technical or managerial or some
combination, ensure that you’re excellent at your current job. If you’re not, find a way to get
there.
-
Demonstrate passion/enthusiasm for software development and for your projects. Work
hard, meet deadlines, get things done, and maintain high quality. Complaining about
management, schedules, testing, documentation, customers, etc. is counterproductive, and
saps your energy and the energy of those around you.
-
Be a team player. Work well with people in your team, as well as others outside your team.
If there is a test/Q&A group, work cooperatively and productively with them. Don’t take
offense when someone finds a problem in your code. Fix it, learn from it, and catch that
class of error with your own tests so that it will never happen again. When there is
disagreement, friction, or tension within the team or between teams, find a way to help
resolve it. Humor, as long as it isn’t destructive or inappropriate, is a great help here. When
you need to be a naysayer, propose a feasible alternative approach.
-
Ensure that your verbal and written communication skills are excellent. You’ll need to be
great at writing crystal clear technical specifications, communicating effectively with non-technical people,
presenting to groups of all sizes, using email effectively, communicating
effectively with others who don’t share the same spoken first language, etc. For many
software engineers, this requires a lot of effort and a willingness to step outside your
comfort zone.
-
Tell the truth and be diplomatic. Your integrity is incredibly valuable. If you lose it by lying or
cheating, it’s very difficult to win back the trust of others. If you need to provide negative
feedback to someone, don’t do it in front of other people.
-
Care about others. I know this sounds odd, but you might be surprised at how many
engineers are so narrowly focused that they don’t want to be bothered with people.
-
Find out exactly what the requirements and expectations are for the next level, whether it’s
technical, managerial, team lead, etc. You can typically get this information from an
employee handbook, human resources, or your manager. Then, start meeting those
expectations. And then start exceeding those expectations. The easiest promotions for a
manager to push through the system are those for employees who are already operating at
the next level. And, some of the promotion requirements can be waived if you’re already
operating at the new level.
For example, I once got a promotion that officially required five years at the previous
level, but the promotion came after only six months. How? By consistently meeting and
exceeding the expectations of the new level. Even though it was 4.5 years too early by
official standards, it was clear that I was already operating at the next level.
-
Be an expert, a mentor, a resource. Be the person that others come to for solid advice and
information. Avoid being judgmental or condescending. Share what you know. Let others
benefit from your knowledge and experience.
-
Express your interests. Managers and team leads are not mind-readers. If you’re interested
in a particular career path, or even just some specific project or responsibility, say so.
After changing from a team lead position at one company to an individual contributor
position at another company, I casually mentioned to my manager that I was interested in
leading a team at some point. When an opportunity came up, my manager remembered
my expressed interest and recognized that I had already been demonstrating the required
skills.
-
Learn the business. Gain an understanding of the roles and responsibilities of other teams,
departments, and divisions. Understand how each contributes to the success of the
business. Strive to have a good grasp of the big picture, and then strive to grasp an even
bigger picture.
-
ABL – Always Be Learning. Keep proactively adding to your skill set. This might happen
naturally on the job, or might require taking a course or learning on your own. Don’t remain
stagnant. Balance improvement of hard technical skills and soft skills.
-
Be the type of person that others look up to and aspire to be. The best way to earn respect
is to be respectful of others (at all levels), to help them succeed, to lead by example, to
remain humble (no matter what level you’re working in), and to make the effort to truly
understand problems and solutions. Respect is not something you can demand or require or
buy. You need to earn it.
Some of this may seem like common sense. Some of it may seem incredibly daunting. Some of it
can happen naturally, with experience. Some might require significant effort. Which ones require
extra effort will vary from one person to another.