---
title: "On Software Engineer Career Development"
description: "An analysis of three career paths for software engineers (technical specialist, management, and project management), a comparison of the pros and cons of large vs. small companies, and a discussion on mindsets for overcoming career plateaus."
canonical_url: "https://blog.markkulab.net/en/post/career-development"
author: "Mark Ku"
author_url: "https://blog.markkulab.net/en/author/mark-ku"
site: "Mark Ku's Tech Notes"
date_published: "2023-11-23 01:01:35 +0800"
category: "Management"
tags: ["career", "management", "developer", "growth", "workplace"]
language: "en"
license: "CC BY 4.0"
license_url: "https://creativecommons.org/licenses/by/4.0/"
attribution: "when reusing or quoting, credit the author and link back to the original"
---

# On Software Engineer Career Development

> **TL;DR** — 歡迎來到「Mark 的技術雜談」，我是主持人璦廷。你有想過十年後的自己，會成為什麼樣的軟體工程師嗎？ 工程師的發展通常有三條路徑：專精技術的專業職、帶領團隊的管理職，以及控管進度的專案管理職。讓我們來看看，環境如何影響你的選擇。大公司資源豐富且制度穩定，能讓你學會如何與高手跨部門合作；而小公司則擁有極高的靈活度，讓你能接觸廣泛的業務，快速累積實戰成績。 這個重點值得注意：無論在哪裡，工作的本質都是價值的交換。想要跳脫職涯瓶頸，我們必須從單純的「解題思維」轉變為「合作思維」。在現在這個打群架的時代，懂得溝通、爭取資源，並持續提升自己的維度，從單純賣勞力，轉變為提供解決方案的專業人士，才能避免陷入溫水煮青蛙的中年危機。就算未來面對人工智慧等新技術的衝擊，也依然能保持市場競爭力。 總結來說，職涯沒有完美的選擇，只有你願不願意為了目標付出代價。節目最後想請大家思考：你現在的工作，是在單純消耗勞力，還是正在為你的未來累積籌碼呢？我們下次見。

## Foreword
Have you ever thought about what kind of person you want to be in 10 years? Or what skills you want to have accumulated?

Career exploration isn't just about exploring careers; it's about exploring what you personally want to do, what you're good at, and what brings you results.

But beginning with the end in mind, your career choices depend on where you want to go and who you want to become. Everyone's resources are limited. Thinking clearly is the only way to get where you want to go and become the person you want to be.

## The Outcome for Most Engineers
Unless you start your own business or change careers, this is the likely career path for most engineers. The salary for the same position can vary greatly depending on the company or level.

*   **Technical Track** (Focus: individual contributor, technical)  
    Developer, Senior developer, Tech lead, Solution architect, Technical consultant.

*   **Team Management Track** (Focus: people, 1-on-1s, career, team building, teamwork)  
    Team lead, Engineer supervisor, Engineer manager.

*   **Project Management Track** (Focus: project, planning, communication)  
    Project manager, Business analysis, Product manager.

P.S. The skills and nature of work for these three tracks are all different.

## Big Companies vs. Small Companies
In most cases, big companies teach you how to navigate interpersonal dynamics because you have to collaborate with many people, while small companies teach you how to get things done. Each has its pros and cons; there's no such thing as a perfect job. However, while you're young, you should try and experience different work environments to find the development path that suits you.

### Big Companies
Working at a large company usually comes with stable systems, high salaries, and excellent benefits, which are all attractive. But ultimately, it depends on your desired career path. Large companies often assign specialized talent to relatively simple and focused tasks, which is key to the stable operation of a large platform. However, this stability can cause an employee's skills to gradually fall out of sync with market demands. Although many projects run smoothly, there are still many smart and hardworking colleagues who continue to learn after work and propose innovative ideas on the job, fighting for resources to create more opportunities for themselves.

#### Pros
*   More resources
*   Better benefits (more vacation, more money, many clubs to join)
*   Full of experts, with many role models to learn from
*   If you have good people skills and are a strong communicator, you can have a very pleasant time
*   Gain a broader perspective
*   Understand how large teams divide work and manage risk
*   Stability; the company can absorb more risk than a small company

#### Cons
*   Bureaucracy and low efficiency; good ideas require convincing multiple layers of management
*   Highly specialized roles can limit career development; you have to fight for good opportunities, and many areas already have experts or are well-established.
*   Work often feels disconnected from the company's core revenue or pain points, unless you're in a key position.
*   Outdated tools and technologies

