---
title: "Thoughts on Software Engineer Promotions"
description: "From Junior to Manager, a level-by-level analysis of the responsibilities and promotion criteria for each software engineer level, exploring the impact of responsibility, trust, and the manager relationship on promotion opportunities."
canonical_url: "https://blog.markkulab.net/en/post/talk-about-promotion"
author: "Mark Ku"
author_url: "https://blog.markkulab.net/en/author/mark-ku"
site: "Mark Ku's Tech Notes"
date_published: "2024-06-01 01:01:35 +0800"
category: "Management"
tags: ["promotion", "career", "management", "engineer", "leadership", "team"]
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"
---

# Thoughts on Software Engineer Promotions

> **TL;DR** — 歡迎收聽 Mark 的技術雜談，我是主持人璦廷。你是否曾經納悶，為什麼有些技術能力不是最強的人，卻能順利升遷呢？今天我們就來聊聊軟體工程師的晉升之路。 許多工程師以為，把程式寫好就能步步高升。但這個重點值得注意：隨著職級提升，公司看重的不再只是單一技術，而是整合與溝通的能力。從初階到中階，你需要獨立產出高品質程式碼；到了資深階段，則必須主動發掘問題，並在不同技術架構中做出取捨。 讓我們來看看晉升管理職的關鍵。當你準備走向主任或經理，焦點將從個人產出轉向團隊建設與商業目標。文章特別點出，員工和直屬主管並非競爭關係。事實上，幫助團隊取得戰功、協助主管達成目標，往往是你獲得晉升的最佳途徑。 總結來說，晉升是一場從個人技術走向團隊影響力的蛻變過程。下次在精進程式碼的同時，不妨思考看看：你目前的溝通與當責能力，是否已經準備好迎接下一個職級的挑戰了呢？

## Thoughts on Software Engineer Promotions

Anyone who's been in the workforce has probably heard this complaint: "My manager isn't that skilled, so how did they get promoted?" This thought crossed my mind too when I was more junior. It wasn't until I had worked for many years that I understood that every manager has a different set of skills that puts them in that position. The nature of the work is different, so there's really no point in comparing.

For more senior roles, the company doesn't promote you based on strong technical ability alone. You also don't need to compare your individual skills with your manager's. Most of the time, your manager's ability in any single skill might not even be stronger than yours. That's because a manager's main job is to focus on integrating the team's abilities—through communication, coordination, people management, and course correction—to improve the overall results.

From the company's perspective, technical ability is just the baseline. No matter how strong your individual skills are, if you can't align with the company's vision, cooperate with the team, and work with your manager to achieve company goals or create more value, then you're likely not a suitable candidate for promotion.

Promotions to more senior roles—like Senior Engineer, Lead, or Manager—often happen when there's an opening in the organization. Barring special circumstances, the best strategy is to work closely with your direct manager, help the team rack up more wins, and in turn help them get promoted. When the company expands, that's when your own promotion opportunity will arise.

## On Responsibility and Authority
A promotion is really about taking on different job responsibilities. For software engineers, the responsibilities you take on also change. You typically need to demonstrate the skills required for the next level for six months to a year before you'll get the chance to be promoted, and maintaining a good relationship with your direct manager is key. As you advance in seniority, your individual tasks will decrease while your team-oriented work will increase.

