惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Security Affairs
S
Schneier on Security
T
Tenable Blog
G
GRAHAM CLULEY
Latest news
Latest news
D
Darknet – Hacking Tools, Hacker News & Cyber Security
A
Arctic Wolf
I
Intezer
Cyberwarzone
Cyberwarzone
T
The Exploit Database - CXSecurity.com
T
Tailwind CSS Blog
K
Kaspersky official blog
Blog — PlanetScale
Blog — PlanetScale
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Threat Research - Cisco Blogs
爱范儿
爱范儿
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园 - 叶小钗
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Commits to openclaw:main
Recent Commits to openclaw:main
P
Palo Alto Networks Blog
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 司徒正美
The Cloudflare Blog
Help Net Security
Help Net Security
罗磊的独立博客
博客园 - 聂微东
Jina AI
Jina AI
Project Zero
Project Zero
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LINUX DO - 最新话题
V
V2EX
人人都是产品经理
人人都是产品经理
美团技术团队
博客园 - 【当耐特】
Spread Privacy
Spread Privacy
J
Java Code Geeks
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Security Latest
Security Latest
The Last Watchdog
The Last Watchdog
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
S
Securelist
Forbes - Security
Forbes - Security
博客园 - 三生石上(FineUI控件)
Microsoft Azure Blog
Microsoft Azure Blog
P
Privacy International News Feed
宝玉的分享
宝玉的分享
C
CERT Recently Published Vulnerability Notes

Yusuf Aytas

When Code Is Cheap, Does Quality Still Matter? Why Crouching Tiger, Hidden Dragon Is a Masterpiece Why We Ignore Advice The Mirror Is Part of the Machine When Too Many Maps Overlap on One Person The Work Runs on Different Maps Your Work Introduces You Trial By Fire The Dude Why Headcount Math Lies Capacity Is the Roadmap The Roadmap Is Not the System Torres del Paine W Trek Escaping Status Theater Incentives Drive Everything Scaling Culture Without Dilution What Good Looks Like Why Airport Security Feels Random Why Politics Appear How to Work with Me The Janus Protocol Multi-Horizon Delivery Framework What Good Execution Looks Like Managing Your Manager Why Kingdom of Heaven’s Director’s Cut Is Better AI Broke Interviews Most of What We Call Progress Managers Have Been Vibe Coding All Along Stop Wasting Brainpower Why Over-Engineering Happens Prisoner's Dilemma Climbing No More The Weekly Win Mevlana Candy Brewing Turkish Tea Onboarding Your Engineering Manager Technical Deep Dives Yapay Zekâ Çağında Bilgisayar Mühendisliği Building Remote Teams From Idea to Launch in 2 Weeks Reflecting on Software Engineering Handbook Representing the Business New Manager Survival Guide Take Self Reviews Seriously Chasing Real Respect The Invisible Difference Learning the Johari Window Management is a Lonely Place Simple Task Management AI Balance in Work PIP Manager Insights Engineering Manager Interview Preparation Work-Life Balance as a Manager Bridging the Management Disconnect Tech Hiring Bubble Bursts Traits for EMs Simple Acts of Recognition Matter The Question I Ask Every New Report The Reality of an Employer's Market Bridging Ideals and Reality Hiring Red Flags Why The Godfather Is So Damn Good Subteam Tenets No Fluff Please Losing a Top Performer Balancing Act of Reliability Building Trust in Engineering Teams Ideal Number of Direct Reports Overriding a People Leader’s Decision From Misperception to Promotion Perception vs Perspective Setting Goals From Engineer to Manager Getting Delegation Right Interviewing Your Future Boss Celebrating Our Book in Iceland Operational Skills Needed On Writing Software Engineering Handbook Charlie Munger Quotes Working with Dependencies From Las Vegas to Canyons Navigating Layoffs Handling Competitive Dynamics A Weekend Getaway to Malta Engineering Health Essentials Should Dev Managers Code? Confronting the Life on Pause Winning Eleven Kindness is A Choice Bireysel Katılımcılar ve Yöneticiler Leading from Where You Are The Subtle Art of Listening Coding in Leadership The Power of Consistency The Making of a Leader The Path to Leadership Embracing TikTok Talent Sourcing Journey Leading Self Managing Teams Cracking Coding Bottlenecks
Who needs an Architect?
Yusuf Aytas · 2016-07-25 · via Yusuf Aytas

