This is my learning note from the book Solutions Architect’s Handbook written by Saurabh Shrivastava and Neelanjali Srivastav. All the contents are mostly distilled and copied from the book. I recommend you to buy this book to support the authors.
Another series: Fundamentals of Software Architecture: An Engineering Approach
A solution architect has the primary role of system design, which makes design thinking an essential skill. Design thinking is one of the most successful approaches adopted across industries to solve a challenging and unclear problem. Design thinking helps you to look at problems and solutions from a different perspective, which you might not have considered in the first instance. Design thinking is more focused on delivering results by providing a solution-based approach to solve the problem. It helps to pretty much question the problem, solution, and associated risk, to come up with the most optimized strategy.
Being a builder by engaging in coding hands-on
A solution architect is a builder who learns by doing. A prototype is worth a thousand pictures. It helps to reduce miscommunication and ideate solutions. Presenting a POC and prototyping is an integral part of the solution architect’s role. Prototyping is the pre-solution phase, which helps to deepen your understanding of the application design and user. It helps you to think and build multiple solution paths. With the testing of the prototype, you can refine your solution and inspire others, such as teams, customers, and investors, by demoing your vision.
Becoming better with continuous learning
Solution architects need to continually absorb new knowledge and enhance their skill set to help the organization in better decision making. Continuous learning keeps you relevant and builds confidence. It opens up your mind and changes prospects. Learning could be challenging with a full-time job and a busy family life. Continuous learning is about developing the habit of always learning something new, whereby you have to be motivated and disciplined. You first need to set up learning goals and apply effective time management to achieve them. This often slips through the net when you get busy with regular daily work.
Here are some of the ways to engage yourself in constant learning:
- Learning new technologies, frameworks, and languages by trying them out
- Learning new skills by reading books and tutorials
- Keeping up with technology news and developments by reading articles on websites and blogs
- Writing your blog, whitepaper, and book
- Solidify your knowledge by teaching others
- Taking online classes
- Learning from teammates
- Attending and participating in user groups and conferences
Being a mentor to others
Mentoring is about helping others and setting them up for success based on your learning and experience. It is an effective way to develop leaders by having one-to-one mentor/mentee relationships. To be a good mentor, you need to establish an informal communication style where the mentee can develop a comfort zone. The mentee can seek advice in multiple areas such as career development, or in personal aspects such as work-life balance. You should do an informal needs assessment and set up mutual goals and expectations.
Becoming a technology evangelist and thought leader
Technology evangelism is about being an expert, to advocate technology and your product. Some organizations with a large product base roll out a separate technology evangelist role, but often, a solution architect needs to take the role of an evangelist as part of their job. As a technology evangelist, you need to be between people to understand real-world problems and advocate your technology to solve their business concerns.