### Small Companies
#### Pros
*   Flexible; can pivot quickly, allowing you to get exposure to different things
*   Broader scope of work, not just repetitive tasks
*   Flexible; many things are negotiable if you can deliver results
*   Many greenfield areas with plenty of opportunities to make an impact
*   Easier to see the results of your work and have a greater impact on company performance
*   Ability to participate in decision-making and establishing processes
*   Can enrich your resume
*   Promotions are comparatively easier

#### Cons
*   Lack of resources
*   No well-established systems or processes
*   Lack of clear goals
*   Goals can change very quickly and frequently
*   The strong get stronger, and the weak get weaker

## Sharing My Experience
I once worked for a Singaporean company that had nearly 400 engineers in Taiwan at its peak. That job enriched my life and let me truly experience living. I participated in triathlons, went on overseas cycling trips, cycled around Taiwan, climbed Yushan, and hiked to Jiaming Lake. The company also had great benefits and salary; at the time, its benefits were probably the best in the industry. I also learned a lot about teamwork. However, a large company is full of talent, with experts in every field who are also great at communicating. You have to fight for good opportunities. After three years, I finally figured out what I wanted and left. In a big company, unless you are very good at managing relationships and managing up, and you get a good boss and good opportunities, it's easy to become a boiling frog.

Throughout my career, I've mostly worked in small to medium-sized teams. But the most valuable lesson I learned from being in a large team was: "If you want to go fast, go alone. If you want to go far, go together." This has influenced how I've led teams ever since.

## Test if You're Truly an Undiscovered Talent
Go to a few small companies, take on some major tasks and responsibilities, and find an area that no one has deeply cultivated. In a year or two, you'll have a good chance to make a name for yourself and secure your position. If you can't, then it's likely not a case of being an undiscovered talent.

## The Nature of Work
The nature of work is an exchange of value. If you want to receive more value, you must create more value to exchange. If your company can't give it to you, you can test whether the value you create can be exchanged in the open market.

## Three Stages of Mindset Elevation in a Professional's Career
*   1. Selling labor
*   2. A typical employee
*   3. A professional
*   4. Someone who manages and sells solutions - typically a boss, manager, architect, or consultant.
If your expertise is overly specialized and only applicable within your organization, not the broader market, it will be difficult to start over when the organization no longer needs you. The purpose of elevating your career dimension is to reduce your dependency on the organization. By being closer to the market, you know what it needs and can always start over (by moving down a dimension). The lower the dimension, the more it's about qualifications and seniority. The higher the dimension, the more it's about how to implement and sell to the market.

## Is Your Job Providing Growth?
Many people feel their current job doesn't offer growth. But real growth happens when you use your free time to proactively prepare for the next stage's income or skill requirements. If you observe excellent professionals, you'll see they learn after hours and apply it at work, practicing deliberately on the job. Proposing new initiatives is a great way to do this. It creates value, benefits everyone, and leads to a win-win for both the company and the individual.

## Advantages of Youth and Some Blind Spots (from *The Workplace Isn't a Sofa, Why Seek Comfort?*)
The young have their advantages: good stamina, quick learning, and a willingness to take risks, but also some blind spots:
*   Thinking seniors are obligated to teach you.
*   Being afraid to do something because you lack experience.
*   Believing the company owes you opportunities.
*   Setting a very low standard for yourself.
*   Spending time refuting others instead of improving yourself.
*   Not knowing but not asking, not seeking help when facing difficulties, or giving glib answers.

## Exam Mindset vs. Collaborative Mindset
Our education system trains us to see a problem and immediately want to solve it.
But in the workplace, every assigned task has a purpose behind it.
Your manager isn't a teacher trying to trick you with a test; they are solving the problem alongside you.
Looked at another way, your existence is due to these problems. If a company has no new issues to solve, it might not need you anymore.

## Communication
Have you ever wondered, if everyone in the workplace just did their own job, why would we need to communicate with others?
...







Today's business world is an era of teamwork. An individual's expertise is limited. If you want your expertise to be valuable, you must win the support and assistance of others.
Communication at work is often a means to get things done—it helps everyone understand each other's difficulties, reach a consensus, gain support and resources from more people, and ultimately solve problems.

## Career Stagnation & Mid-career Crisis
Fame fades, and you can't always predict trends. But as time goes on, if you do nothing, your options will dwindle. What causes people to get stuck and unable to switch jobs is a lack of achievements and a lack of clear expertise. The sticking points are often:
*   1. Unwillingness to make sacrifices for a trade-off, which will lead to achieving nothing. For example: wanting more money and career development without wanting to put in extra effort or provide enough value to convince the market to pay for it.
*   2. When you're often faced with difficult choices, it means you're about to get stuck. You haven't clearly assessed your situation. It's usually not a problem of choice, but a result of not paying the price earlier to increase your options, and now you're running out of them.
*   3. When your options decrease, you have to fall back and decide on the one thing you absolutely must have, then move in that direction.

