Play this article
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.
- 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 ❤️
- 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
- 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.
- Attending conference is good; speaking at conferences is better for a career.
- Technical skills are a bonus.
- Communication skills
- Scaling skills by sharing
- Sharing makes you look good for a career