Published · 8 min read

An architect? According to Wikipedia, an architect is a person who plans, designs, and oversees the construction of buildings. So, we obviously have derived the role from civil engineering. In parallel, we derived software architecture which refers to the high-level structure of a software system. Over the years, the term has evolved far beyond its structural roots. It now touches on how systems adapt, scale, and serve human and organizational needs.

As you might guess, I donʼt think we need a formal architect role but an architecture. What we truly need are shared principles of design. Clarity, modularity, and communication rather than a gatekeeper. Before starting another dispute, letʼs watch the Matrix Architect Scene.

The Architect in Matrix

Cool stuff? Thatʼs well deserved for anybody who built a piece of software. Yup, you got it. I think any working software has some kind of architecture. Every class, API boundary, and deployment choice reflects a set of trade-offs. Intentional or accidental that ultimately define how the system behaves.

Whoa, then everybody is an architect? Well, yes and no. Yes, an architecture needs architect/s. No, I donʼt think we need to define a formal role and call everybody architects. Architecture isn’t a badge. It’s a lens, a way of thinking that connects decisions made today with consequences felt months or years later.

In The Matrix, the Architect represents control, order, and inevitability. Everything is bound by logic and symmetry. In software, we often face the same temptation: to overdesign, to predict every outcome, to eliminate uncertainty. Yet the most resilient systems are not the ones most controlled, but those that can adapt when reality diverges from the plan.

The lesson isn’t that we should imitate the Architect, but that we should challenge him. Real architecture breathes, evolves, and learns from its users. It’s less about drawing blueprints and more about cultivating an environment where structure emerges through iteration and shared understanding.

Comparing To Civil Engineering

Going back to civil engineering. An architect designs a building more concerned about aesthetics, artistry and overall shape of construction. A civil engineer concentrates on the structural elements of the design. A builder makes the structure. Thatʼs it. No more definitions.

As you can see, these are well-defined roles and they are somewhat hierarchical. Do you think we have or should have such a hierarchy while developing software systems? Well, no. Software, unlike buildings, is not bound by gravity. It evolves continuously. Code can be refactored, deployed, and destroyed in seconds. The nature of creation here is iterative, not monumental.

Of course, an experienced engineer would have a different perspective than a recent graduate. However, these two engineers would both influence the software system they are building and should contribute to the architecture of the system. Every commit, naming convention, or service boundary adds a fingerprint of its author architecture and becomes a living document of collective decision-making.

If you want to name one of the architects and not the other, do you think that itʼs fair? Nope! So, a formal architect role isnʼt really fit in software development. Software is not a cathedral built once and admired forever; it’s a city that keeps expanding. The best engineers are urban planners as much as builders, balancing beauty, efficiency, and chaos.

If you think we only need a “software architect” title to emphasize seniority level, then I disagree. Most large tech companies already have clear, structured progression paths without formal architect titles. They typically look something like this:

  • Software Engineer I – early-career developer learning foundations and team practices.
  • Software Engineer II – independent contributor handling moderately complex tasks.
  • Senior Software Engineer – experienced developer mentoring others, driving quality and consistency.
  • Staff Engineer – broad technical leader influencing multiple teams and long-term design decisions.
  • Principal Engineer – deep system-level thinker setting vision and technical direction across domains.
  • Distinguished or Fellow Engineer  – organization-wide technical authority shaping overall technology strategy.

