I spoke with a Cipher Tech Solutions representative at a college CS job fair about my background and sent them my resume. Shortly after, I heard back from the hiring team and was asked to complete a fairly large software reverse-engineering project.
This project is the main technical hurdle in the interview process. Getting the correct solutions is already challenging, but the engineers reviewing your work also look closely at code quality, style, security, and documentation. From what I understood, moving forward requires both technically correct answers as well as well-designed, well-explained code.
The project is split into multiple parts that build on each other. The most difficult section, by far, is the final part, which involves reverse engineering a binary to figure out what it’s doing and how it works internally. Without getting into specifics, I’ll just say this part can be very tough if you don’t have some background in low-level systems or experience analyzing compiled programs. Even with some relevant coursework, I still spent a good chunk of time at the beginning just researching how to approach a problem like this. After figuring it out, you also need to write code related to your findings and put together a detailed multi-page write-up explaining your process and conclusions.
After submitting the project, there’s a waiting period of a few weeks. If you pass, you’re invited to interview with a few senior engineers who reviewed your submission. This interview covers your background and interest in the role, but a big focus is on your project. They dive pretty extensively into design decisions, edge cases, and any weaknesses in your implementation or write-up. The engineers I spoke with were friendly and professional, but definetly don't pull any punches explaining the mistakes you've made. I had spent a long time reviewing my code for style issues and security concerns, and they still managed to find a few things I could have done better. I would definetly advise anyone interviewing to put the highest level of scrutiny on their code that they can before submitting.
About a week after that interview, I received an email saying I’d been selected for the role. The last step was a short call with the CEO. This wasn’t really an interview, but more of a conversation to go over expectations for the role and some logistical details like timelines and requirements.
Overall, I had a really positive experience with Cipher Tech’s hiring process. Communication from the recruiting team was clear and timely throughout. The engineers and CEO were very pleasant, and seemed to really care about the work Cipher Tech does. The project and interview were pretty challenging, but overall were a very fair test of the skills you'll need for the job.