What makes a great Senior Developer?
Being a great Senior Developer is not only about having excellent technical skills. As you progress in your career, so called ‘soft-skills’ become more and more important. Having a wider perspective on created solutions, knowing what kind of business problems your product is trying to solve and putting more focus on helping your colleagues to improve their expertise would help your team become better.
The following 3 soft skills can help you distinguish great software engineer from a good one.
1. Solving Business Problems.
Humans are tool builders, and we build tools that can dramatically amplify our innate human abilities — Steve Jobs
The primary purpose of every company is to maximize profits by solving users problems. To solve any business problem by writing code you need to first understand and define what users really need — do requirements analysis, speak directly with business stakeholders and customers, look for ways to deliver business value in the more effective way by breaking down User Stories vertically. Great Senior Developers improve their business problems solving skills by:
- shadowing end-users of their products;
- learning about different business models;
- understanding how their organization makes money.
2. Mentoring and Coaching Other Colleagues.
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. — Martin Fowler.
Software Development is a Team-Sport. As a Senior Team Member, you have more influence on a team culture, how people behave in the team and how communication flows inside your organization looks like. Great Senior Developers use their influence to help less experience colleagues to become better engineers and improve the overall performance of the whole team by:
- doing a detailed code reviews and pair-programming with younger colleagues;
- sharing their knowledge during internal knowledge sharing sessions and hackathons;
- being approachable, pro-active people.
3. Thinking About The Bigger Picture.
As a programmer, it is your job to put yourself out of business. What you do today can be automated tomorrow — Douglas McIlroy
Great Senior Developer know that building new features fast is a minor part of their job, they’re aware that the created solutions need to be, most of all, maintainable in the future. They think about non-functional requirements, security, performance, usability aspects and their primary goal is to allow making changes in the code easy in the future. Great Senior Developers educate and advocate others by:
- working with business stakeholders on finding time to reducing technical debt;
- acting as a quality guards in their teams;
- sharing with business stakeholders possible costs and profits of balancing between quality and speed when building products.
My other posts related to the topic:
The Real Benefits of Estimating in Story Points
Practical ways to improve your risk management practices and team’s collective knowledge by estimating User Stories in…
★ If you enjoyed reading the article, please don’t forget to applaud it 👏.