Sitemap
Charles Tse

Charles Tse

I am a technology lover who have spent time meditating on many facets of IT with focus on making things better for the world.

Should An Architect Write Code?

4 min readAug 25, 2025

There has been increasing demand for architects to write code as part of their job. For the term “architect”, I am referring to information technology related architect, e.g. enterprise architect, solution architect, software architect, technical architect, system architect, and so forth.

Press enter or click to view image in full size

Until around 2005, architects typically come from strong coding background. This was rather necessary because a lot of logic require custom coding due to the lack of readily usable components/libraries/packages. In particular, systems were a lot more monolithic, requiring a lot more lines of code to be written by different team members to work together well in order to accomplish the business functions. Naturally, the architect must be well versed in coding to make sound architecture decisions. This is opposed to the more distributed and compartmentalized components connected by APIs, data bus, and data stream between 2005–2015 years accomplishing the same business functions if not more. So, architects during this period can sometimes come from project management, business analysis, and even product management type of background with much less coding experience. This is somewhat feasible because solutions can often be “glued” together by integrating readily made solutions either from proprietary sources or open sources. For example, an e-Commerce business can be put together by combing CDN (e.g. Akamai, CloudFlare, CloudFront, etc), eCommerce framework (e.g. Magento, WooCommerce, etc), CRM (e.g. Salesforce, Sugar, etc) for handling customer interaction, and an ERP (e.g. SAP, Epicore, Odoo, etc) for the warehousing, and book-keeping of transactions and so forth. Even the glue code is often heavily assisted by pre-made cookbook templates and configurations requiring almost no custom coding.

However, in the recent 10 years or so, with the rise of virtualization, containerization, micro-service/API oriented architecture, cloud infrastructure (IaaS, PaaS, SaaS), big data, streaming, distributed computing, machine learning related computing, the complexity has grown hugely. Hooking many such sub-systems together makes it way harder to imagine the overall quality from just reading the glorious sales-oriented product manuals. Even the technical documents of these products often do not reveal deeper nuances. An architect without strong programming and system knowledge can often be lost when it comes to resolving technical roadblocks, and addressing the economy of the overall solution architecture. The enterprise level implications can be even harder to fathom for the technically shallow. The result can be dancing with the consultants and vendors with lots of drama but no results.

To quickly summarize, whether an architect in your organization should do coding really boil down to the consideration some key factors, e.g.

  • IT team structure (R&R),
  • Implementation team competence,
  • Business nature,
  • Technical complexity of the systems,
  • Resource allocation,
  • etc.

Some of these are illustrated in the following 4 simplified scenarios.

Get Charles Tse’s stories in your inbox

Join Medium for free to get updates from this writer.

Reasons For Architects To Write Code As Part of Their Job:

  1. The company is small, and the implementation requires man power as well. In this case, since architectural design workload is limited, a truly technical architect can be useful in the write up of core logic, or as reviewer/improver of implemented code. The downside is the lack of checker-maker when it comes to validating the implementation of the architecture.
  2. The company is large, and the number of technologies in the stack is huge as well, with complex data and functionality flows. For example, a full blown eCommerce giant like Amazon.com or Taobao, the software components can be in the hundred, and number of servers will be measured in floors of racks. In such cases, blindly putting together architecture solution from paper pretty product manuals will be very dangerous. The architect(s) involved should either code or help direct the implementation of the technical critical path(s) of such systems to nail down the many criteria contributing to good architecture, e.g. costs effectiveness, risks reduction, scalability, flexibility, and so forth.
  3. The implementation team is not capable to comprehend or execute complex architecture resulting in unintended issues. In this case, the architect should showcase their ability, at least at the pseudo-code logical level to guide the implementation and to convince the implementation team of the design.

Reasons For Architects To Not Write Code As Part of Their Job:

  1. The architect is mainly external customer facing in the pre-sale or project management type of roles, and the implementation team, being either in-house or from another vendor/partner, is strong enough to make it happen.
  2. The company is too large and the number or architects is insufficient to devise solutions or review architectural exceptions. If the architects will be required to spend time coding, then they will have even less time to deal with the critical roles of creating solutions to keep the innovation and renovation pipelines moving. Likewise, the architects will also have less time reviewing architectural anomalies. In this case, the implementation team is also assumed to be competent enough to execute the architecture design.

Of course, in real life, the above scenarios can be mixed up. However, keeping these consideration factors in mind should help you make your decision.

Last but not the least, while AI is capable of generating code to an amazing level, we still need human, especially those with expert level coding and system architecting abilities to review, instead of blindly accepting machine generated code, unless we are talking about trivial toy systems which do not mind some hallucinated or malicious code lurking around.

--

--

Charles Tse
Charles Tse

Written by Charles Tse

I am a technology lover who have spent time meditating on many facets of IT with focus on making things better for the world.