5 Questions Cloud Developers Should Crush in an Interview
You’re More Than a Code Monkey
The Cloud is arguably the hottest Enterprise transformation in years. As cloud computing provides new levels of flexibility and scalability, it’s also changing the way organizations develop and deploy software. As a result, it’s driving a new breed of Cloud Application Developers.
While this innovative technology transforms architecture and development, the pressure to find and hire standout cloud developers is only going to intensify. When the chase intensifies, however, so will the scrutiny you’ll face in the interview process. To win over or “wow” potential employers, a Cloud Developer will need to prove in an interview that they’re more than just a “code monkey.” Emerging cloud developers must also be architects, engineers, analysts and technicians.
The following are five key questions that are likely to pop up in your next Cloud App Developer interview:
- What is your programming background?
Even if the interviewer has read your resume, they will want to review your core programming skills. It’s important to briefly recap your formal training, such as bachelor’s degrees and certifications, but that won’t win the job (unless you are a Stanford graduate interviewing at Snapchat, right?). Whether you went to The Iron Yard or Georgia Tech, you’ll need to speak intelligently about what you’re doing now and how that corresponds with the job’s requirements.
Modern software development involves detailed integration tasks, and many Cloud Developers require knowledge of back-end systems integration with platforms like NoSQL, Dynamodb, Amazon Simple Queue Service and Microsoft Access.
2. What Cloud Platforms Have You Used?
When the interviewer asks about cloud platforms you’ve utilized, be sure to focus on the ones you have hands-on, production specific experience. It’s an accomplishment to code software, but it’s more impressive for that software to run well in the cloud. An interviewer will want to verify that you understand cloud platforms and providers, such as Amazon Web Services (AWS).
Employers will also value your ability to use the services available from a provider. For example, if you’re interviewing with our team at Relus Cloud, you should know that we use AWS exclusively. As AWS partners, we want Cloud Application Developers who can provision compute resources like Amazon Elastic Compute Cluster, Amazon EC2 Container Service, or Amazon Simple Storage Service.
This requires a mastery of the cloud provider’s management interface options, such as Web-driven portals, command line interfaces, and APIs. A Cloud Developer needs to manage the cloud environment, pull and analyze reporting, manage budgets, retire unused resources, and integrate cloud services with the software being developed. The same would be said if you are interviewing with a company that relies upon Azure, OpenStack, or Google Compute.
- What other development tools have you used?
When interviewing, the hiring manager wants to know the tools you use and whether you can easily transition to their tool sets. Cloud Application Developers commonly use DevOps or continuous integration and continuous delivery (CI/CD) tools. There are plenty of them out there, and, of course, different shops use different tools.
You’re likely to be asked about your experiences with:
- Git: Version Control System tool
- Jenkins: Continuous Integration tool
- Selenium: Continuous Testing tool
- Puppet, Chef, Ansible: Configuration Management and Deployment tools
- Nagios: Continuous Monitoring tool
- Docker: Containerization tool
Don’t wait to be asked. The interviewer isn’t going to pull this information from you like a dentist extracting wisdom teeth.
Since there is a myriad of different tools, you should also be ready to explain why you use one tool over another. Don’t be surprised to hear the hiring manager (or prospective team members during a panel interview) ask something like:
- We use Jenkins. Why did you use TeamCity in your last role?
- How different is Kubernetes from Docker?
- Why are you using Salt instead of Ansible?
Most of these tools facilitate automation to streamline code management, collaboration, and deployment, which is critical for large development environments. Be sure to use specific examples to explain why and how you used them.
- How do you approach software development for the cloud?
Hiring managers want to know how well your existing development process mirrors their in-house process. Why? They want someone to join the team and create as little friction as possible (at least during the first 90 days). There is typically an immediate challenge to solve and they want to make sure that you can integrate without becoming an additional problem for the team to solve. Consider asking the interviewer, “What’s the biggest problem you are trying to solve?” and then take the time to show how your skill set will resolve it.
Start by explaining your common development process, ranging from requirements gathering, to team selection, to coding and testing cycles. Underscore your object-oriented programming skills and reiterate any experience with cloud application architecture and microservices development for public cloud. Draw from your real project successes and show how your work has added value to the business.
The hiring manager will generally try to determine if you’re comfortable with fast-paced development models, such as DevOps or continuous delivery. It doesn’t need to be a direct match on all points, but if your processes align it will make it easier to transition into the role.
- What kind of teams do you work best in?
Cloud Application Developers do not work alone. Any agile, CI/CD, or DevOps model involves multiple disciplines for coding, testing, and deployment. The success with these models requires flexibility and collaboration between team members, users of the software being developed, and management. Collaboration is key.
Hiring managers (and your new development team) want a Cloud Developer who is versatile with a solid grasp of software development standards. Cloud Developers should participate in application requirements, design review meetings, and testing processes. An ideal Cloud Developer is a great troubleshooter and resolves software defects, as well as cloud architecture shortcomings.
Be prepared to answer “What does your development team and process look like?” to provide your new team with the best insights regarding how you work and how you can help them work.
- The Bonus Question
Were you honest in your answers or did you embellish? Were your examples filled with hyperbole? Did you stretch the truth to that point where it’s going to pop so hard it’ll spank your momma?
Nobody is perfect at everything. Knowing where you fall short can help you fill your future team with people who can complement your abilities and gaps. As a member of a development team, it’s not your responsibility to do everything. It’s your responsibility to get things done.
No hiring manager is going to ask you that question.
Always be in the Know, Subscribe to the Relus Cloud Blog!
- 31 Flavors of Data Science - March 8, 2017
- 5 Questions Cloud Developers Should Crush In An Interview - February 15, 2017