You have joined as a junior developer, coded for 8-15 solid years. Now is the time to choose between two paths: a) Engineering Manager b) Software Architect.
This post is about all skills needed to be a software architect. Let’s start.
1. Ask the right kind of questions
Why is this and not that? What is the expertise of the team? What are the trade-offs? Is it the best way to do or is it purely a habit?
You are not supposed to be told what needs to be done; you are paid to figure out what needs to be done
Listen to the answers provided to the questions
2. Good communication skills
The ability to bring people to your discussions, interact with them, making your point without knowing them before.
Talking to a computer is easier than talking to people.
3. Adaptability
Have an eye on the new market innovations
Modify your trade-offs based on the changing business goals
Also be open-minded to better suggestions
4. Prioritization skills
Prioritise your and others’ tasks
Time management is an essential and evergreen skill
5. Technology skills
Ability to learn new technology
6. Be aware of switching roles
If you are good at communication, management may ask you to move into a managerial role and another way around.
Fight for what you love ❤️
7. Scaling
Share your skills and experiences with other people
The more you share the more you grow.
8. Pair programming
By Pair programming, not always two developers, but a BA and a QA
Mob programming, generally used to solve production issues and deployment
9. Community
Getting involved with software that has a strong community like Kafka, MongoDB, Elasticsearch, etc.
By giving back to society with the products you developed
10. Internal Learning Sessions
Discussion about a new technology or programming language. One presents but everybody participates.
Best day to do it is on Monday.
11. Book club
A book has been assigned and all pick one chapter and a week later all need to present 5 mins on each chapter in the Internal learning sessions.
12. Conferences
Attending conference is good; speaking at conferences is better for a career.