By Cahlan Sharp, Founder and CEO of Devmountain.
Think of a software developer. What comes to mind? Is it a communicative team player, or a quiet tech head who prefers to keep to himself?
While comedy shows like HBO's Silicon Valley and The IT Crowd may poke fun at the stereotype that developers lack general social skills, are reclusive, and prefer to work alone, the world's most innovative companies are on the lookout for talent who can really bring something to the table, contribute ideas, push boundaries, initiate projects, and get the job done, not just tap out great code in silence.
In a recent article about whether coding bootcamps are really preparing the next generation of technical talent, James Dennin argues that many schools focus too much on training coders how to pass entry exams for tech companies, and not enough on how to think like developers. Dennin argues this can leave fresh graduates under-prepared for the realities of the modern workforce. So, what are the essential soft skills that every budding coder should focus on developing, before they step out into the world of work?
In a recent Mashable article about how to get employed at the world's hottest tech companies, the author argues that, althouth it is important for graduates to nail the technical interviews that showcase their coding wizardry, it is equally important to highlight soft skills to their employers.
The most important social, or 'soft' skill, is likely the ability to communicate clearly.
Communication skills are extremely important when working in high pressure environments, and employers are always on the lookout for those who can clearly articulate their plans, suggestions and ideas, and communicate both with other developers and across teams, especially when the heat is on. Software development is all about describing the metaphysical, considering most of what is being built cannot be seen.
When you are hot out of the oven from a coding bootcamp, and spend a lot of time surrounded by fellow developers, it can be easy to get caught up in technical jargon. The key to being a well-rounded IT professional is the ability to effectively communicate technical information to non-technical people, especially peers on the business side or executives in the C-suite.
Whether it be developing a new dashboard, or rolling out new functions on a Web page, developers constantly will need to go back and forth with other teams to make sure they are designing the right tools, to solve the right problems for the right people. This means speaking to everyone from customer service to marketing teams in language that you both understand.
Developers should be sure to make as good a first impression as possible during their interview, but also bring their communicative and social skills into day-to-day work, too. This means asking questions, offering advice and recommendations, and generally making themselves an integral part of a team from day one.
2. Ability to Work as Part of a Team
There's a stereotype that introverted people are in tech, and all techies prefer to hide behind their computers in their cubicles all day long. But, the reality is that working in cross-functional teams is becoming the norm, especially as the DevOps culture takes hold.
Even though developers will need to show that they can "hit the ground running," and have the self-confidence and motivation to work on projects alone, when working for a leading tech company, they will most likely be working with a team. Knowing how to contribute to a team and work together on a shared goal is important in today's tech world.
At Amazon, for example, founder and CEO Jeff Bezos organizes his teams with the "Two-pizza Rule", based on his belief that small independent teams work much more efficiently than teams that are too large to be fed with two pizzas. Although every company is different, as a developer at a leading tech firm, you should expect to spend some of your time working and innovating with other team members.
Completing a development project means communicating well and sticking to deadlines. If one player falls behind, it can totally knock the project off course, and lead to costly delays. Developers need to learn how to work well together, delegate, communicate, and help each other to make sure deadlines are met and the needle keeps moving.
3. Enthusiasm to Make a Real Difference
Developers are in high demand, with the latest Burning Glass report showing that upwards of seven million job adverts requiring coding skills were posted in 2015 alone. However, even though this means that leading companies are always on the lookout for new talent, it also means that they are wary of hiring staff who they suspect will quickly move on as soon as they receive a better offer.
As such, it is important for developers to show a real interest in the company they are applying for, and a will to become part of a team which can help it achieve its big mission and aims. Part of this comes from a desire to constantly innovate, push new ideas, and find new and more efficient ways of doing things. Optimism and a willingness to try new things will get noticed by leadership.
Introverts like to think things through before speaking, unlike extroverts, who appear to "jump into" new things more quickly. Because of this, it can be hard for a developer to portray a "can-do" attitude when presented with new ideas. However, leading companies like Google, Facebook, and Slack expect employees to be actively coming up with new ideas and projects.
Research isn't just for business development teams anymore. IT professionals need to stay on the top of their game, up to date with the newest trends, hacks, and technologies and constantly running ideas and suggestions past their peers, leaders, and other cross-functional teams to receive feedback and ideas.
4. The Ability to Adapt to Unforeseen Circumstances
Being able to think on your feet is an important skill for any developer. You accidentally deleted a week's worth of work, miscommunicated a task to a colleague, or simply messed up a project, and it's up to you to find a satisfactory answer to solve the problem. Leading tech companies hire the creme de la creme of development talent, and for that reason, do not expect to be slowed down or have deadlines missed for any reason.
In their day-to-day work, technically minded-people tend to focus on one task at a time at a deliberate pace, ticking off boxes in slow progress towards the final goal. The ability to go with the flow and quickly switch courses may be a challenge for some dev professionals, but it's extremely rare in today's business world that projects go exactly as planned, so being able to adapt and shift gears is key.
Most developers are used to putting in long shifts to get last-minute tasks finished, but the key part of adapting to unforeseen circumstances is doing so in a calm, and collected manner. If you work with your teammates, delegate and share the workload, and approach problems strategically, you will do much better than if you lose your cool.
Tech employers are crying out for new technical talent, but although they want the best developers out there, they also want people who can fit into their team's culture and values, too. So, rather than becoming a tech mercenary, hawking their trades to whoever will pay the most, newly trained developers should aim to develop the right soft skills which make them a valuable part of a team, not just the weird coder who never really speaks to anyone.
About the Author
Cahlan Sharp is a veteran software engineer, entrepreneur, educator, and an amateur drone enthusiast. Cahlan is the Founder and CEO of Devmountain, a coding/tech school with locations in Utah and Texas.