2 answers

what skills do you need to be a cloud engineer ?

Asked Viewed 19 times

what do i have to study or know to become a cloud engineer. #software #cloud-engineer

2 answers

Doug’s Answer

Updated

I agree with Brandon's answers given that new engineers out of school that wish to work on services that run in the cloud will be trained on the job. That said, I can give you some additional context on what it is like. The primary difference between cloud services and programs that run on devices like Android phones is the sheer volume of requests that is made to the code that provides a service (such as Google search, YouTube, Instagram, Facebook, etc.). In order to handle large volumes of requests, the code is distributed across many computers so that each computer is handling some of the requests. When the number of requests increase, the number of computers are also increased in order to handle the load. So, the skills that engineers have to develop to build and maintain services in the cloud include the following:

1) Build high quality modular code that incorporates logging

2) Ability to write services that can scale out by adding/removing more machines when needed

3) Ability to rapidly troubleshoot issues with services by reading logs

4) Ability to add good metrics to service code so that it can be monitored for issues (such as the number of requests/second that the service is handling)

5) Ability to write code that can be shipped incrementally and continuously

So, in addition to learning how to code and work with algorithms and data structures, the above is also needed. Many many tools are being developed to make the above easier, so becoming familiar with tools and what they do helps (such as Docker, Kubernetes, Grafana, ...). Finally, larger companies such as Google, Facebook, Amazon, and Microsoft have their own infrastructures that engineers have to learn. That said, becoming familiar with concepts such as micro services, monitoring, logging, scaling out, deployment, devops, continuous integration, and continuous delivery will give you a leg up. Here are some articles to get you started.

https://en.wikipedia.org/wiki/DevOps

https://en.wikipedia.org/wiki/Microservices

https://en.wikipedia.org/wiki/Continuous_delivery

https://aws.amazon.com/codepipeline/?hp=tile&so-exp=below

http://highscalability.com/


Brandon’s Answer

Updated

To become a cloud engineer it is going to be necessary to familiarize yourself with the core concepts of software development, the tools that you have available to you from the various cloud providers, and some understanding of the business that you work for in order to understand why your lead decided on a particular infrastructure to tackle a problem.


Brandon recommends the following next steps:

  • Do well in your software development classes and side projects. Making sure to write modular code that you could deploy.
  • Familiarize yourself with Docker, Docker is a way to deploy a consistent environment with your projects. https://www.docker.com/resources
  • Familiarize yourself with cloud service providers. This may be a bias but start with AWS since they are very prevalent in industry and have a rich collection of services. https://www.aws.training/Details/Curriculum?id=27076&scr=path-cp