Recently, I've seen a lot of questions about how to prepare for interviews, especially for those looking to land their first FPGA job or move on from their current role. The interview process can be daunting, but with the right preparation, it becomes much more manageable.
First off, it’s important to remember that every company's interview process is unique. The hiring panel, the process, and the hiring manager's style will vary from one place to another. That said, it does feel like interviews and the hiring process have become more complex than they used to be—and possibly more than they need to be.
I thought it would be helpful to share some insights from my experience as both an interviewee and a hiring manager. These are some of the things I look for when interviewing candidates and the processes I use when evaluating potential hires.
Interviews Are a Two-Way Process
The most important point to remember is that interviews are a two-way street. While the company is assessing if you're the right fit for the role and team, you should also be evaluating the company. Pay attention to how you are treated during the recruitment process, how the company presents itself, and how the interviewers interact with you. You are interviewing the company just as much as they are interviewing you.
My own experience with graduate interviews was a lot simpler than what candidates face today. Back in 1999, when I interviewed with Raytheon, it was a casual chat about an RSA encryption project I had worked on during my final year at university (spoiler: it wasn’t very good, but I still have it).
Since then, I’ve gone through a lot of interviews, from FPGA/hardware design roles to executive management positions. Each one was different. Some were very technical, others involved giving presentations, and some were a lot more relaxed than I expected.
One interview that stands out to me was with a US semiconductor company (I’m sure you can guess which one). The interviewer began by saying, "I've read your CV, and it's clear you can do the job—let's talk about something else." We then spent the next hour talking about trains, specifically the Eurostar.
When I interviewed for my first head of engineering role, I was introduced to someone who would be in my team if I got the job. During the introduction, they remarked, "That’s my job." Although I took the role and had a great time, I knew from that moment I’d have a personnel issue to resolve. That was a red flag I couldn't ignore.
Being the Interviewer
Sitting on the other side of the table as the interviewer or hiring manager can be just as daunting. The first time my boss asked me to help interview someone, I froze when it came time to ask my own questions. My boss finished his part, then said, “Adam has some questions for you,” and I blurted out, “Actually, I’m good.” A few minutes later, I remembered what I had planned to ask—sorry, Ian!
Over the years, I got better at interviewing and managed to recruit some fantastic people, many of whom are still colleagues and friends today.
Nowadays, my approach to recruiting is straightforward. I like to start with a phone call to check if the basics align, followed by a face-to-face conversation. What I’m looking for is a combination of ability and experience. With younger engineers, I'm particularly interested in passion and enthusiasm.
I find that going through someone’s CV or résumé is one of the best ways to understand them. Typically, we’ll dive deeper into certain points, and if the conversation gets really interesting, we may end up sketching ideas on paper or a whiteboard.
For graduates or younger engineers, I use a similar approach, but I also ask a few general electronics and FPGA-related questions to gauge their technical knowledge. I typically ask for a 15-minute presentation on a topic or project from their degree. This helps me understand what they're passionate about, their thought processes, and how they overcome challenges.
Interview Tips for Job Seekers
Here are my top tips for preparing for interviews:
Be punctual. This might seem obvious, but it’s crucial. Aim to arrive early—early is on time, and on time is late. Research the location ahead of time, plan your route, and add extra time as a buffer, just like you would when designing an FPGA for timing closure.
Highlight your achievements and skills, but remember that engineering is a team effort. While it’s important to mention the team's role, make sure you’re clear about your specific contributions to the project's success. Innovative approaches or suggestions you brought to the table should be highlighted. Prepare a simple list of these before the interview; past performance appraisals can be helpful here.
Research the company and the role you're applying for. Read their website, pay attention to recent press releases or news about their projects, and understand their products. If you know who will be interviewing you, check out their LinkedIn profiles to find any shared interests or common ground. This shows you’ve done your homework and are genuinely interested in the company.
Using the research from step 2, think about relevant technical areas. For example, if the company works on software-defined radio (SDR), brush up on signal processing filters, FFTs, etc. If they’re in robotics, familiarize yourself with ROS2 or control theory (PID, Kalman filters). Tailor your preparation to the company’s focus.
Don’t be afraid to ask for clarification if you're unsure about a question. If you still don't know the answer, it's okay to say so, but do it positively. For example, say something like, “I’m not sure about that, but I know it relates to X, Y, and Z, and I could find the answer by researching or running a simulation.” Being open about what you don't know and how you'd find out is a valuable skill.
If you have any personal projects, hobbies, or side projects related to engineering, be sure to mention them. But don’t worry if you don’t—side projects take time, and not everyone’s circumstances allow for them.
In conclusion, interviews can be intimidating, but with the right preparation and mindset, they can also be a great opportunity to showcase your skills and learn more about the company. If you're curious about the types of graduate questions I ask, you can find them here. The faster questions are intended to be quick fire, intended purely to learn about the candidates base knowledge. If you have any more questions, feel free to reach out.
Workshops and Webinars
If you enjoyed the blog why not take a look at the free webinars, workshops and training courses we have created over the years. Highlights include
Upcoming Webinars Timing, RTL Creation, FPGA Math and Mixed Signal
Professional PYNQ Learn how to use PYNQ in your developments
Introduction to Vivado learn how to use AMD Vivado
Ultra96, MiniZed & ZU1 three day course looking at HW, SW and PetaLinux
Arty Z7-20 Class looking at HW, SW and PetaLinux
Mastering MicroBlaze learn how to create MicroBlaze solutions
HLS Hero Workshop learn how to create High Level Synthesis based solutions
Perfecting Petalinux learn how to create and work with PetaLinux OS
Boards
Get an Adiuvo development board
Adiuvo Spartan 7 / RPi 2040 Embedded System Development Board
Adiuvo Spartan 7 Tile - Low Risk way to add a FPGA to your design.
Embedded System Book
Do you want to know more about designing embedded systems from scratch? Check out our book on creating embedded systems. This book will walk you through all the stages of requirements, architecture, component selection, schematics, layout, and FPGA / software design. We designed and manufactured the board at the heart of the book! The schematics and layout are available in Altium here Learn more about the board (see previous blogs on Bring up, DDR validation, USB, Sensors) and view the schematics here.
Opmerkingen