Starting Your Software Development Career: Strategies For Success
During MidCamp, a regional Drupal conference in Chicago, I had the pleasure of presenting a talk on how to get your first job in Drupal. I still recall the anxiety I felt when trying to get my first software-development job. As a mentor to others in that same position, I know that it’s still hard and anxiety-inducing. As someone who has interviewed tens of dozens of folks for positions across the experience spectrum, I have a perspective that can hopefully guide others through this process. My talk at MidCamp was focused on Drupal, but many of the tactics I covered apply regardless of technology. Below is a summary of my talk, broadened to cover software development jobs in general.
Your Job Landscape
To embark on a successful job search, it pays to spend a little time analyzing the current state of hiring in general, the state of the industries that appeal to you, and the state of hiring for the technology or focus you are looking to find work in.
As I write this, we are about midway through 2023, and the hiring landscape is … weird. The many headlines earlier this year about tech layoffs masked the nuance of what was happening. Yes, there were lots of layoffs at well-known tech companies, and that may continue, depending on how the economy continues to react to inflation and interest-rate increases. But every company and industry uses technology, so industries that are thriving in these market conditions are still hiring. Don’t lose hope based on headlines alone. But do some reflection and research. What type of organization interests you? What type of industry or focus do you know? What technology do you want to work with and have learned or worked with in some way? Do you want to work at a large company, an agency, or a small nonprofit? These answers will help you narrow the scope of where to look for jobs.
Targeting Your Developer Job Search
With the knowledge that the job market is challenging, it’s important to consider the type of role you are seeking. While you may have a clear understanding of your desired career path, it’s beneficial to broaden your horizons when starting out. Applying for related roles can increase your chances of landing a job and gaining valuable experience. Throughout my career in software development, I have embraced roles in adjacent areas, such as business analysis, project management, people leadership and management, and business ownership. Experience in adjacent areas makes you a stronger candidate in many ways and may lead you to opportunities that are very much what you’re looking for.
Finding Job Opportunities
When it comes to finding job opportunities, there are several avenues to explore beyond Indeed, ZipRecruiter, and the like. I recommend setting up automated alerts in Google and LinkedIn for job postings that meet the criteria you identified above, as a good first step. After that, expand your search beyond the methods everyone else is using.
- Go to meetups, whether they are based on the technology you use or focused on a specific industry. Even attend ones that seem outside the scope of your job search. Not only do recruiters attend meetups (especially the tech-focused ones), but you’ll meet people who may know of opportunities.
- Join tech-focused Slack workspaces. I have joined a dozen Slack workspaces, and many of these include a #jobs channel. I belong to one for tech folks in my region and many for the technologies we use at Spry. You can search for these online, or you may find out about them through meetups, conferences, subReddits, or other online communities.
- Use LinkedIn to find relationships between the people you know and companies you’re interested in. Even if the person isn’t in the area of the company you’d like to work in, they can be instrumental in a few ways. They may know of unpublished job openings or have friends in your area of interest. They can also give you an inside view of the company’s culture and health.
- Look for niche or affinity job boards that focus on an industry, technology, or other aspects that match you or your career focus.
The common theme in many of these tactics is to expand and develop your network. Especially to introverts, “networking” can be off-putting. But the more people you know, the better your chances are of finding job opportunities. Many open positions are never posted on job boards, and the only way to know about them is through people on the inside.
Getting an Interview
What can be the most daunting for anyone starting out in a career is the lack of any advertised job that has no experience requirement. It’s important to remember that these listings describe an “ideal” candidate, and very few individuals will perfectly match the description. “Minimum” years of experience are subjective, so don’t let that discourage you from applying.
That advice goes for anything listed in the job description. Even the “required” attributes. I’m not suggesting that you apply to jobs where you meet none of the criteria. However, if you feel like it’s a good match for you, then, by all means, apply for it! But to give yourself the best chance, submit a resume tailored specifically for that position that highlights ways you match or come close to matching the job description.
It’s true that you will face the real possibility of being weeded out by automated application scanning, especially with larger organizations. This is where relationships can further come into play. If you can get someone inside the company to share your resume or otherwise bypass the automation, you have a much better chance of making it to an interview phase so you can explain how you’re a great candidate, even without the posted minimum experience.
Interviewing and Landing a Job with Little Experience as a Software Developer
This whole process can be anxiety-inducing, but getting to a phone screening or interview is where anxiety can go into overdrive. Preparation and practice will help you through this phase of the process.
There are many websites with extensive lists of possible interview questions. It pays to review some of these, but don’t get bogged down and overwhelmed. Pick a limited selection of what seems relevant to help you mentally prepare.
Preparation should also include researching the company and coming up with a list of questions for your interviewer. You should ask about the culture, core values, and other topics that will help you understand if you’ll be a good fit for the company. Having questions that are very specific to the company can signal to your interviewer that you’ve spent time researching and have a genuine interest in working for their company. Finally, asking questions can lead to a more conversational style interview that helps the interviewer feel like they know more about you. A hiring manager wants to understand if you can do the job, but more importantly, they want to know how you’re going to interact with them and their team. A conversation, rather than a one-sided interview, can help the interviewer see that more clearly.
Practicing can feel awkward and be time-consuming, but it really pays off, and not just for technical interviews. Practicing alone in front of a mirror and with family or friends can be immensely helpful. It’s one thing to know in your head how you want to answer a question, but you also need to practice how to convey your answer, out loud, to another person. Have a friend generate interview questions with ChatGPT, and then feed them to you. Even if that person isn’t technical and has no idea what you’re talking about, they can get an AI assist where needed, and give you valuable feedback on your communication style, confidence, and effectiveness.
Even with practice, as someone with little professional experience, you will definitely get questions that you don’t know the answer to. This is something to specifically prep and practice for. When I interview candidates who have little experience, I expect this. In fact, I worry about candidates who struggle to admit that they don’t know an answer. So saying “I don’t know” is good. What’s even better? Following up with the tactics you would use to find out. What sites would you use to research the question? How long would you allow yourself to research on your own before asking someone else? This is a great opportunity to show your analysis skills, time-management skills, and resourcefulness.
Final Thoughts
Every career has a beginning, and a career in software development is no exception. Conduct thorough research, expand your network, and maintain a positive mindset throughout your job-search journey. Breaking into a new industry is not easy. But fostering resilience and adaptability during this process are traits that will benefit you throughout your career in our ever-evolving industry.