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.
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.
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.
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.
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?
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.
Here are six pointers about actual developer interviews from Matt and Christian.
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.
Look over LinkedIn and other profiles of those you’ll be meeting.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The above is the detailed content of Getting Hired as a Developer: Tips from Senior Recruiters. For more information, please follow other related articles on the PHP Chinese website!