In my job of helping people transition to an audio programmer’s position, I am often asked “how to prepare for an audio programming job interview”? In this article, I am going to share with you my top 10 tips on the topic, which helped others and me land their desired jobs or contracting offers.
Table Of Contents
- Tip #1: Don’t Panic When They Don’t Respond
- Tip #2: Don’t Stress Too Much Over Your Resume
- Tip #3: Don’t Be Discouraged By The Requirements
- Tip #4: Be Mindful Of What You Know And What You Don’t Know
- Tip #5: Prepare On Your Experience
- Tip #6: Think About Why You Would Like To Work For That Particular Company
- Tip #7: Think Of What You Can Offer The Company
- Tip #8: Read Up On The Company
- Tip #9: Show Passion For Music
- Tip #10: Be Confident And Smiling
I am assuming that you want to apply for an audio programming job and you want to prepare best for the upcoming job interview. These tips cover both, the technical and the soft-skills sides of such an interview. Of course, this interview is similar to any software engineering interview but it has a few unique twists when it comes to audio.
Example positions for which you may apply are an Audio Developer in the JUCE C++ framework, audio plugins, mobile (Android, iOS) or desktop apps with audio, web audio, embedded audio, audio systems, digital instruments, hearing systems, etc.
So you’ve sent your CV to the company or the recruitment system and…. nothing happens. No calls, no replies. Why is that? Well…
Tip #1: Don’t Panic When They Don’t Respond
Quite often, the hiring process from the company side is a mess so it is not to worry that they don’t reply. Possible causes for the silence from the company’s recruiters are:
- your resume got lost (unfortunately, that does happen),
- someone forgot to write you,
- someone thought, someone else will write you,
- the company lost funding and they cannot hire anyone at the moment,
- the company got occupied with more pressing matters,
- people responsible for the recruitment got occupied with more pressing matters,
- the position is not relevant anymore,
- the position got filled.
So don’t worry! If you did not get an invitation to an interview, it does not mean that you weren’t the best candidate; you may simply have been overlooked.
Tip #2: Don’t Stress Too Much Over Your Resume
I understand that I may get criticized for stating this and you should definitely not neglect your resume. But remember that a perfect resume does not exist.
I have taken part in many workshops on job application and I have also watched quite a few YouTube videos on this topic. Basically all advice boils down to a recruiter’s personal preference.
Try to make your resume clear and adhere to the standards of the company you apply to. For example, in the USA, resumes are typically one-pagers without the candidate’s picture, whereas in Germany, it is accepted and not uncommon that the resume has an extra front page with the candidate’s picture on it.
Finally, the companies should not hire you for your graphical skills but for your audio programming skills. But, of course, that’s just my opinion.
Tip #3: Don’t Be Discouraged By The Requirements
Often times, I find people NOT applying because they think they don’t fulfill all the criteria. At the same time, I hear time and time again about people who applied for a job although they barely fulfilled any criteria. One example that comes to my mind is a friend of mine who put Russian as a known foreign language on his resume although he knew just a few words of Russian and that was the deciding factor for him to get accepted for the job.
Now, I don’t suggest you exaggerate your knowledge or experience. What I do suggest is that overconfident people typically get the jobs they apply for because at least they apply.
On the other hand, a lot of job postings contain completely unrealistic requirements. A flagship example of this are Apple’s Software Engineering Internship postings:
Figure 1. A long list of "key qualifications" for a software internship at Apple. Source (access 19.07.2023).
Be reminded that these are requirements for an internship. And yes, I do realize that they mention “any one of the following” but still, such a list may be daunting specially for a university student. Such a list could scare off an industry professional with 5 years of experience.
My advice is: apply anyway! What’s the worst thing that can happen? Remember, it’s the company that’s responsible for hiring the right person for the job, not yours. If they hire an underqualified person for a position, it’s their fault, not yours.
Tip #4: Be Mindful Of What You Know And What You Don’t Know
So the company received your CV and invited you for an interview. Great, congratulations! The hardest part of the application is behind you 😉
Now, put yourself in your interviewer’s shoes: what would you want to know about the candidate?
I’d like to know 2 things:
- Does the candidate fit the team in terms of personality?
- How fast will they be able to learn what’s necessary on the position?
I wouldn’t like to discuss point 1 here because it’s a more general topic. Instead, I’d like to focus on the second point.
The speed at which the candidate can start working at their full capacity comes down to 2 factors:
- what they already know,
- how fast they learn.
I consider myself a fast learner, yet I do understand that it’s still much faster to go from sixty to a hundred than from zero to a hundred. The great part is that we can improve on both these points.
A natural follow-up question would be: what should I know as an audio programmer?
Typically companies require 4 types of knowledge:
- core Computer Science knowledge including the basics of agile methodology,
- core DSP knowledge,
- some programming language or languages, specific for the position you apply for (for example, C++, Python, or Rust), and
- finally, a huge plus for you is knowledge of the specific framework the company is using; this shortens the introductory period (before you reach the full work capacity at the new position) significantly. If you don’t know the specific framework that they are using, you typically know some related framework. For example, if the company uses Catch2 C++ library for testing and you are well-versed in GoogleTest, that should be good enough. You will still have to learn something at work and the company should be aware of that. If you’re not sure which technologies the company uses, reread the job description or the company profile; you may even ask the employees directly via LinkedIn.
I’d be remiss, if I didn’t mention here my free audio developer checklist: a checklist with all bits and pieces of knowledge that, according to me, an audio software developer should know. To get it for free, head over to thewolfsound.com/checklist.
In general, companies value people most who
- are honest,
- can collaborate well with others, and
- learn quickly.
At any new place you will need to learn a lot, even if you are an experienced software developer; for example, you will have to learn their workflow and their codebase.
Consider if you can show your knowledge not just state it, even if the company does not conduct very formal knowledge tests or technical interviews. Do you have some personal project or open source contributions you can show? Do you have a blog or a YouTube channel? Have you spoken at conferences? Everything in this area is a plus because it shows your engagement and passion for audio programming.
A big question may be: ok, I am a student or I have just graduated, I don’t feel I know a lot; what should I do?
Don’t worry: you probably still got some experience from working on university projects; don’t be shy to showcase them. Remember that companies should have reasonable expectations of university graduates. If a company makes a mistake and hires you for a “too high” position, it’s their fault.
What you must never do, however, is lie about knowing some technology or methodology; the companies can easily verify this after they hire you and such a disgrace could easily break your career.
Tip #5: Prepare On Your Experience
Typically, a section of your resume lists your past work experience. While it is not clear whether you should put your every job there or just the positions relevant for the particular application, you should be prepared to answer questions on that experience.
Example questions could be:
- What was the project you worked on at company X?
- Which technologies have you used?
- What was your biggest contribution to the project or the business?
- What was the biggest problem you encountered and how did you overcome it?
Remember that you are not required to be perfect. Everyone makes mistakes and people who pretend they don’t should be approached with caution. Be prepared to tell the story of a bug you introduced, how you fixed it, and how you made sure such a bug does not happen again in the codebase.
Tip #6: Think About Why You Would Like To Work For That Particular Company
I am not an idealist: I understand that money is one of the main reasons people go to work. There’s nothing wrong with it. I completely get the desire to earn decently. But it does not have to be the only reason to apply for a position.
Think about why you would like to work for that particular company. Are they using a technology that interests you? Are they working in a field that you would like to know more about? Do you like their culture or respect some of the prominent figures in the company? Do you strongly believe in the product? Every kind of motivation is better than “I just want to earn money”. Don’t forget to communicate your particular motivation to the interviewer.
Look at things from the company’s perspective: would you rather employ a candidate that is just looking for a job or a candidate that is really motivated to work especially for you? Which of these candidates will make a better employee?
Tip #7: Think Of What You Can Offer The Company
A work relationship is a relationship: you give value to the company and the company rewards you for it with salary, praises, and extra bonuses.
Obviously, your main input will be in terms of your programming. But there’s so much more you can offer! No one enjoys working with a secluded individualist; typically business value is created through an effort of multiple people and teams.
Is there something in particular that people enjoy in your personality or your workflow? How can you enhance the work atmosphere? What did the companies you worked at previously particularly value?
I can give you examples that are true for me and I hope that they don’t sound too braggy; remember, this is just an example of how we can provide value in ways other than coding.
Apart from programming, I feel confident in explaining people even the most advanced concepts. Thus, at work, it’s not uncommon for me to mentor others upon request.
As I always try to stay abreast of the current best practices and newest technologies in the audio programming space, I often come up with innovative solutions or know about some piece of technology that solves a particular problem.
I also practice the “extreme ownership” approach: I’m not just an employee who does what they are told to but I try to analyze and see what the problems are in the context of the business case and try to propose solutions and enhancements where possible. Since company managers are often a little bit further away from the “coding front”, they value these suggestions immensely.
Finally, I have a blog, a YouTube channel, and some social media following. This allows me to promote the company through additional means, which is a huge marketing opportunity for the company I work at. For example, I promoted my employer Loudly at all the conferences I spoke at and in my Android Wavetable Synthesizer Tutorial series.
So, what are your superpowers? 💪
Tip #8: Read Up On The Company
Before you rush into the interview, be sure to read up on the company. What is their culture? What are their values? How would you fit in? Do you have any particular skills or experience that they would find valuable? Is there something inspiring you find about the company or its history? Do you believe in the product for a particular reason? Any of these points can be a plus for you!
And yes, this does tie a little bit into tip 6.
Tip #9: Show Passion For Music
As audio programmers, we are blessed with the possibility to work with data that we can enjoy: music. (I learned this fact from Meinard Müller).
Naturally, it is important to show why this industry is interesting to you. Do you listen to a particular music genre? Do you play some musical instrument? (A lot of software engineers in audio do but not all). For me, I play the piano and the guitar, and I have self-published my debut music album The Fire Will Rise in 2020.
That not only shows my interest in music but also my diligence and dedication to complete projects.
Tip #10: Be Confident And Smiling
This probably has been said a thousand times over but it’s still worth mentioning. It’s not the way you are but the way people perceive you that matters during an interview. Could you make them perceive you as confident? And by “confident” I don’t mean arrogant.
Look at it from the interviewer’s perspective: do you really want to interview yet another scared and shy candidate? Or you’d rather have a friendly conversation with a fellow audio programmer?
Even if you don’t get hired, you may end up with a cool new friendship and these are especially valuable in the audio programming industry as the community is quite small.
So walk in with your head up! 🕶️
These were my 10 tips on succeeding in an audio programming job interview. I hope you will find them helpful; they did help me.
Did I miss something? If so, let me know in the comments below.
And if you want to become an audio software developer, be sure to download my free audio plugin developer checklist that lists all the things to master for becoming a full-fledged audio developer!