Information
I was recently asked how do I mentor software engineering architects. I’ve had the privilege of mentoring many teams and individuals throughout my career and I have found the key to successful mentorship is fostering a real relationship and planning and being prepared for those opportunities whether they are formal or informal.
For software architecture I have kept a list going through the years and try and keep it short. These are more topics to discuss than points to adhere too, it’s a mentoring session not a lecture.

Technical Mentoring Topics
- Simplicity is Key: Always aim for less complexity. Over-engineering can lead to unnecessary complications.
- Think Multi-Tenant and Multi-Account: Design systems with multi-tenancy in mind from the outset to save future headaches.
- Early Diagnostics: Implement an end-to-end ‘health check’ ping early on to ensure system responsiveness and availability. Everything has to work you don’t get credit if you servers are up 99.99% but one little component along the way prevents a user from accomplishing a task.
- Elegance Over Force: Opt for elegant solutions over brute force. Also know when to just get it done, it’s always a balance.
- Practical Abstraction: Avoid over-abstraction. Focus on delivering work that addresses the core value and need.
- Reference Architectures: Utilize existing architectures as a checklist to guide your design process, use them as check list, did I cover everything.
- Anticipate Entropy: Design systems that resist entropy and remain robust over time.
- Evolutionary Design: Allow for schema and UI evolution to enable growth with minimal additional coding.
- Proactive Detection: Incorporate methods to automatically detect and possibly self-heal from issues and bugs.
- Refactor: After documenting your design, revisit it to identify and eliminate any unnecessary complexity.
- Maximize your tech stack: often we opt to code for the lowest common denominator so that we can switch platforms, data stores, etc… I have found it best to pick a stack and use the heck out of it. In reality we don’t really just switch out a tech part. Most often we rebuild from the ground up. This is a good one to discuss/debate.
For General Mentoring:
- Continuous Learning: read, read, read….. reading, speaking, and writing to stay ahead in the field.
- Emotional Intelligence: Cultivate relationship-building skills. Technical expertise must be complemented by the ability to connect with people.
- People Over Plans: Remember that people, not plans or organizations, are the ones who achieve results.
- Clarity and Focus: Encourage clear, concise communication and a focused approach to daily tasks.
- Purposeful Technology: Use technology to solve problems, not for its own sake.
- Be a Creator: Inspire, create and contribute actively
- Active Listening: listen first to understand and then responding thoughtfully.
- Embrace Criticism: Encourage seeking out and being receptive to constructive criticism.
- Explorative Decision-Making: When faced with options, explore each as far as feasible to discover the optimal solution.
These are a few of the topics I like to have handy to invoke good conversation which most often leads to a good mentoring session.
Add comment
Comments