There are two common paths for a developer to advance in the IT industry: Become a manager or become an architect. While some developers choose to become managers and lead projects and people, there are code geeks who want to continue their technical career by becoming architects.


Read other articles in this series on transitioning from a developer to an IT architect:


While this often feels like a natural process, it is a big change that requires some reframing and adjustment. In my experience, there are three important concepts you need to focus on when moving from development to architecture.

[ Here's one way to boost your career: Become a Red Hat Certified Architect. ]

1. Change your mindset

The first thing you need to do is to change your mindset: Stop thinking like a developer and start thinking like an architect. That means you must prepare yourself for a paradigm shift in how you look at things and solve problems.

Moving from a software developer to an architect is one of the most challenging transitions in the IT industry. A developer's role is almost always clearly defined, while an architect's role is not as well defined. This can make the transition from a developer to an architect difficult. Architecture is typically characterized by grey areas, uncharted territories, ambiguous situations, misplaced expectations, and confusing periods that can throw unprepared developers off track and demotivate them. This article series aims to address some of these concerns, clear confusion, and help developers become better architects.

2. Think big

A role of a developer typically involves designing, building, and maintaining software systems by writing code, then unit testing, documenting, and maintaining it. In contrast, an architect's role is comparatively broad and typically involves designing the high-level structure of software systems. It also includes detailed designs of the systems' individual components and how they interact with each other.

Some architects do not have a development or engineering background. However, architects with a development background can add more value to the project during the build phase by helping developers design the overall project and class structure and perform code reviews. While a developer's role is always hands-on, an architect's role may not be, depending on the project's needs and the architect's interests.

[ Cheat sheet: IT job interview tips ]

3. Resist the urge to start coding

When you come across a problem statement or a use case, your first instinct as a developer is to start writing code. As an architect, you must overcome that urge. Wanting to write code is natural to seasoned developers, and it is quite difficult to get rid of this habit.

The path to becoming a successful architect is to start visualizing the problem through a bird's eye. Think in terms of components and their interactions instead of classes and methods. Visualize systems instead of visualizing code. Think of databases and streams instead of tables and rows. It may take some time to get accustomed to this new way of thinking, sometimes even years. However, this is a very important milestone in the path to becoming a successful architect.

Types of architects

Once you have made your decision to become an architect, you should learn the different architecture paths before deciding which one(s) to pursue. (See What type of IT architect are you? for some descriptions.) Examples include:

  • Solutions architect
  • Technology architect
  • Cloud architect
  • Data/information architect
  • Database architect
  • Data platform architect
  • Security architect
  • Integration architect
  • Enterprise architect
  • Domain architect (insurance, banking, aerospace, and so on)

[ Check out Red Hat's Portfolio Architecture Center for a wide variety of domain-specific reference architectures you can use. ]

Each of these paths is different with some overlapping aspects. Some roles have another architect role as a prerequisite. For example, you cannot become an enterprise architect without having been a solutions architect for some time. The domain architect role requires you to be a subject matter expert in a particular area. Some of the roles are purely technical. But some are partially technical and partially business.

What next?

In the subsequent articles in the series, I'll discuss almost everything that you need to know or learn to become a successful architect. This includes understanding the business domain, stakeholder expectations, people skills, negotiation, visibility, career growth, social media presence, knowledge sharing, and more. My next article shares 3 soft skills aspiring IT architects need to develop. Stay tuned!

[ Get advice from experts to build a resilient IT culture ]


关于作者

Shameel is a full-stack polyglot developer, architect, and author. He started his career as a VB developer and has rich experience in a wide range of technologies, including UI/UX, middleware, databases, and cloud. He's a passionate technologist and open source advocate interested in distributed system design, lean architecture, development,  and platform engineering. His research interests include building cloud-automation tools and a multicloud integration platform. He's currently learning Go and Carbon and works as a senior technology architect at Infosys. When not coding, you can find him reading books and pursuing hobbies like astrophotography, speed cubing, and numismatics. 

You can follow Shameel on LinkedIn, as well as his website, and GitHub profile. 

UI_Icon-Red_Hat-Close-A-Black-RGB

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Virtualization icon

虚拟化

适用于您的本地或跨云工作负载的企业虚拟化的未来