| Job Position | Role & Responsibility | Promotion conditions |
|----|----|----|
| Junior Web Developer (1 year) | A newcomer to software development with basic software engineering knowledge.<br/>Can reliably complete assigned requirements or new features, but pays less attention to code performance.<br/>Needs to discuss with senior team members to determine the general direction in unfamiliar areas. Will need to discuss with other engineers when stuck on a coding problem. | Has basic programming skills and is receptive to guidance from others. |
| Middle Web Developer II (2 years) | An engineer with some experience who has their own ideas about assigned features or requirements. Usually proposes different solutions to problems. Has good communication and collaboration skills, and discusses the pros and cons with senior colleagues before choosing a solution. | Can not only get the job done, but get it done well, with minimal supervision.<br/>Familiar with organizational standards, works independently, and requires less guidance.<br/>When encountering unfamiliar problems, can propose and discuss solutions, technical issues, or directions.<br/>Capable of breaking down tasks into a work list.<br/>Can write maintainable code.<br/>Good teamwork spirit and work attitude.<br/>Has a track record of successful projects.<br/>Willing to listen and accept suggestions from colleagues.<br/><br/> |
| Senior Web Developer (3~5 years) | A backbone of the department who can quickly learn and provide various solutions for any unfamiliar domain or project. Able to quickly learn the necessary knowledge from various documents, project examples, and tutorials, extracting the essentials to solve problems. Can lead the team technically and make critical decisions. | Solid technical skills, able to work independently, and passes relevant team skill assessments (usually by the next level or a manager).<br/>(Has in-depth knowledge in areas like front-end technology, refactoring, databases, CI/CD, architectural design, system analysis, performance optimization, etc.; capable of developing projects both independently and as part of a team).<br/>Accountable and proactive. Doesn't wait to be assigned tasks and takes initiative to tackle new issues or problems the team faces.<br/>Can proactively identify problems and use appropriate technical methods and processes to optimize the team.<br/>Keeps up with new technologies, continuously improves, and makes a significant impact on the team from a technical perspective, while being happy to share knowledge. (e.g., saving future time, increasing future efficiency, boosting company revenue, improving website conversion rates, etc.)<br/>When faced with a problem, can learn quickly, propose multiple solutions, and understands the trade-offs between different solutions and design architectures.<br/>Good leadership skills, guides the team to do the right thing, and has a record of successfully leading others or major projects.<br/>Can prioritize tasks and handle them differently based on urgency (trade-offs).<br/>Besides doing their own work well, can also teach or lead others to do theirs.<br/>Able to clarify ambiguous problems and break them down for junior employees.<br/>Willing to listen, is coachable, accepts different opinions, and can acknowledge their own shortcomings and make real changes.<br/> |
| Supervisor of Web Development (5~7 years) | Technically, they have special expertise in certain areas. Upper management consults them on technical issues for major project decisions. Possesses irreplaceable technical skills and abilities within the team and serves as the core technical leader for key products. On the management side, the small group they lead plays an indispensable role in the larger team. They can clearly define the future direction for their group and guide everyone to achieve goals step-by-step. | Able to resolve and coordinate complex and difficult problems.<br/>Has led important projects, demonstrating strong leadership and management skills.<br/>Provides necessary technical support and guidance to the team, which may involve selecting the right tech stack, solving major technical issues, etc.<br/>Excellent technical insight and strategic planning for technological development.<br/>Able to think from a business or company-interest perspective and flexibly apply technology to make significant contributions to the organization.<br/>There is an open position within the company. |
| Manager of Web Development (over 7 years) | Manages the entire development department, sets technical and departmental development strategies, is responsible for team building and talent development, and coordinates resources and personnel.<br/> | Extensive leadership, management, and cross-departmental resource coordination skills.<br/>Proven experience in cross-departmental collaboration and successfully managing large teams.<br/>Ability to solve problems and communicate across the organization.<br/>Deep understanding of industry trends and ability to set departmental goals, leading the team to achieve company objectives.<br/>Able to think from a business or company-interest perspective and flexibly apply new technologies to make significant contributions to the organization.<br/>There is an open position within the company. |

## Finally
You and your direct manager are not in a competitive relationship. You are already at different levels and are not competing for the same position. Furthermore, your direct manager has a significant influence on whether or not you get promoted.

Unless you join a team that has no manager—which is usually a chaotic environment—where if you can handle the pressure and stick it out for 2-3 years, you might get promoted on your own merits. Otherwise, the path is to collaborate with your direct manager to help achieve their manager's goals. And in a larger organization, you'll have to align with even more senior colleagues and bosses.

---

## About this article and its author

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

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.
