Mentoring Architects test

Published on 18 October 2024 at 08:39

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

There are no comments yet.