Analyze, design develop, troubleshoot and debug software programs for commercial or end user applications. Writes code, completes programming and performs testing and debugging of applications.
Cloud engineers can have more specific roles that include:
cloud architecting (designing cloud solutions for organisations)
development (coding for the cloud), and
administration (working with cloud networks)
also rearchitect or reengineer on-premise environments to help transition them to the cloud
Career Level - IC3
As a member of the software engineering division, you will perform high-level design based on provided external specifications. Specify, design and implement minor changes to existing software architecture. Build highly complex enhancements and resolve complex bugs. Build and execute unit tests and unit plans. Review integration and regression test plans created by QA. Communicate with QA and porting engineering as necessary to discuss minor changes to product functionality and to ensure quality and consistency across specific products.
Some of a cloud engineer's responsibilities include:
Cloud infrastructure: Building and maintaining cloud infrastructure
Cloud architecture: Designing cloud solutions for organizations
Cloud development: Coding for the cloud
Cloud administration: Working with cloud networks
Cloud security: Installing and managing security solutions to prevent unlawful use of data
Cloud migration: Assessing an organization's technological systems and migrating them to the cloud
Cloud training: Training colleagues and stakeholders on how to use cloud-based technology
Cloud hardware and software: Liaising with senior management on the purchase and installation of new hardware and software
Cloud backup and recovery: Providing backup and recovery support and guidance for cloud resources
Some skills that are important for cloud engineer include:
Linux. Cloud engineers should have a strong understanding of the Linux operating system, which companies frequently use for cloud development. Cloud engineers should understand the architecture, maintenance and administration of Linux servers.
Database skills. Cloud engineers should have cloud database management skills and knowledge of MySQL and Hadoop.
Programming. Cloud engineers should have strong general programming skills, along with knowledge of programming languages such as SQL, Java, Python, Ruby, Golang, PHP and .NET.
Networking. Cloud engineers should understand virtual networks and general network management functions.
DevOps. DevOps is a popular framework for cloud engineering, so having a hands-on understanding of DevOps practices can be valuable to employers.
Containerization. Cloud engineers should have proficiency of containerization tools and understand Docker and Kubernetes.
Virtualization. Cloud engineers should have the knowledge to deploy and run application software on virtual machines.
Understanding of cloud providers. As technical cloud features and engineering practices can vary between different service providers, understanding what each offers can enhance a cloud engineer's knowledge and make them more marketable to employers.
Security and recovery. Cloud security is a growing priority among providers and knowledge of cybersecurity in the context of the cloud is a valuable asset.
Web services and application programming interfaces (APIs). Cloud engineers should have knowledge of open standards, such as XML (Extensible Markup Language), SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language) and UDDI (Universal Description, Discovery and Integration), and an understanding of how APIs are engineered.