DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • AI, ML, and Data Science: Shaping the Future of Automation
  • MLOps: How to Build a Toolkit to Boost AI Project Performance
  • Ethical AI and Responsible Data Science: What Can Developers Do?
  • Explainable AI: Making the Black Box Transparent

Trending

  • Compliance Automated Standard Solution (COMPASS), Part 10: How OSCAL Mapping Paves the Way for Continuous Compliance Scalability
  • Implementing the Planning Pattern With Java Enterprise and LangChain4j
  • The Missing `bandit` for AI Agents: How I Built a Static Analyzer for Prompt Injection
  • Building a Spring AI Assistant With MCP Servers: A Step-by-Step Tutorial
  1. DZone
  2. Data Engineering
  3. AI/ML
  4. Essential Engineering Skills For Every Software Architect

Essential Engineering Skills For Every Software Architect

Learn eight categories of engineering craft classifications that will help you grow as a software architect to develop depth in selected areas and awareness of others.

By 
Ankur Kumar user avatar
Ankur Kumar
·
Oct. 12, 21 · Opinion
Likes (11)
Comment
Save
Tweet
Share
11.5K Views

Join the DZone community and get the full member experience.

Join For Free

As a software architect in today's world, expectations of essential engineering craft have increased drastically with the rise of the spectrum of technologies. Full-stack architecture knowledge, product and design thinking with customer centricity, startup mindset to do experimentation applying platform engineering, proactive production monitoring and observability applying SRE practices, and many more engineering practices are the new normal.

The breadth of Engineering Knowledge is becoming more important than the depth of technical skill in a specific area. As quoted in Harvard research, Generalists are more valuable in innovation as they are Jack of All Trades and Master of Knowledge.

At a broader level, engineering crafts can be classified into eight different categories as depicted below. You don't need to be a master of all of them, but having the depth in selected areas and awareness of others is essential as you grow as a software architect.

Engineering Craft Ideas

Engineering Craft Areas

#1: Software Engineering and Architecture, Design Patterns

The recommended learning path to cover essentials of software engineering, architecture, and design patterns is as follows:

  • Software Architecture Essentials and Documentation: Cover the guided approach for formulating software architecture by documenting Software Architecture using Viewpoints and Perspectives.
  • Software Architecture Patterns: Cover the essentials by understanding Software Architecture Patterns such as Layered, Event-driven, Reactive, Message-drive, Microkernel, Microservices, Pipeline.
  • Foundational Design Patterns: Cover the essentials of object-oriented design patterns: Creational, Structural, and Behavioral patterns (catalog of 22 design patterns).
  • Cloud-native Design Patterns: Cover the essentials of modern design patterns such as 12-factor app principles, domain-driven design, and Cloud Design Patterns.
  • Enterprise Architecture: For seasoned architects growing towards Enterprise Architecture, understanding The Open Group's TOGAF or similar frameworks like Zachman or PEAF is a must-have.
  • Reference Material: Read our article on Industry Research/Reports for Architects and Standards and Guidelines for Software Architecture.

#2: Infrastructure, Cloud and DevOps, Automation

The recommended learning path to understand infrastructure, Cloud, and DevOps is as follows:

  • Infrastructure (Compute, Storage, and Networking):Cover the essentials such as:
    • Compute: Bare Metal, Virtualization (Hypervisor), Containers, Container Orchestration, Edge Computing, Serverless, Load Balancing, etc.
    • Storage: Object Storage, File Storage (NFS, SAN), Database Storage, Storage Replication
    • Networking: Basic networking (Hub, Bridge, Switch, Router, etc.), Topologies, LAN, WAN, VPN, VPC, CIDR, etc.
  • Cloud Architecture: Cover the big three cloud service providers offerings covering key concepts, design principles, and architectural best practices for designing and running workloads in the Cloud:
    • AWS Well-Architectured Framework with Operational Excellence, Security, Reliability, Performance Efficiency, and Cost Optimization as architecture pillars.
    • Microsoft Azure Well-Architected Framework with Cost Optimization, Operational Excellence, Performance Efficiency, Reliability, and Security as architecture pillars.
    • Google Cloud's Architecture Framework with Operational Excellence, Security, privacy, and compliance, Reliability, Performance, and Cost Optimization as key principles.
    • Read the consolidated article on Cloud Migration or Adoption Frameworks.
  • DevOps: Cover the Continuous Build and Integration lifecycle, Continuous Deployment, Differentiate between Continuous Delivery and CI/CD, etc. with the following essentials such as:
    • DevOps Periodic Table covers the majority of DevOps tools and technologies compiled by digital.ai.
    • State of DevOps Reports initially published by Google as a research.
    • Recent trends such as GitOps, DevSecOps, AIOps, MLOps, etc.

