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.