Many aspiring developers looking for a job have the theoretical skills required to be a developer but lack commercial development experience, which can make employers hesitate to take them on. In this article, Paddy Sherry — an experienced recruiter — provides some handy pointers for improving your chances of landing a development job.
For any young Computing or IT graduate, landing your first full-time job without commercial development experience may be the biggest challenge you’ll face in your career.
However, unless you’ve demonstrated extensive programming ability from your mid teens, already built relationships with employers or completed an internship with a company, getting that first job offer is going to require time and effort.
Why Is It So Difficult?
Web and Software Development in the real world is nothing like the sterile environment in which you studied.
You’ll be working in a team, and while you may have done a 12-week project at university with some classmates, in a job there are many more variables. Every team member is expected to deliver and work cohesively with each other. That means understanding the product and the part you have to build, committing quality code to the repository that meets the coding standard, delivering your feature on time and making sure it functions on all production environments instead of just your local machine.
There are already production systems in place, so trying to slot in and instantly start cranking out code is difficult, even for the most experienced developers. Time is required to learn the project structure, understand code written by another developer and commit changes that don’t break something elsewhere. Companies spend time and money finding new employees, so they won’t want to sink more effort into hand holding a junior developer through the first six months of their probation.
Bugs may be tolerated in your own projects and college work, but they cannot happen when working on a commercial development team. The company’s cash is on the line with every deployment, so if you break something they’ll be losing face and revenue until it’s fixed. Every production release needs to be tested, secure, scalable and performant. Experience is required to understand all the areas involved in software products and what you have to test when developing. This is impossible to have when starting your career.
With all that said, when you find an opening for a Junior Developer, there are some things you can do to give yourself an advantage over the other applicants.
Decide Your Best Languages
Given the sheer breadth of information, computing courses can only touch lightly on web development, software engineering, databases, networking, UX, architecture and business development. A frequent mistake from new job seekers is listing all of these as things you’re proficient in.
Narrow down your skill set and decide which languages you’re good at.
Back-end languages are less prone to change, so pick one strict language like Java, C# or Python if you want to move into software. If Web Development is the route you want to go, select PHP or Ruby. This is the foundation upon which you’ll build your career.
You’re reducing the skills you claim to have but demonstrating that you’re more focussed while still keeping your options open to specialize in front- or back-end development later in your career.
Employers love that flexibility in their workforce.
Build a Portfolio Site for Yourself
An interviewer isn’t going to ask about the modules you studied at University, as it’s very easy to pass them without really knowing the subject matter. They want to know about experience, and while you may not have much of that, it can be acquired easily by building yourself a portfolio site.
It doesn’t matter if you don’t have anything to list on the portfolio page. Registering a domain, setting up hosting, installing a CMS, creating accounts, submitting to search engines and adding Google Analytics are all vital parts of building a website. Getting traffic and making a success of the site aren’t even important at this stage.
If you’ve built a site, most likely your friends and family will know someone that needs one built also, so there’s an opportunity add to your portfolio. It gives you the chance to learn from your initial mistakes and carry out work for someone else. This brings you closer to the real world development experience while still offering a relatively risk-free environment to refine your skills.
You then have some experience to talk about in interviews and have a greater chance of impressing an interview panel if they think there are some small websites you could work on for them.
Create a Product or Plugin
However, if there was no solution available or you had a different use case that required some customization, there’s a good chance that another developer is in the same position.
Try to find a way to solve that problem and package it into something that another developer could use, such as a WordPress plugin or public GitHub repo.
This brings you a step further, because you’ve moved past developing for yourself on standalone projects to thinking about the requirements of other products and engineers, the use cases and how your code will slot into a larger code base.
This is gold in the eyes of an interviewer, because it’s a lot closer to a real dev team where you’ll work on a small part of a larger application and ensure your code integrates without causing problems.
A nice little bonus is that you could charge a small fee for your plugin and make a little cash for your efforts.
Participate in Online Communities
Aside from technical ability, employers like to see evidence that you really like your job, as things change so quickly in development that you have to dedicate personal time to furthering your knowledge. You always need to be aware of changing trends and emerging frameworks or tools.
The best way to do this is to read blogs and software sites. When you build up enough knowledge to contribute, start commenting on them and providing your ideas. If you can offer a solution that solves a problem for someone else, your social credit will soar.
You may think that employers won’t care about this when screening a candidate, but they do. It’s not uncommon for companies to check your LinkedIn, GitHub, Stack Overflow profiles to see evidence that you’re committed to your career. Top level teams will even ask for a minimum Stack Overflow reputation from applicants, as there’s nothing that demonstrates knowledge more than upvotes on your suggested fix from other engineers.
Make All Code Public on GitHub
Put all your code online for the world to see. This opens you up to critique and analysis, but peer review is a crucial quality assurance tool used by software teams to drive out bugs. If you get used to this early, you’re showing that you won’t have any problems conducting a code review and that you’ll take feedback constructively in a commercial environment.
It also gives the tech lead the chance to see the code you’ve written. It’s very easy to talk about all the fantastic things you’ve built and problems you’ve solved, but the when a senior developer can view the source, it adds another layer of credibility to your development chops.
Your potential team members also have the opportunity to check the quality of your code, what design pattern you use, and how clean your commits are. Most importantly, it shows that you’re familiar with version control systems and how they form the core around which software products and teams are built.
Securing your first development job after graduating without experience is a difficult task, but there are proven ways to upskill and attract employer attention.
Choose a back-end and front-end language, build a site and then a plugin. Follow blogs and comment on them without being afraid of what people will say. Put everything you do on GitHub and experiment with all the snazzy new tools.
Remember that everyone is in the same position as yourself and has an equal amount of resources and opportunities. Follow the points in this guide, be committed while having patience, and eventually a well-paid job offer will come.
While you’re laying this groundwork for your first job, it’s also worth seeking out a development mentor. Developers with mentors get into the workforce faster, and once there, research shows that they’re promoted five times more often than those without.