There’s no magic bullet for getting hired as a developer. But there is some great advice available to help in the process.
I recently interviewed Matt Langan and Christian Macolino, two Senior Tech Recruiters over at Atlassian. I wanted to get a realistic understanding of the subject from the perspective of the people involved with hiring tech talent for a $3.3 billion software company.
This article looks at issues surrounding getting hired, including some practical tips and pointers that arose out of the interview.
Resumes and Online Portfolios
Let’s start with tried-and-tested resumes and portfolios. Through these, we present everything that’s important about us to recruiters, interviewers, and anyone else involved in the hiring process.
Often developers invest more time in this portion of job hunting than in the actual searching process.
Digital or traditional?
When looking for a position with a tech company in particular, we might assume that digital portfolios—personal websites and online resumes—would be preferred to standard-format resumes. But that’s not always the case. Especially for non-design roles, recruiters care more about just getting the information they need. Often, in today’s world, though, that does involve a digital resume or portfolio.
Christian had the following to say about digital resumes:
It’s no secret that the digital resume is fast replacing the traditional resume. The key to building a great digital footprint is making sure you have listed enough relevant content about yourself and keep it up to date, so that your footprint is searchable and stands out from the pack. A recruiter’s ability to find the talent is largely based on the data that we can search. Digital footprints that are light on information make it tough for you to stand out.
This also applies for smaller firms, or non-tech companies whose hiring processes involve more managerial oversight and less tech.
However, for those smaller companies, the online portfolio may be as important or more so. With less expertise and testing available to gauge your worth, a company may resort to carefully analyzing your past work even more than a large tech company might. Only you can judge how much time each of these tools is worth—by carefully considering what your target positions are.
Choosing Your Path
When we discussed education and the very first positions that developers take on, Matt had the following advice regarding education and getting started:
Get involved in side projects, hobbies, start a blog, join in on discussions on forums, get involved with Stack Overflow or Github, ask questions, provide answers, take part in coding competitions, go to tech meetups.
In your current job, master what you’re doing, ask for more responsibility, and help others learn—particularly those more junior to you.
This, of course, is excellent advice. If you’ve been hired for a particular discipline, use your side projects not only to keep up with that core language or tool, but also to spread out your knowledge base and gain at least a basic understanding of some other languages, software, and other tools.
Constant learning is critical. On the point of continual education, Christian had a sobering point:
The first five years of your career really set the stage. In a new role or area, you’re like a sponge, you’re open to learning, you’re curious, you ask questions.
But after the four or five year mark, you start to know a lot, people look to you for guidance, and your learning starts to switch off a little bit. So if you learn bad practices and bad habits early on in your career, you’ll actually carry those with you.
Self assessment
For those already beyond that point, maybe this is time for some self-assessment.
Take a moment to consider where you are in your career. Are you still learning from your coworkers, your users, and your projects? Are you self-improving and growing through personal side projects? Do you still have a passion for your work?
Find the passion
It seems to be a common factor with a lot of companies that a passion for development is critical. Sometimes, especially for junior roles, it can even matter more than the specifics of education or knowledge.
Yet many of us are so caught up in the job security quest that we forget what drew us to programming in the beginning. We fail to realize sometimes that the passion and drive that got a lot of us here is what employers want.
Make a change
If you’re already employed as a developer, and you’re not still learning, and you’re no longer passionate about your career, then consider what you can do to extract yourself from that position and change things. It could be as simple as an attitude shift or a change in responsibilities at your current workplace. It could be as dramatic as switching positions, employers, or even career paths.
Sometimes the hardest part is simply making the change. Beware of sticking with the status quo just because it’s easier.
Full-stack or Focused
Many developers struggle with a path, whether novices or seasoned professionals. Is it better to be a focused developer—an expert in one language—or to be a full-stack
developer?
The answer, it seems, may be a bit of both.
Own a discipline
The goal, for those starting out, should be to touch on a lot of things, then drill into one and make it your own. Use that as a launchpad to begin a real career as a developer, and own that one discipline.
Continue to tackle other ideas in your free time, though, and then start expanding other skills professionally after you’re established.
However, also be versatile
Recruiters on the hunt for developers for senior positions acknowledge the need for broad understanding. Find a niche and be good at it, but don’t close off to everything else.
Tackle other projects, languages, roles and disciplines both at work and on side projects to make yourself versatile and expand your skill set.
As Matt said:
We want people who can understand the tech from conception to production.
Christian had similar comments regarding the usefulness of full-stack mentalities:
Languages and frameworks are mere tools to solve business problems. Technology moves so fast that what is relevant and hot technology today is redundant tomorrow. We need people that want to learn and keep growing with the pace that technology changes.
Christian went on to add that, rather than focusing on the stack, these are the desirable qualities in a software engineer:
- fundamental coding ability
- sound architectural knowledge
- depth and breadth of software development knowledge
- ability to balance conflicting needs and adapt to get stuff done
- passion
- communication skills
- delivery.
The suggestion for developers is to think of building your skills in a T shape. So, pick one area that you want to go deep in, but don’t limit yourself to just this area. Keep learning and building that breadth of knowledge, because that may need to be your depth in your next job.
Find a Career, not a Position
Atlassian doesn’t necessarily hire for specific job openings within specific teams. They’re hiring talented individuals, it seems, for the sake of acquiring that talent, not just for a body to fill a slot in a particular team.
The same applies to many companies: they’re hiring to acquire the asset that is a skilled, energetic and adaptable person. Focusing on exact roles in the company can be done during or after the hiring process, or even years later, if you want to transfer roles in a company that offers internal job postings and promotions. Getting your foot in the door is sometimes the most important thing.
This sort of attitude makes it all the more important to carefully consider your goals before choosing companies to approach. And don’t just apply for jobs. Do your research on the company. Find out about their recruiters and HR staff, and make yourself known to them. Find yourself a career trajectory that surrounds you with talented developers. This will make it easy for you to continue to learn from your seniors, your peers, and sometimes even your juniors.
Make Yourself Noteworthy
When I asked Matt and Christian whether they had any unique stories about things people had done to either be instant hires or instant rejections during the Atlassian developer hiring process, neither could come up with much.
This is primarily because Atlassian, like many large tech companies, often goes after their own talent, rather than waiting for it to come to them. People don’t need to be extravagant in their applications to get noticed, as they’ve often already been noticed by that point. This applies even for junior developers, to an extent.
The lesson here: make yourself noteworthy.
Ways to get noticed
Blog. Contribute to open source. Use social media. Build yourself an online presence. Interact with peers in developer communities like GitHub, SitePoint Forums, Stack Overflow, and many others.
Be fulsome with online profiles
Matt, Christian and I discussed online profiles at length, especially those on LinkedIn. One thing that was brought up was that recruitment spam on LinkedIn has made some people feel the need to limit what they put in their profiles.
When people limit what they show, they may stop recruiters like these gentlemen from approaching them at all. They only make the decision to contact someone based on the information available.
So if you’re seeking a new position, leaving yourself open to more spam-like recruiting requests can be worth the pain, as you never know what gems will turn up.
Developer Interviews
Here are six pointers about actual developer interviews from Matt and Christian.
1. Research the company
Read over the company site and blogs. Watch their videos, get a feel for their culture, and look into news about the company and their ventures.
Being informed makes you seem interested, and better prepares you to discuss the company intelligently, and ask questions about how you’ll fit into it.
2. Check out your interviewers
Look over LinkedIn and other profiles of those you’ll be meeting.
3. Brush up on skills
You should know what areas are likely to be tested. If you don’t, try to find out. Then brush up on the skills you’ll be discussing, even if you’re confident. Don’t let some simple code challenge destroy your chances out of nervousness.
4. Practice
Practice pair programming online with a buddy or via a service.
Many developer positions in software companies, or large organizations, may have some form of pair programming test, or may observe you coding at the very least.
If not, they may practice pair programming among their developers if you get hired.
Either way, if you aren’t familiar with it, become so, at least a little bit.
5. Know yourself
Think about behavioral scenarios, stories, failures and successes from your education and career so far. Be familiar with your own path and your strengths and weaknesses as a developer and as a team player.
6. It’s your interview, too
Remember that an interview isn’t just for an employer to decide if they want you. It’s also the time for you to decide if you want them.
When an interviewer asks if you have questions, you should have questions. Ask about the direction of the projects you may be on, or the company’s goals, or your place in it. Offer ideas that you’ve come up with for projects or additions to their services.
Be interesting, and be interested. This is as much a chance for you to find out about them as it is the reverse.
Go Get Hired as a Developer
It’s important to remember that a large portion of this advice is based entirely on you, the developer.
If you want this, you may have to struggle. You may need to spend time looking for work in order to find the right company and career path.
You may have to build a portfolio, possibly even with free side projects or freelance labor done in addition to a full time job.
You may have to struggle to develop online profiles and histories for people to search, or learn technologies in addition to what you already are doing. But in the end, it’ll all be worth it.
And if you do get that interview at your dream company, think of this. This interview may decide the rest of your life, or at very least, the next few years. Your income, your career trajectory, your future education, and your happiness may ride on the next series of tests and conversations. You owe it to yourself, and to those who are extending the offer, to prepare for that and to be the absolute best hire you can be.
Thanks again to Matt Langan and Christian Macolino, Senior Tech Recruiters at Atlassian, whose input made this article possible, as well as Mary Solina, the Recruitment Team Lead, who organized things.
Frequently Asked Questions (FAQs) about Getting Hired as a Developer
What are the key skills recruiters look for in a software developer?
Recruiters look for a combination of technical and soft skills in a software developer. Technical skills include proficiency in programming languages such as Java, Python, or C++, understanding of data structures and algorithms, and familiarity with software development methodologies like Agile or Scrum. Soft skills include problem-solving abilities, communication skills, and the ability to work well in a team. Experience with specific tools or technologies relevant to the job can also be a plus.
How can I make my resume stand out for software developer positions?
To make your resume stand out, highlight your relevant skills and experiences. Tailor your resume to each job application, emphasizing the skills and experiences that align with the job description. Include any relevant projects or achievements, and quantify your impact where possible. Also, ensure your resume is well-structured, free of errors, and uses clear, concise language.
What should I expect in a software developer job interview?
In a software developer job interview, you can expect both technical and behavioral questions. Technical questions may involve coding challenges, problem-solving tasks, or questions about your technical knowledge and experience. Behavioral questions aim to assess your soft skills, such as teamwork, communication, and problem-solving. You may also be asked about your career goals and why you’re interested in the role or company.
How important is a portfolio for a software developer job application?
A portfolio can significantly enhance a software developer job application. It provides tangible evidence of your skills and abilities, allowing recruiters to see your work firsthand. Your portfolio should include a variety of projects that showcase your technical skills, creativity, and problem-solving abilities. Include a link to your portfolio on your resume and LinkedIn profile.
What are some common mistakes to avoid in a software developer job application?
Common mistakes to avoid include submitting a generic resume, failing to tailor your application to the specific job, and not thoroughly researching the company. Also, avoid neglecting your soft skills, as these are increasingly important in the tech industry. Finally, ensure your application is free of errors and clearly communicates your skills, experiences, and interest in the role.
How can I prepare for a technical interview?
Preparation for a technical interview should involve reviewing the basics of computer science, practicing coding problems, and understanding the technologies and tools mentioned in the job description. It’s also beneficial to research the company’s tech stack and any relevant industry trends.
What are some tips for negotiating a software developer job offer?
When negotiating a job offer, do your research to understand the market rate for the role in your location. Consider not just the salary, but also benefits, work-life balance, and opportunities for growth. Be prepared to articulate your value to the company, and don’t be afraid to ask for what you believe you’re worth.
How can I keep my skills up-to-date as a software developer?
Keeping your skills up-to-date is crucial in the fast-paced tech industry. Regularly learn new programming languages, tools, and technologies. Participate in coding challenges, attend industry events, and follow relevant blogs or podcasts. Consider further education, such as certifications or advanced degrees.
How can I demonstrate my problem-solving skills in a software developer job application?
To demonstrate your problem-solving skills, highlight specific instances where you’ve solved complex problems in your past roles or projects. Describe the problem, your approach to solving it, and the outcome. Including such examples in your resume, cover letter, or interview can showcase your problem-solving abilities.
What are some ways to gain experience as a software developer?
Gaining experience as a software developer can involve working on personal projects, contributing to open-source projects, or doing internships or part-time jobs. Participating in coding competitions or hackathons can also provide valuable experience. Additionally, networking with professionals in the field can open up opportunities.
Jeff works for a startup as a technical writer, does contract writing and web development, and loves tinkering with new projects and ideas. In addition to being glued to a computer for a good part of his day, Jeff is also a husband, father, tech nerd, book nerd, and gamer.