Link Search Menu Expand Document

Perspectives on different roles in tech

Some possible career goals

Some possible career goals

Career narratives

What I’ve slowly but increasingly come to believe is that there is much more opportunity outside career ladders than within them, and by including those opportunities you’ll make and feel more progress. Better yet, you’ll find far more opportunities to partner with your peers, no longer competing for limited promotion slots.

A forty year career

My father retired a few years ago, having worked as a professor at the University of North Carolina Asheville for the significant majority of his adult life. Since then I’ve spent more time than expected reflecting on his retirement and his preceding career. In particular, reflecting on the idea that my career is something I can deliberately develop over a forty year horizon. Not four IPOs, not fourteen two-year stints, but forty years.

How to be successful

Much advice on how to be successful is wrong, or useless cliches. Here we cover the best advice we’ve found in the last 5 years that’s backed-by evidence.

What’s a senior engineer’s job?

What’s a senior engineer’s job?

Things I Learnt from a Senior Software Engineer

I sat next to a senior software engineer for a year. Here’s what I learnt.

Things I Learned to Become a Senior Software Engineer

Everything I learned to become a senior software engineer. From good skills to have, to dealing with difficult engineering problems.

Staff Engineer: Leadership beyond the management track

At most technology companies, you’ll reach Senior Software Engineer, the career level for software engineers, in five to eight years. At that career level, you’ll no longer be required to work towards the next promotion, and being promoted beyond it is exceptional rather than expected. Should you stay there, move into engineering management, or continue down the path of technical excellence to become a Staff Engineer?

Engineering Management: The Pendulum Or The Ladder

One of the most common paths to management is this: you’re a tech lead, you’re directing ever larger chunks of technical work, doing 1x1s and picking up some of the people stuff, when your boss asks if you’d like to manage the team. “Sure!”, you say, and voila — you are an engineering manager with deep domain expertise.

But if you are doing your job, you begin the process of divesting yourself of technical leadership responsibilities starting immediately. Your own technical development should screech to a halt once you become a manager, because you have a whole new career to focus on learning.

Talking with Tech Leads

How more than 35 Tech Leads find the delicate balance between the technical and non-technical worlds.

Data Science: Reality Doesn’t Meet Expectations

Seven common ways a data science role may not meet your expectations through tens of data scientist interviews and anecdotes from popular media

How to break the “senior engineer” career ceiling

If all you want is to write code and be a subject matter expert (SME) on your system then you might not enjoy the role of a tech lead or principal.

In many organizations, moving into these roles require you to change from a do-er to an enabler. And your success is no longer judged on what you produce yourself, but how much more you enable others to achieve.

Transitioning from Programming to Management

Most developers struggle when moving to a managerial role, I am part of this group. But once you understand why you are struggling you can finally start to work on tools to get better at it. As I got better as a manager I started to get emails, asking me for help, and that’s what lead me to write this article, provide an easy way for future managers to understand their struggles and better deal with it.

From Coding To Management To Leadership

My transformation from full-time coder to manager, and eventually to manager of managers, took many years. It wasn’t easy to understand and start feeling that leading teams have great value. My output is no longer measured by the amount or the quality of code and systems I write and design. It is measured by the amount and quality of code and systems my organization writes and designs, and by the quality of its culture.