5 Turning Points That Shape Your Programming Career
By: Li-Hsuan Lung
Tags: Career Advice, Software Development, Self Improvement, Programming, Stress

Make the most of your career-defining moments.

Photo by Jade Scarlato on Unsplash

There are a few turning points in a software developer’s career. Some change your perspective, while others will transform you. Check out this article to prepare or reflect on these episodes that define who you are as a professional.

The One Where You Screw Up

You are not a real software developer until you bring down a server or crash an application in production. We all make mistakes. However, what you do next can set you apart from your peers.

You have to own your mistakes to grow as a professional. There are things you can only learn from failures. First, think about what you could have done to avoid the screw-up. Secondly, what processes or tools you can implement to prevent others from repeating the same mistake in the future.

For example, you can make learning plans for the following:

Unit and integration tests.

Acceptance tests and business use cases.

Setting up monitoring alerts and notifications.

Legacy code refactoring.

The One With Yoda

You will occasionally come across someone willing to spare a moment of their time to show you how to configure your editor, customize your terminal prompt, and inspire you to write better code. This is your lucky break to take your skills to the next level.

When working with a senior developer with an inclination to mentor, besides solving the specific problems at hand, ask them about and observe their approach, mindset, and work habits.

What is the first thing a senior developer does when they start on a new assignment?

What is the last thing a senior developer check before wrapping up an assignment?

What does a senior developer do when they are stuck?

How does a senior developer communicate their thought process?

The One With Free Pizza

Someday, you will find yourself working on a Friday night when everyone else is out drinking and having fun. Your manager offers a free pizza because they feel bad for asking you to stay late.

Working overtime is a lifestyle choice. The same way you decide how much time to dedicate to exercise each day or how much junk food you eat. Rather than going with the flow, you can take charge of your work life by setting clear work and life boundaries.

Before accepting free food from your manager, ask yourself the following:

What do you need to keep your stress in check?

How much personal time do you have to stay connected to your family and friends?

What time of day do you start losing focus at work? And how effective are you after that point?

The One Where You Stand Your Ground

Coding is a creative endeavor where you make countless choices to design software every day. Over time, you will acquire a taste and form opinions about these design choices.

The first time you confront another developer due to a difference of opinion can be intimidating. Still, it is a sign of your professional growth and worth embracing. As you debate and argue with a fellow teammate, you will learn to discuss the pros and cons of design decisions and gain confidence in articulating your thoughts in front of an audience.

When you are in a heated debate defending your architecture decision, keep the following questions in mind:

What are the estimated development and maintenance costs?

What about adherence to SOLID principles?

Are there any objective metrics for comparison?

Do you really grasp the opposing approach you are arguing against?

The One Where You Are The Hero

When you find yourself wearing multiple hats, answering everyone’s questions on their behalf, and staying up late finishing up other people’s work — you may feel like a hero saving your team; however, you are only covering up their weaknesses and delaying the inevitable implosion. Furthermore, you are also putting yourself at a higher risk of burnout.

Stop playing the hero. Consider delegating easier tasks to others and reserving your energy for solving harder problems. Your talents will lead you to solve ever more challenging problems. You should seek the individual contribution career path and aim to become a principal software developer and beyond.

Alternatively, perhaps you can become a great mentor and engineering manager if you prefer building up your teammates so that they can fend on their own. Either way, don’t let heroism and burnout sidetrack you from taking your career journey to the next destination. 🌱