#3: Quality Engineering, Continuous Delivery

Recommended learning path to understand the nuances of quality engineering and continuous testing is:

  • Continous Delivery: Understand the basics of continuous delivery for the entire lifecycle. Join CD Foundation, which is an opensource based community to share best practices related to that.
  • Agile Delivery Practices: Get certified in one of the Agile frameworks such as SAFe (Scaled Agile Framework).
  • Practices of Quality Engineering: Cover the basics of standard practices such as unit testing, behavior-driven testing, functional testing, sanity testing, regression testing, progression testing, mobile testing, accessibility testing, pixel testing, performance testing, and security testing.
  • Continuous Testing: Cover the essentials of automation with practices, tools (such as Selenium).
  • Software Quality:  Read this article to cover different aspects of software quality as an architect.

#4: Production Engineering, SRE

The recommended learning path to understand the dynamics of modern production engineering practices is:

  • Foundational SRE Practices: Cover the essentials of SRE Principles, Practices, and Management aspects from Google SRE knowledge book.
  • Design for Production: Cover the essentials of designing your application from a production engineering perspective (Release It book) with patterns and anti-patterns.
  • Modern Practices: Evolve your knowledge with modern practices such as Chaos Engineering.

#5: Platform Engineering, Research and Awareness

The recommended learning path to understand the relevance of platform engineering and research is as follows:

  • Platform Engineering: Understand the new trend of the platform engineering team and applying its capabilities.
  • Industry Research: Read this article to keep abreast of industry research reports by Forrester, Gartner, and others.
  • Engineering Blogs: Read this article to keep yourself updated with best practices and case studies by reading blogs.

#6: Data Engineering, Machine Learning, AI

The recommended learning path to understand the broader understanding of data engineering, machine learning and artificial intelligence (AI) is as follows:

  • Data Engineering: Cover enterprise architect's guidebook (by Oracle) and Big Data basics (basic understanding of Hadoop and Cloudera), Data Lake in Cloud, emerging trends like Data Platforms and Data Cloud using Snowflake or Databricks.
  • AI and Machine Learning: As a broader technologist, understanding and applying AI and Machine Learning is essential. You don't need to be an expert in this field as a data scientist but more like an AI and ML consumer covering:
    • Machine Learning Introduction covering basics with fundamental algorithms
    • ML Algorithms (Classification, Regression, Clustering…)

#7: Observability, Monitoring, Analytics

The recommended learning path to understand the nuances of observability, monitoring and analytics is as follows:

  • Application Monitoring: Cover the nuances of application and system performance monitoring.
  • Observability: Extend the boundary of monitoring towards observability (logs, metrics, tracing, experience).
  • Analytics: Understand the behavioral, performance, marketing, and customer analytics tools.

#8: Business Value and Customer Centricity

The recommended learning path to understand the relevance of business value and customer-centricity is as follows:

  • Business Value: Understand applying business value, value stream analysis, and mapping, etc.
  • Customer Centricity: Understand customer value, customer centricity, and design thinking with the digital transformation journey.

To conclude, engineering skills are not just related to technology.  Holistic development goes a long way. Also, it is a continuous journey and all the above angles play a part in making the journey successful.

Software engineering Architect (software) Software architect Machine learning Continuous Integration/Deployment Architecture Data science Big data Software architecture AI

Published at DZone with permission of Ankur Kumar. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • AI, ML, and Data Science: Shaping the Future of Automation
  • MLOps: How to Build a Toolkit to Boost AI Project Performance
  • Ethical AI and Responsible Data Science: What Can Developers Do?
  • Explainable AI: Making the Black Box Transparent

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook