Ready to get to work?
Let’s start with the facts. According to the US Bureau of Labor Statistics, employment of web developers is expected to grow 27% from 2014 to 2024. Simultaneously, employment of software developers is expected to grow 17%. Both these figures are significantly larger than the national average.
With increased demand comes increased expectations. As 2016 comes to a close, companies are looking for developers who have deep expertise in their field, can write code across applications and platforms, and are empowered to work in an iterative, collaborative, and accountable fashion.
Whether you’re at a company that’s rapidly scaling, you’re competing for a new job, or you just want to take your know-how to the next level, we’re here to help you stay focused on what matters.
These are the 5 skills developers need to stay competitive in 2017:
1. Familiarize yourself with Agile and Scrum
An Agile developer takes an incremental, iterative approach to a project. A timely feedback loop, a collaborative workforce, and constant communication are key to Agile. This methodology embraces change, as consistent feedback loops allow for a project to be redefined and re-optimized on a regular basis. Most companies and software teams have adopted Agile to at least some degree, even if they aren’t fully immersed. A truly successful Agile developer is comfortable working in faster iterations and is able to readily communicate with various team members.
Scrum, a subset of Agile, is a bit more structured. The roles and responsibilities are consistent and defined. Fixed length-iterations are called “sprints,” workflows are visualized, and transparency is paramount. Often times, teams utilizing Scrum are led by Scrum Masters (a defined role at the start of each project), who facilitate the process and allow teams to self-organize.
It’s regularly the case that Agile and Scrum are learned on the job, but there are plenty of opportunities for formal education on these methodologies, both online and in-person. There aren’t many prerequisites to becoming a Certified Scrum Master, and it’s relatively inexpensive. Take it upon yourself to learn!
2. Master cloud computing services, such as Microsoft Azure or Amazon Web Services (AWS)
Most companies are now hosting applications on the cloud. Leveraging a cloud computing system, like Azure or AWS is cost effective, efficient, and reliable. Many SaaS companies rely on these platforms.
Make sure you know how to write code that optimizes performances on these platforms, regardless of framework, operating system, database, or application. Your software development kit should be cloud-based as well.
AWS and Azure are the two big players in cloud computing right now. At VanderHouwen, these are the systems that our clients work with most frequently. While the technical landscape is changing, we expect these two to remain at the top for some time to come.
Learning these platforms is an essential skill to have in 2017. We recommend Pluralsight video tutorials to help you get to where you need. Their stepwise, highly specialized courses are built to help you master new technology in a relatively inexpensive way. The videos are led by industry experts who have real-world, up-to-date experience. Try it out!
4. Focus on Test Driven Development (TDD)
How often are you checking your code? Test driven development has transformed the traditional approach to writing code and is often a key methodology in any Agile process. In TDD, you write your functional code after writing your test code. The purpose of TDD is to “get something working now and perfect it later” in which you utilize as many repeated tests as needed until your source code is functioning properly. This approach is perfect for agile because it is iterative and incremental. These consistent feedback loops are also a time-saving methodology, preventing you from investing hours into functional code that can’t pass basic tests. Here’s a simple breakdown from Agile Data that explains how TDD works:
Kent Beck, an American software engineer who is often attributed to having popularized TDD, wrote in his book, Test-Driven Development: By Example that TDD “encourages simple design and inspires confidence.” His two rules for TDD are:
1. Write a failing automated test before writing any code
2. Remove duplication
5. Know the fundamentals
This isn’t a technical skill as much as it is about fostering concentrated expertise. It’s also something we ensure is a focus of all our candidates who we recommend for developer positions.
Do what you do best. If you’re a full stack Java Developer, you need to be able to go in-depth on Core Java questions in a job interview. A developer whose skillset is a mile wide and an inch deep has a harder time passing an interview than someone who actually can go in-depth on a particular subject. If you’ve found your favorite language or framework, become an expert and know the fundamentals. That’s the VanderHouwen way.
Use your resources. Read books on clean code, try tutorials on Pluralsight, take some coding classes. The fundamentals are in demand everywhere, and you can rest assured you’ll be asked about them during a job interview. Perhaps the most common complaint we hear from hiring managers is that developers have a hard time going in-depth when asked questions in an interview on their chosen skill. Don’t let a lack of expertise get in your way!
Need help honing in on your skills? Let us help you find your focus.