Day In A Life Of Software Architect- 3 mins
Technology constantly evolves, forcing tech pros into a constant race to keep up. While some find that stressful, others are enjoying it. Software Architect often means the guys from Product Group. The architect makes the high-level technical decision. They combine business analysis, systems architecture, and project management. There are many types of architects, such as solution architects, application architects, systems architects, etc.
Me as Software Architect
I am a software architect at VMware. This role involves risk management, even when I am not necessarily leading a team. This can be stressful because
1. I no longer have the same opportunities to get my hands dirty as I did as a developer, and
2. I spend a lot of time being the voice of reason, or the voice of concern.
All my days are not the same. Some days are very long, and some days are just fine. Every day I will be learning something new. This is the key for me to keep up with the constant technological change.
Desired Skill Set
Some of the desirable skills a software architect should have
- Software development expertise
- Domain expertise
- Cost estimator
Pitfalls of Software Architect
- Imbalance of skills
- Lack of software development experience
- Lack of domain expertise
- Lack of authority
- Team acts as a committee
- Confusing tools/techniques/methodologies with architectures
- Pitfall - Lack of Authority:
- Must influence based on skills & experience
- Must communicate
- Pitfall - Confusing Tools with Architectures
- Balanced architecture team
- Pitfall - Procrastination * Often better to decide than suspend the project * Make educated guesses * Document rationale for the decision * Document known consequences * Change decision if/when better alternatives present themselves * Be decisive
Being an effective architect demands rapidly making tactical decisions & living with the resulting anxiety sometimes making suboptimal decisions based on incomplete information
What I like the best
As an architect, I work way more hours than I did as a software developer because I have an ongoing need to stay ahead of emerging technologies. I find this work very rewarding, primarily because this role often puts me in a leadership or champion position. It is a rare opportunity to work at the breadth of the technologies. It might be a mistake if we think the work, is routine. We work with cutting-edge technologies like VMware Cloud as a Service, Software as a Service, Containers/ Kubernetes or Machine Learning Algorithms, or Data Analytics. It is up to the architect to limit or set his boundaries to learn and play with the technologies. I’m never bored. I’m always learning new technology. It’s the exploratory aspect that makes it so much fun.
What I like the least
Unlike Software Developers, some architects do not have the luxury of sitting and diving deep into coding. The task of juggling multiple projects or technical challenges simultaneously does not give continuous or dedicated time to code. The architect does prototypes or initial coding to bootstrap or jumpstarts the project.
Sometimes architects must play the role of cheerleaders/motivators for the team when the projects become complex or unaccounted or surprise work pops up or the team loses confidence and burn out towards the end of the release. Sometimes architects must play the roles of politicians to convince multiple stakeholders or like a salesperson to sell new ideas. But all these roles are important and are part of the architect's job. All these soft skills are very much important along with technical and domain expertise.
DISCLAIMER: All views expressed on this site are my own and do not represent the opinions of any entity whatsoever with which I have been, am now, or will be affiliated. Any collateral used is referenced in the Web Resources or others sections on this page. The information provided on this website does not constitute investment advice, financial advice, or trading advice.