From Intern to Software Architect

From Intern to Software Architect

从实习生到软件架构师

September 16, 2026 2026年9月16日

You start your journey as an intern or junior software engineer. At this level, you care about the syntax and language constructs such as defining variables or constants correctly, writing a function that might be reusable, or constructing conditions correctly. Let’s call this level - 1. 你的职业旅程始于实习生或初级软件工程师。在这个阶段,你关注的是语法和语言结构,例如正确地定义变量或常量、编写可复用的函数,或者正确地构建条件判断。我们称之为第 1 级。

As you start to become more familiar with the language and code, your focus shifts towards the program files. Now, you start to care about files instead of language constructs as you’re comfortable with syntax and language constructs. You can now connect the files across a bug fix or a change that you need to make. You’re now at level - 2. 随着你对语言和代码越来越熟悉,你的关注点会转向程序文件。由于你已经掌握了语法和语言结构,你开始关注文件本身。现在,你能够通过修复 Bug 或进行必要的修改来串联起各个文件。你现在处于第 2 级。

As you become more experienced, you now start to care about a module - not just a set of files but a logically related set of files. Previously, it was a set of program files only. But now you start to see program files as a module. You know the connection between files and can reason about them. You reach level - 3. 随着经验的积累,你开始关注“模块”——这不仅仅是一堆文件,而是一组逻辑相关的文件。以前,你只看到程序文件集合,但现在你开始将它们视为一个模块。你了解文件之间的联系,并能对它们进行逻辑推演。你达到了第 3 级。

Next, you continue your journey and start seeing multiple modules all together as an app. You are not seeing the language constructs, you’re not seeing a set of files, you’re not seeing a module, but a set of modules all together as a whole app. You’re now caring about the whole app. When you review the PRs, you are adding the whole app context to the review before you approve and merge. You’re now at level - 4. 接下来,你继续前行,开始将多个模块视为一个整体应用。你不再仅仅关注语言结构、文件集合或单个模块,而是将一组模块视为一个完整的应用程序。你现在关心的是整个应用。在审查 PR(代码合并请求)时,你在批准和合并之前,会将整个应用的上下文纳入考量。你现在处于第 4 级。

As you gain more experience, you start to see a bigger picture than the app. You’re now seeing things outside of the app such as services, proxies, DNS, security, firewalls, and many surrounding services. You now not only care about the app but about these services as well, which are required for your app to be alive. You now know the exact details about how a request comes into the app and goes out through all these services. You’re now at level - 5. 随着经验进一步增长,你开始看到比应用本身更大的图景。你现在能看到应用之外的事物,例如服务、代理、DNS、安全、防火墙以及许多周边服务。你不仅关心应用,还关心这些维持应用运行所必需的服务。你现在清楚地了解请求是如何进入应用,并穿过所有这些服务流出的。你现在处于第 5 级。

Your journey continues and you start to connect with other teams who manage other apps that make up the whole product. You start to see a bigger picture than the app and services. You know how apps live together, how they communicate, how they are monitored, and much more. You’re now at level - 6. 旅程继续,你开始与管理其他应用的其他团队建立联系,这些应用共同构成了整个产品。你开始看到比应用和服务更大的图景。你了解应用之间如何共存、如何通信、如何被监控等等。你现在处于第 6 级。

I’m going to stop here at level - 6 as I think this is where the role of a software architect becomes clear and in full view. I’m not saying that the level steps stop here. But this is where I want to stop for this article discussion. In summary, you started with syntax and reached the level where you care more about app servers, proxies, communication, security, and so on. 我将在此停留在第 6 级,因为我认为这是软件架构师的角色变得清晰且全面展现的地方。我并不是说职业进阶到此为止,但这正是我在本文讨论中想要停下的地方。总之,你从语法起步,最终达到了关注应用服务器、代理、通信、安全等更高层面的阶段。


Although I’ve used labels level 1 - 6, you can give a position you like against the levels based on the hierarchy you have seen in organizations. For example: 虽然我使用了 1 到 6 级的标签,但你可以根据你在组织中看到的层级,将你喜欢的职位对应到这些级别上。例如:

Level - 1 = Intern Level - 2 = Jr. Software Engineer Level - 3 = Software Engineer Level - 4 = Sr. Software Engineer Level - 5 = Principal Software Engineer Level - 6 = Architect 第 1 级 = 实习生 第 2 级 = 初级软件工程师 第 3 级 = 软件工程师 第 4 级 = 高级软件工程师 第 5 级 = 首席软件工程师 第 6 级 = 架构师

Or you can combine some levels against the same position. 或者你可以将某些级别合并到同一个职位中:

Level - 1, 2 = Jr. Software Engineer Level - 3, 4 = Software Engineer Level - 5 = Lead Software Engineer Level - 6 = Architect 第 1、2 级 = 初级软件工程师 第 3、4 级 = 软件工程师 第 5 级 = 资深/主管软件工程师 第 6 级 = 架构师

Or you can introduce more levels. For example, Level - 3 can be divided into two parts as Software Engineer and Sr. Software Engineer, where you write software engineering with design patterns as an effective solution in the later position. 或者你可以引入更多的级别。例如,第 3 级可以分为软件工程师和高级软件工程师两部分,在后者阶段,你开始运用设计模式作为有效的解决方案来编写软件。


Now, let’s take a top-down look. At level - 6, the architecture is created so well that at level - 5 you don’t have to worry about other apps. At level - 5, the app is set up very well so that at level - 4 you don’t have to worry about surrounding services. At level - 4, the app is created and maintained very well so that at level - 3, you don’t have to worry about other modules within the app. This continues at level - 2, where the code is crafted so well that you don’t have to worry at level - 1 that your minor code change will throw a module error or bring down the app or crash the product! 现在,让我们从上往下看。在第 6 级,架构设计得非常出色,以至于在第 5 级你无需担心其他应用。在第 5 级,应用配置得非常完善,以至于在第 4 级你无需担心周边服务。在第 4 级,应用创建和维护得非常好,以至于在第 3 级你无需担心应用内的其他模块。这种情况延续到第 2 级,代码编写得如此精良,以至于在第 1 级你无需担心微小的代码改动会导致模块错误、应用瘫痪或产品崩溃!

Layers of abstraction are added so well that at the given level, only the necessary context is required. When you’re at level - 6, you don’t have to care about the code of the app or module because it is taken care of at levels - 3 and 4. Similarly, at level - 2, you don’t have to worry about other parts of the product as they are taken care of at a higher level. You just have to worry about a set of files. 抽象层添加得非常到位,使得在特定级别上,你只需要关注必要的上下文。当你处于第 6 级时,你无需关心应用或模块的代码,因为第 3 和第 4 级已经处理好了。同样,在第 2 级,你无需担心产品的其他部分,因为它们已由更高层级处理。你只需要关注一组文件即可。


With the advancement of AI, the border between these levels has started to become blurred. Not between levels but between the whole range of levels. You, as level - 2, are expected to work on levels - 1 to 4, or level - 4 is required to work on levels - 3 to 6. Geniuses can jump between these levels, but lack the knowledge that only comes with experience. 随着人工智能的发展,这些级别之间的界限开始变得模糊。不是级别之间,而是整个级别范围之间的界限。作为第 2 级的人员,你可能被要求处理第 1 到第 4 级的工作;或者第 4 级的人员被要求处理第 3 到第 6 级的工作。天才可以在这些级别之间跳跃,但他们往往缺乏只有通过经验才能获得的知识。