In the workplace, you shouldn't be afraid of getting old. You should be afraid of getting old without being much more capable than when you were young.
Taking the lead on major projects, leading teams into battle, coordinating resources, and turning chaos into order—these are valuable skills that are difficult for younger people to accumulate in a short time.

## Practice Putting Yourself in Their Shoes
*   1. Do I get the position first and then start building the necessary skills? Or do I first demonstrate the skills, get noticed, and then the company gives me the position?
*   2. If you were the boss promoting someone, which type of employee would you choose? The one who puts in a lot of effort, or the one who delivers good results for the company?
*   3. Imagine you're applying for a mid-to-senior level job (a senior role or high-level management). Would you expect the boss to need to teach you anything?
*   4. If your colleagues had a choice, would they choose to work with you again?

## Career Advice
*   1. Find your passion and talent in your work.
*   2. Adjust your attitude (and level of thinking). Treat your work as your own business, and the team's work as your own. Think from the boss's or the market's perspective. (There's always plenty to do; find areas where you can contribute.) What's the difference between you doing this task and someone else doing it?
*   3. Keep the team and your manager updated on your work status in real-time. This helps them arrange work for you and package your technical contributions to sell to upper management in exchange for more resources.
*   4. Run yourself like a business. The value you can create is the only thing you can take with you. Unless the company is yours, there will come a day when the value you create exceeds what the company gives you. If you can't get what you want, you will leave.
*   5. If you want to have choices in life, you have to prove yourself. The more self-disciplined you can be, the more freedom you will have.
*   6. If you want to grow, find issues that no one has worked on or that are not being done well. If you can do it better than others and create value in that area, the company will notice, and opportunities will naturally arise.