Notice what’s missing: a formal “Architect” title. Because in most of these organizations:

  • Architecture is something you do, not something you’re called. It comes from experience and trust, not titles.
  • Architectural influence emerges naturally through experience and trust, not hierarchy.
  • The best “architects” are often the engineers who listen the most, connect systems, and enable others to think bigger.

And yet, architecture happens everywhere in those organizations through design reviews, cross-functional discussions, and shared conventions. The absence of a title doesn’t mean the absence of architecture; it means that ownership is distributed, embedded in the culture rather than assigned to an individual.

What Makes Good Architecture?

If we’re not defining architecture by titles, then what defines it? Good architecture isn’t about diagrams or frameworks but it’s about clarity, adaptability, and empathy. It should make change easy, not impossible.

Good architecture:

  • Serves people first. It helps teams reason about complexity without drowning in it.
  • Reveals intent. Anyone reading the code should understand not only what it does, but why.
  • Encourages evolution. The best designs can outlive technologies and trends.
  • Balances trade-offs. Every choice has a cost; good architecture makes those costs visible.
  • Invites collaboration. Architecture should be a shared language, not a secret dialect.

Great teams build architectures that are living organisms. They grow, adapt, and occasionally shed old skin to stay alive. A system that’s too rigid to change isn’t well designed; it’s merely frozen in time.

The goal of architecture isn’t control. It’s clarity. When everyone on the team understands the system’s purpose and direction, architecture becomes invisible. That’s when you know it’s working.

Who needs an architect?Who needs an architect?

From Titles to Teamwork

Once we strip away titles, we’re left with the real question. How does a team function without a central architect? What changes, what breaks, and what gets better? Let’s explore what truly drives good architecture inside teams.

Letʼs take principal engineers as architects and ask: do we really wait for principal/senior engineers to evaluate each piece of software we build? The short answer is no because they are working on their own projects. Good architecture can’t depend on a single bottleneck. It must emerge through shared responsibility and collective awareness.

Do we really need a proxy between customer and team? Why canʼt we sit all together with the customer and make a decision? I think it should be the team effort to understand fussy requirements and make concrete tasks out of them. Certainly, there will be people who will have more experience and can lead others from time to time but yet we donʼt have to call them architects. They are seasoned engineers. The best systems grow from proximity, not translation. When teams and stakeholders talk directly, architecture aligns with reality, not assumption.

In a team without an architect, do people struggle to write clean and quality code or is the system design phase abandoned? I think a good team should do design reviews first; then code reviews to share knowledge, increase code quality, and hear all voices. Design reviews are where architecture truly lives. It’s a continuous act of negotiation between trade-offs, risks, and constraints. With good communication and good distribution of engineers according to seniority level, quality software can be delivered without a formal role of an architect. When architecture becomes part of everyone’s daily thinking, you gain both consistency and adaptability.

Do we really need a formal architect for leadership and strategy? Well, arenʼt managers supposed to be the leader of the team and decide the strategy? I guess these two aspects are one of the reasons why we have managers. However, strategic technical direction shouldn’t come from management alone. It emerges from engineers who see the patterns beneath the product. Strategy and architecture are two sides of the same compass.

What about technical leadership? Since software development is like craftsmanship, craftsman (senior engineers) should share how to develop well-crafted software. So, we still donʼt need a formal architect role. Mentorship is the backbone of architectural maturity. When seniors teach design thinking, they create many small architects instead of one big one.

All in All

I donʼt think we need a separate role for just designing the architecture of a system. In my opinion, every member of the team should take part in architecture discussions and a team should come up with a design. Moreover, the architect role doesnʼt really need to indicate oneʼs seniority level. Architecture is a collective intelligence. An evolving dialogue between experience, creativity, and constraint.

All in all, goodbye architects, letʼs talk architecture. Because architecture is not a person; it’s a practice. And like any good system, it should never stop evolving.