As cloud computing provides new levels of flexibility and scalability, it's also changing the way organizations develop and deploy software. And, as a result, it's driving a new breed of cloud app developers.
Chances are that your career as a software developer will eventually take you to the cloud. However, next-generation computing requires new ideas, skill sets and tools. Prospective employers don't just need code jockeys; emerging cloud app developers must also be architects, engineers, analysts and technicians.
Here are six key questions that might pop up in your next cloud app developer interview.
What is your programming background and skill set?
A prospective employer has already read your resume but will want to review your core programming skills. Recap your formal training, such as bachelor's degrees and certifications, but, remember, that won't win the job. Also talk about what you're doing now -- and how that meshes with the job's requirements.
Make sure you're an expert with at least five years of hands-on experience in most, or preferably all, major languages used by the prospective employer, such as Python, Perl and Java. If the job involves Web development, show at least four years of experience with HTML5 and jQuery.
Modern software development involves detailed integration tasks, and many cloud app developers require knowledge of back-end systems integration with platforms like NoSQL, Amazon DynamoDB, Amazon Simple Queue Service and Microsoft Access.
In addition, demonstrate experience with popular development tools like Pivotal Software's Spring Boot, and with open source Web application frameworks and tools.
What cloud platforms have you used?
It's one thing to code software. It's another thing to get that software to run well in a cloud. A prospective employer will want to see that you understand cloud platforms and providers, such as Google Cloud Platform, Amazon Web Services (AWS) and Microsoft Azure.
Employers will also want to see that you can use the services available from a provider. For example, an employer using AWS will want cloud app developers who can provision compute resources like Amazon EC2, Amazon Elastic Container Service or Amazon S3.
This requires 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.
What other development tools have you used?
An employer wants to know the tools you use and whether you can easily transition to their tool sets. Cloud app developers commonly use DevOps or continuous integration and continuous delivery (CI/CD) tools, so expect to show at least three years of experience with open source tools like Gradle or Jenkins.
Emphasize the importance of automation in DevOps or CI/CD practices. Most of these tools facilitate automation to streamline code management, collaboration and deployment, which is critical for large development environments.
What does your development team and process look like?
Cloud app developers never work alone. Any agile, CI/CD or DevOps model involves multiple disciplines for coding, testing and deployment. And success with these models requires flexibility and collaboration between team members, users of the software being developed and management.
Prospective employers want a cloud developer who is versatile and has a solid grasp of software development standards. Cloud app developers should participate in application requirements, design review meetings, and in testing processes. An ideal cloud developer is a great troubleshooter and resolves software defects, as well as cloud architecture shortcomings.
How do you approach software development for the cloud?
Employers want to know how well your existing development process meshes with theirs. Explain your common development process, ranging from requirements gathering to team selection choices to coding and testing cycles. The prospective employer will generally try to determine if you're comfortable with fast-paced development models, such as DevOps or continuous delivery. It doesn't have to be a direct match on all points, but the closer your process is to the employer's, the faster you can transition to the new job.
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.
How do you handle multicloud environments or cloud interoperability?
Many businesses embrace more than one cloud platform for resiliency and cost savings. For example, a business might use multiple public cloud providers for redundancy, to ensure lower latency or for data backup.
Despite these benefits, multiple clouds can pose serious difficulties for cloud app developers. Providers' services and APIs usually differ, meaning an application developed specifically for AWS might not run properly on Google Cloud Platform or other public clouds.
Such differences between providers will likely fade over time. In the meantime, a developer with multicloud expertise might be a huge benefit down the road -- even if the employer isn't actively managing a multicloud environment. Consider how you accommodate multiple providers that can run code redundantly, handle failover from different providers or support synchronized data stores.
Three ways to make your development process cloud-ready
Five things to know to before a cloud admin interview
Three questions every SharePoint developer should be able to answer