Developers often ask what they need to do to make it to the level of a senior developer. They can gain all the programming skills in all the popular and new software frameworks, but they will not be anything more than just a developer. A Senior Developer needs to have some fundamental soft skills.
What are soft skills?
Soft skills are how you interact with people, tasks and projects where hard skills are the skills we learn at college, online tutorials or books ( “HOW TO DO” skills ). Soft skills are tough to achieve and are often part of a persons natural tendencies. Soft skills like hard skills can be learned, but not easily. Soft skills can get better through practice and time just like hard skills. An example of hard skills is carpentry. An example of soft sills is a skill that is transferable to any job like being a team player.
7 soft skills a developer needs are:
- Communication:
Communication is likely the number one skill that you should develop. It is the key to full understanding.
It is knowing when to listen and when to talk. It is oral and written skills. Without communication all is lost. - Self Staring:
Do you need to be poked or prodded? Do you need to be told what to do all the time? Management like people who can hit the ground running, do the work when needed, find the details when not defined and run with things with little or no direction. A self starer doesn’t need to be chased and told when to get things done. - Leadership:
Coaching, managing tasks or people and general ability to stand above. Leadership is the ability to delegate and show by example. Leadership is coaching and helping team members. You are often the go-to person. You know when to run and when to stand back. - Team Player:
A team is as good as its players. The players are the workers and the leaders. No matter where you fit in, being a team player is someone who helps, works along side of other members and does not cause undue friction. You will speak up when warranted, but quiet when needed. You will help others and work with others positively in all or most cases. - Problem Solving:
Can solve problems when presented? You don’t always have to solve the problem or issue, but can you offer valid ideas that can be considered? Coming up with ideas or thinking outside the box is essential to drive technologies and software forward. It is offering more ideas even if your first idea is shot down. Problem solving is being not afraid of being wrong, and if you are wrong; you keep trying. - Time Management:
Time management is what drives everything. Everything has a deadline and often we are juggling more than one thing. Time management is important to minimize being late on a task or project.
Try using stop watches, smart watches with alarms and calendars. Make lists and plan your day before your day starts. I like making a quick list the day before. Do not over promise, but do not under promise either as it is frustrating to everyone. - Decision Making:
Collecting all the information and evaluation based on what you know or find is important. If you are uncertain; do not decide until you audit your options and/or ask your colleagues for input. Deciding in a timely manner is just as important as the decision itself. Be careful, but be clear.
Typing up this post make me realize that most of these soft skills can be learned through a service club like Toastmasters. Yes; I was a Toastmaster previously, but that was not the original intention of this post. This is not an advertisement, but more of these are the 7 Soft Skills That Senior Developers should have.