Due to the increase in demand, developers may want to grow on top of their skills to advance to other roles to become System Architects. There are many reasons to move from developer to systems architect - pay increase, a natural development of career path, or just to try something different. One role is not better than the other; as both roles are integral to the success of a software company.
But with any position, it is imperative to learn new things to grow and strengthen your knowledge, increase your value and diversify your CV.
What are the skills needed to advance from developer to Solution Architect
Solution Architects are appointed to design the multi-leveled architecture of a large software system. Solution Architects consider many functional and organizational aspects of the software landscape, while developers carry out the delegated tasks.
Metaphorically speaking, the Solution Architect role can be looked at as a conductor of a sailboat. The conductor makes sure that all parts are ready before taking off - the rudder is firmly mounted, the navigation technology has been programmed and set for the intended destination, there is a backup motor and a speedometer. The Solution Architect has checked the weather and is ready to adapt the plans accordingly. The crew (developers) are constantly making adjustments to the sails.
When orchestrated correctly, the boat sails to its optimum angles and speeds in a wide range of varying weather conditions.
The Solution Architect doesn’t drop off a map and retire to her cabin; she stays in charge of all of the changes and adjustments that naturally arise. Many elements will have to be tweaked and adjusted to make it to the intended destination, and it is the role of the conductor of the boat or the solutions architect to oversee all variables and successfully lead the crew of developers to the intended destination.
Solution Architects solve problems on a macro level while developers solve issues on a micro level. Both are incredibly important to arriving at the destination in a timely manner (or achieving technical goals and having them align with business requirements.)
As the name suggests, Solution Architects have to have a general knowledge of a wide range of referenceable solutions. Solution Architects are often called upon when an outcome is needed. Many times, there are several thousands of possible answers to reference, and Solution Architects should know the general idea behind each option.
Solution Architects create a design and pitch the benefits to different audiences: Administrators, Developers, Project Managers, Stakeholders, CIOs, etc. A great Solution Architect should be able to tailor the same content to appeal to the different expectations and needs of various interested audiences. Solutions Architects also must be willing to evangelize their solution repeatedly before change ever takes effect.
4. Concise and personable
A large part of this evangelism is simplifying the content for easy consumption. Conveying just enough information for each party to understand is a true talent. A CIO might need a quick rundown, while a developer would want to know the technical implications of a proposed solution. The trick is to deliver key information in the appropriate medium using the correct technology for each individual.
It is important to clearly explain the benefits of a proposed solution for each audience. This requires full flexibility - including changing diagrams when necessary to appease the varying needs of explanations to your varying audiences.
Rule of Thumb - Explanation Lengths
- Three sentences to a CTO
- Three paragraphs to a project manager
- Three pages to a Solution Architect
- 15-20 pages to a detailed developer
A substantial risk in Solution Architecting is over-modeling a potential solution. Solution Architects of the past would spend a large amount of time modeling and creating methodologies that didn’t actually play out well.
6. Brevity and clarity
The same job may call for an 80-page document explaining the design, a 5-page version, and a video explanation of the same content. Getting your point across in varying lengths takes true skill.
To improve your skills here watch how your target audience responds and keep asking yourself:
- Did I get the basis of my message across?
- What should I go deeper into detail?
- Can anything be written more clearly?
- Did I include everything needed and nothing more?
Unlike developers, a major part of being a solutions architect is being sociable. Developers often hone in on their technical tasks, zoning out the world around them and committing to a project until it is complete. On the other hand, Solution Architects work closely with leaders across various teams in the enterprise, listening to their needs and concerns, discussing possible options, and verifying their designs with various domain experts.
As a Solution Architect, you deal with people in different ways than you would as a developer.
You are often called upon when someone has messed up, and they need a framework change to figure it out. It is important to not be too critical, judgemental, or negative.
Just be observant, approachable, open, and helpful.