top of page

HOW TO BUILD YOUR TRAINING PLAN AND ENHANCE YOUR SOFTWARE ARCHITECTURE PRACTICE (PART 1 OF 3)

Sample report card

"Yesterday You Said Tomorrow"

In software architecture, the only constant is change. Whether it's joining a new team with a different take on agile practices, tackling unfamiliar technologies, or expanding responsibilities to areas like system documentation or test planning, architects are always adapting.


Originally, I wrote this article to help managers build team maturity through training plans. However, the insights also apply to individual architects who want to create their personal training plans. Here, we'll first focus on personal training plans, then discuss affordable training sources, and finally explore team-wide mentoring and coaching strategies.


TL;DR: If you're eager to jump ahead, scroll down to the methods section—you can revisit this introduction later.


Why Training Plans Matter

At one point, I worked in a Microsoft team where taking 200 hours of annual training was a standard personal objective. While such a "forced maturity" model might seem outdated, it highlights the importance of structured growth. Unfortunately, many organizations pay lip service to training but fail to dedicate time or resources.


Developing a personal training plan is crucial for long-term career growth. Organizations that invest in their employees’ maturity cultivate adaptability and the ability to take on new challenges. Conversely, short-term or fixed roles often deprioritize such investments.


To underscore the challenges architects face, here are three examples my team encountered recently:


1. Building a test plan for a suite of small products without defined customer journeys or tooling.

2. Designing a bolt-on application for a deprecated tool, requiring familiarity with both legacy and modern programming languages.

3. Developing a Kubernetes scaling strategy for a cloud-based application, designed for a low-DevOps-experience team while meeting strict service levels.


Regardless of organizational support, a personal training plan empowers architects to own their development and focus on the skills they need to thrive.


Creating Your Personal Training Plan

Building a personal training plan involves three steps:

  1. Define your goals.

  2. Identify relevant training sources.

  3. Schedule your training.


Step 1: Define Your Goals

Start with 1-3 clear, concise goals. Avoid overcomplicating them with "and" statements or focusing on what others want. Here are some sample goals:


  • "Become CTO of the product line, focusing on technology selection."

  • "Learn to design applications in Rust."

  • "Master GitHub Actions to transition from Jenkins."

  • "Understand telemetry systems for enterprise environments."


Step 2: Conduct a Gap Analysis

Identify areas of strength, opportunities for growth, and skills that align with business priorities. Here are some key considerations:


  • Business knowledge: How does your organization generate revenue? What drives customer value? Who are your competitors?

  • Application expertise: Are there products or algorithms you want to learn more about?

  • Technology landscape: Which technologies are in use? What’s on the horizon? What personal interests could overlap with organizational needs?

  • Code and data patterns: Explore emerging trends like CQRS, microservices, or large language models (LLMs).

  • Architecture skills: Hone diagramming, writing, estimation, or alternative analysis techniques.

  • Leadership and soft skills: Assess your presentation skills, mentorship ability, feedback processes, and writing capabilities.


Step 3: Build and Document Your Plan

Draft your plan collaboratively with your manager and ensure it’s actionable. Include:


  • Action items (e.g., "Develop design for project P").

  • Goals supported (e.g., "Domain design skills").

  • Timeline.


Here’s an example:

Sample training plan for architect A

Training Modalities

Organizations may have resource or cost constraints, so it’s important to balance training methods:

1. Formal Training: Conferences, certifications, or in-person classes (high cost).

2. Self-Directed Learning: Books, online courses, or organizational subscriptions (low cost).

3. Peer-Based Training: Internal or external demonstrations and meetups (low cost).

4. Mentorship: One-on-one guidance, feedback, or red-teaming (moderate cost).

5. Experiential Learning: On-the-job assignments or side projects (low/no cost).


A good mix might include 80% in categories 4 and 5, 15% in 2 and 3, and one formal training activity annually.


Next Steps

In the next part of this series, we’ll explore affordable training resources for aspiring architects. In the meantime, start drafting your training goals and think about how they align with your career aspirations. Got feedback? Share your thoughts at brian@princetondigitaladvisors.com !


Note

This article is part of a series on software architecture which will be published in downloadable PDF/eReader book format later in 2025.

Comments


bottom of page