Not every employer requires enterprise architects to have IT skills. Sometimes, having business architecture skills may be more useful than IT knowledge, although technical depth will make it easier to engage with stakeholders in technical conversations.
Based on the kind of roles that typically interact with enterprise architects, IT skills you might want to be familiar with include:
- Data structures and algorithms: You don't have to be able to program a heap sort from memory, but understanding structuring of data in records, aggregating them into collections, and iterating those collections are basic skills. They relate to the efficiency, performance, cost, scaling, and other tradeoffs application architects make.
- Data store models: Recognizing the differences between various storage mechanisms for data (such as relational, document, key/value, lake) and processing approaches (for example, SQL, NoSQL, pipeline, stream, map/reduce, scatter/gather) helps you grasp the choices data architects make.
- APIs: It's useful to understand APIs, processes, user interaction, JSON/REST, and related technologies (like gRPC, GraphQL, and SOAP). Again, the expectation is not that you can create Swagger documents or a Reactive application, but knowing how pieces are decomposed and recomposed into products and applications will give you an idea of the tradeoffs solution architects make.
- Infrastructure architecture: Knowing about datacenters, availability zones, regions, configuration files, security roles, and network appliances (firewalls, load balancers, reverse proxies, and so forth) is another way to discern the tradeoffs infrastructure architects make. You don't need to know how to code an infrastructure-as-code (IaC) tool script, but you should be able to visualize what one does.
- End-to-end software development lifecycle (SDLC): It's important to comprehend DevOps and DevSecOps and this requires understanding the complete SDLC. This includes knowing about CI/CD, testing, test-driven design, domain-driven design, maker-checker rules, service-level agreements and objectives (SLAs and SLOs), and recovery time (recovery point objective [RPO] and recovery time objective [RTO]).
[ For more insight, read 5 technical skills aspiring IT architects need to learn ]
The list above might seem like a lot at first, but most of these are straightforward concepts with a bunch of buzzwords to learn. The first two arguably are the deepest conceptually although each certainly has aspects with considerable depth and complexity. If you're in a .Net or mainframe shop, the list remains the same, but some of the specific technologies are different (for example, you'll see parallel sysplex in the mainframe world instead of availability zones).
The list focuses on the technical side. Enterprise architects also need solid communication and negotiation skills and a basic understanding of business strategy, capability models, and organizational dynamics, both generally and in the particular sector they focus on.
[ Become a Red Hat Certified Architect and boost your career. ]
This is adapted from a post on Reddit and is republished with permission.