Coding skills
A senior developer must know one main programming language, and the most used frameworks in the market for that environment. Also has to be profficient in a couple more languages, so that you can make sure your team is using the proper tool for each situation. It’s good to have at least a shallow knowledge of several programming paradigms. Keep an open mind about different technologies.
Communication skills
Speaking with people is crucial for software development. Although we write software that is run in machines, it’s used by people, to cover people needs. So we must make sure we understand the needs, and a developer who can communicate effectively will enable us to avoid and solve a lot of misunderstandings. Should be able to clearly communicate and understand requirements and expectations.
Promote good development practices
Software has to be maintained. As it’s something expensive to build, we will use it for a couple of years and we will probably have to grow on functionality during that period. So, writing easy-to-read, easy-to-maintain code is a must. Not only a senior developer should write good quality code, but also should have to preach for it among the team members. A good way to ensure your code is easy to maintain: make your junior developers read and explain what the code does, without any previous explanation. If they don’t understand it, your code is not good enough.
Lead other developers:
Software development is a team work. As a team, we will have people with different set of skills. A good sr developer should be able to work with less experienced developers, and help them grow in skills.
Proactive and positive-thinking
Complaining about what you don’t like is useless, and therefore, not an option. If you don’t like something, you make yourself responsible for it and change it. A senior developer should always look for a positive outage of what is doing.
Enjoys the profession
The best way to master any profession is to be passionate about it. Then you are more likely to be willing to learn, share and enjoy success. Loving what you do will make you go the extra mile needed to become one of the best in the field.
Software development is not only about “code”, but also about “soft” skills. Are you developing those skills the same way you learn to code?