What Makes a Good Career?
"You can't start a company unless you're willing to work really hard and not all the work is fun. That's why they call it work." – Jeff Bezos
I recently read that the typical U.S. career spans about 80,000 hours. That’s a staggering amount of time, and it raises an important question: How do you spend it well? Since I’ve spent my entire career as a software engineer, I want to reflect on what makes a good career in software engineering.
The Map and the Territory
Careers in tech can be rewarding. They are often well-paying, relatively low-stress compared to other equally compensated careers and they (sometimes) provide opportunities to solve meaningful problems.
But the path isn’t uniform. Tech careers vary dramatically depending on where you work. Smaller startups can be exciting. At a startup you are typically working with a small team to solve either a novel problem or an established problem in a novel way. Of course with early-staged startups job security is no guarantee. Funding runway is finite and you may never find product-market fit.
Larger companies historically have been more stable. Although, with the large number of layoffs over the past few years this is no longer as much of a draw. Working at larger companies may involve solving less "sexy" problems, such as maintaining legacy software. Moreover at larger companies you are often treated more as a cog in a machine. Decisions that affect your day-to-day work may be made far above your pay grade without your input (for example, the dreaded reorg).
Defining "Good"
In interviews, a commonly asked question is: "What are you looking for in your next role?". Behind this question lies a deeper one: "What makes a good career, in general?".
Everyone defines "good" differently. The equation for a good career is a multivariate one, where everyone assigns different weights to different factors. For some, it's about career advancement: promotions, increasing compensation, climbing the ladder. For others, it’s about enabling a fulfilling life outside of work: supporting a family, traveling or having the financial stability to pursue passions.
Research on career happiness homes in on a couple of factors that determine career happiness:
- A sense of purpose: Believing the work or the mission matters.
- Autonomy: Self-Determination Theory tells us that autonomy is a core human need and that control over how you work leads to greater satisfaction.
- Human dignity: Being treated as a person, not a cog. Corporate reorgs and shifting priorities often strip away agency and reinforce the dehumanizing aspects of big organizations.
- Stability: Is your job or position constantly under threat?
- Mastery and growth: According to research on "flow" by Mihaly Csikszentmihalyi, happiness comes from work that challenges us just enough to build skills without overwhelming us.
- Relationships and Belonging: For some, having close connections to your colleagues leads to work fulfillment.
Competition
The reality is that software engineering is inherently competitive, especially in times of a depressed job market. Promotions are limited, and advancement often requires being at the top of the stack rank. There are often many qualified applicants for a given role. It's therefore important to remain competitive. This means continuously sharpening your skills or developing new ones, learning new technologies and ensuring that you are delivering high-value work. Companies, too, face competition. Their survival depends on delivering better or cheaper products. Careers exist within that tension.
Will AI Take My Job?
What a strange time to be a software engineer! The effects of AI tooling on software engineer productivity are hotly debated (see this research paper and Mark Zuckerberg’s recent prediction). While it’s unlikely that AI will replace all software engineers in the near future, the tools already in circulation are reshaping the profession.
AI-powered tools have already made certain tasks easier like generating boilerplate, debugging and writing documentation. These efficiencies free engineers to focus more on higher-level design and problem-solving. As of 2025 these AI tools still have major limitations like hallucinations and context limits that prevent them from grappling with larger, more complex codebases.
The long-term impact of AI on software engineering careers is still unfolding. Important questions remain:
- Will agentic AI systems that can plan, reason, and execute multi-step tasks—begin to take on larger, more complex projects?
- Can we trust AI to handle critical infrastructure, or will hallucinations and lack of accountability keep humans in the loop indefinitely?
- If AI handles routine tasks, will the skill bar for engineers rise, pushing careers toward architecture, system design, and human oversight?
My view is that, as of 2025, the technology isn’t yet capable of independently building complex software systems. AI tooling is best thought of as a force multiplier: it amplifies the productivity of good engineers but does not replace the deep thinking required to design resilient, scalable systems. For now, the most successful careers will likely belong to engineers who can both leverage AI tools effectively and develop the judgment to know when not to rely on them.
Conclusion
No job or career path is perfect. Companies are made up of people, and people are flawed. Those flaws ripple outward into organizational structures and policies.
My take is that a good career as a software engineer isn’t about finding the perfect company. It’s about finding work that aligns with your values, gives you room to grow and sustains you through the inevitable ups and downs of the industry.