Coding and collaboration skills a junior developer should have to get hired – Part 2
Coding and collaboration skills a junior developer should have to get hired – Part 2
Today, I met Bruno Souza online and ask him the following question-
Recently I’m getting a lot of questions from junior software developers and a common one is that what are the skills( e.g. coding skills, collaboration skills) needed to get hired. As you may have experienced in hiring or working with junior software developers, I believe, you can answer this question. I would like to hear from you what are the right skills you think a junior developer should have to be able to get hired by a company?
Before putting his answer here, let me introduce him first-
Bruno Souza is a Brazilian Java programmer and open-source software advocate. He founded the world’s largest Java user group called, SouJava. Since 1995, he has been helping Java developers to improve their careers and work on cool projects with great people! He is a Java Champion and a Java Community Process executive member (JCP). He is widely known as the Brazilian JavaMan.
While answering the question, he mentioned several important points which are so powerful that I believe those points will help a junior software developer immensely.
Let’s read what he has to say –
To hire someone, there are a few things I look for, and I’m sure others do the same. Although I hire more senior developers, a junior developer can get benefit from those ideas:
- Do I trust this person? Was he highly recommended by someone I trust? (for a junior developer, this can be a university teacher, for example, someone from a user group or someone that worked with him in a project)
- Is he able to work well with the rest of my team? Does he have a good attitude to work collaboratively? Does he know how to work in a team? (for a junior developer, this can be basic abilities like knowing how to use Git, or having a group of friends working together on something)
- Can s/he learn new things? More important than what this person knows, is how willing to learn s/he is. Does s/he learn new things constantly? Does she know what she wants? (for a junior developer this is usually a general understanding of the software landscape, understanding what she wants to be good at, but having a general understanding of things around it, and a good understanding on how to learn)
- Is this person willing to work hard and take responsibility? To have a positive attitude? (Software development is not easy. There will be a lot of issues and difficulties, and I’m sure my company and my project are far from perfect… Will this person be a complainer and someone that points fingers, or someone that is willing to take responsibility and work with the team to solve problems?)
- Once I’m confident I can trust this person to work well, I would evaluate if he has the technical skills that I need, and then judge if the things s/he doesn’t know yet, can be solved in the project or in a timely manner. But I rather hire someone that can learn and that will work well with my team and will work with me for a long time, than hire someone that is technically ready but will be a disaster otherwise.
If I have to summarize his answer, you get the following words-
- Trust
- Attitude
- Urge to learn
- Responsibility
- Technical skills
As you can see, technical skills came at the bottom of the conversation. The most important thing to be able to get hired is to gain trust. To be able to gain trust, you can join the network where developers hangout, for example- the Java User group. Another way is to help someone. Let’s say a community leader is organizing an event, you can help organize the event. Being a volunteer, you can get close to the person and become trustworthy who are top in the software industry. This way, s/he can recommend you to get hired.
The other points are pretty straightforward. You have to be collaborative. Software development is the most collaborative work. So being able to work in a team environment, you have to be a good communicator, know the tools used in communication and collaboration, e.g. how to write a good email, how to use git and write a good commit message, etc. To work in a team environment, you must be responsible and take ownership of your work. Since software development is a technical job, you must acquire the required skill set, e.g. be able to write maintainable code, read code, deliver your work, etc.
Apart from all of these, the urge to learn new things is vital. The dynamics of technology is ever-changing; to be able to adapt to new thing, you must carry out the habit of reading, exercising, and experimenting the new stuff. No one can know everything but having the right attitude towards learning makes a lot of difference.
So this is all for today, I hope this was helpful.
Stay tuned.
Type your email… {#subscribe-email}
✨ This article was originally published at https://bazlur.ca/2017/11/21/interview-with-bruno-souza-coding-and-collaboration-skills-a-junior-developer-should-have-to-get-hired/