## Other Career-Related Articles by Me
*   [Career - A Brief Talk on Software Engineer Career Development](https://blog.markkulab.net/career-development/)
*   [Career - Solving the Career Dilemma for Middle Developers in an Organization](https://blog.markkulab.net/solving-the-middle-developer-career-dilemma/)
*   [Career - On the Role and Responsibilities of a Project Manager](https://blog.markkulab.net/project-manager/)
*   [Career - The Mental Journey of Leading a Team](https://blog.markkulab.net/lead-team-mental-journey/)
*   [Introducing Agile Development - Making Team Operations Smoother](https://blog.markkulab.net/introduce-agile-development-to-reduce-redundant-meetings/)
*   [Adjusting Agile Development Meetings - Making the Team Accountable](https://blog.markkulab.net/agile-development-take-turn-as-host/)

## References
*   Run Your Life with the Mindset of Running a Company | Darencademy Audio Course
*   Darencademy Podcast and books
*   *The Workplace Isn't a Sofa, Why Seek Comfort?*
*   [Tech Management Part 1 (5): Promotion](https://techmgmt.substack.com/p/5#details)
*   [How Can Engineers Build a 'Technical Vision' in a Team? Also Discussing the Individual Contributor Career Path Choice (ft. vgod)](https://podcasts.apple.com/tw/podcast/%E6%98%9F%E7%AE%AD%E5%BB%A3%E6%92%AD/id1459758276?i=1000566441939)
*   [Individual Contributor: A Career Choice for Engineers Who Don't Want to Be People Managers](https://blog.starrocket.io/posts/individual-contributor/)
*   [A Brief Talk on the Engineer's Career Path - Mencher’s Travelogue](https://medium.com/mencher-publication/%E6%B7%BA%E8%AB%87%E5%B7%A5%E7%A8%8B%E5%B8%AB%E7%9A%84%E8%81%B7%E6%B6%AF%E8%B7%AF-8509cfc7b159)

---

## About this article and its author

Originally published on [Mark Ku's Tech Notes](https://blog.markkulab.net/en/post/career-development)

License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) — when reusing or quoting, credit the author and link back to the original

### About the author

**[Mark Ku](https://blog.markkulab.net/en/author/mark-ku)** — Software Solution Provider

- 10+ years senior software engineer, now an AI Builder
- Focused on large-platform architecture — North-American e-commerce, AI SaaS subscription billing
- Combining AI Agents and automation to build evolvable product foundations

### Free tools built by the author

All of these are free to use:

- [Free PDF Sign Tool](https://blog.markkulab.net/en/tools/pdf-sign): Online PDF sign tool — draw, type, or upload a signature, then drag, resize, and download. Everything runs in your browser; nothing is uploaded.
- [VS Code Refactory](https://blog.markkulab.net/en/tools/refactory): Refactory is a VS Code refactoring extension: 34 actions plus a 37-rule code-smell inspection layer with a Code Health dashboard, across 18 languages, backed by 534 tests. It learns your repo's conventions: where interfaces live, where DI is registered, whether 'use client' belongs. It ranks files by git churn × complexity so you know what to fix first, and hands any smell to the Claude Code already on your machine. Free to use, and your source never leaves your computer.
- [DB-Kit Database Manager](https://blog.markkulab.net/en/tools/db-kit): DB-Kit is a lightweight, cross-platform database manager built with Tauri + Rust + React. Manage MySQL, MariaDB, PostgreSQL, SQL Server, Oracle, SQLite, MongoDB, Redis, Kafka, Elasticsearch and RabbitMQ from one consistent interface: passwords encrypted in the OS keychain, SSH tunnels, full CRUD, a visual query builder, stacked multi-statement result sets, cross-connection data transfer and compare/sync, Excel / CSV import & export, visualized execution plans, ER diagrams, scheduled backups, SQL stress testing with p50–p99 latency percentiles, a 15-rule SQL review engine, Kafka message browsing with monitoring & alerts, a bilingual UI (Traditional Chinese / English), a built-in AI assistant (natural-language SQL, AI review and tuning advice) and the dbk CLI. Free and open source (MIT), with installers for Windows, macOS and Linux.
- [VS Code Super Mermaid](https://blog.markkulab.net/en/tools/super-mermaid): Super Mermaid is a VS Code extension for beautiful Mermaid diagrams out of the box: auto-colored live preview, mouse pan & zoom, high-res PNG / SVG export, 21 templates and multiple themes. Free and open source (MIT).
- [React Super Mermaid](https://blog.markkulab.net/en/tools/react-super-mermaid): react-super-mermaid is an open-source React component library: render beautiful Mermaid diagrams with a single <MermaidViewer>, with built-in colorful / sketch themes, pan & zoom, in-diagram search, and high-res SVG / PNG export. Lightweight, SSR-safe, fully typed. Free and open source (MIT).
- [Jira / Confluence Super Mermaid](https://blog.markkulab.net/en/tools/jira-super-mermaid): An Atlassian Forge app: write Mermaid syntax directly inside a Jira issue or a Confluence page and get flowcharts, sequence diagrams, state machines and Gantt charts. 11 diagram types, SVG / PNG export, light and dark themes, full CJK support. Runs on Atlassian: your diagrams live in your own site and the app calls no third-party service. Free, coming soon to the Atlassian Marketplace.
- [Mermaid Live Preview](https://blog.markkulab.net/en/tools/mermaid-preview): Write Mermaid in your browser, see it render instantly, and share the whole diagram as a single link. No sign-up, nothing uploaded to a server, and mermaid.live share links work as-is.
- [React Intl Phone Number](https://blog.markkulab.net/en/tools/react-intl-phone-number): react-intl-phone-number is an open-source React component: framework-agnostic and antd-free, with E.164 in/out, a searchable flag / country-code dropdown, configurable validation levels (strict / mobile-strict / loose), themeable CSS, and i18n — phone logic powered by google-libphonenumber. Lightweight and fully typed. Free and open source (MIT).
- [Uptime Kuma Cluster](https://blog.markkulab.net/en/tools/uptime-kuma-cluster): Turn single-node Uptime Kuma into a highly available cluster: OpenResty + Lua smart load balancing, shared MariaDB state, health checks and automatic failover, plus cluster-management REST APIs. One Docker Compose command to start. Free and open source (MIT).
- [Special Education](https://blog.markkulab.net/en/education): Learning materials crafted for special education students

### Daily podcasts

- [Mark's Tech Insights — Daily AI News](https://blog.markkulab.net/en/category/tech-news): Daily curated AI and tech trends. Catch the latest developments via audio summaries — covering AI applications, software architecture, DevOps, and engineering practice. — RSS: https://blog.markkulab.net/feed.xml
- [AI股市蝦聊](https://blog.markkulab.net/en/category/ai-stock-chat): Every trading day, an AI-analyzed take on the Taiwan stock market, delivered as a two-host conversation covering the session and the next-day outlook. — RSS: https://blog.markkulab.net/ai-stock-chat/feed.xml
- [開源好物週報](https://blog.markkulab.net/en/category/open-source-weekly): A weekly two-host pick of free open-source tools surfaced from real Hacker News, GitHub, and Reddit buzz — what pain they solve and the fastest way to get started. — RSS: https://blog.markkulab.net/open-source-weekly/feed.xml

### Newsletter

[Subscribe to the newsletter](https://blog.markkulab.net/en/subscribe) — Be the first to know about new posts. No spam, unsubscribe anytime.
