I currently work as a Junior Web Developer at a medium-sized company and enjoy my job. However, after taking a Distributed Systems course at university, I developed a growing interest in the infrastructure side of technology.
In my search for infrastructure roles, I’ve noticed that cloud-related positions dominate the listings, especially for someone at my experience level. I’m considering a switch to this field but need some clarity to ensure it’s the right decision.
First, regarding certifications, I’m aware there are many options for different experience levels. However, I find the preparation for these certifications to be a hassle. I prefer learning by building projects at my own pace rather than through lengthy theory texts or video courses. Additionally, exams tend to cause me a lot of anxiety. How essential are certifications in this field? Can I pursue a career without them or with only a few to kick-start my early career?
Second, as I said before, I’m very interested in the infrastructure part and… I don’t know if I want to stay my whole life working on Cloud, I’m afraid that if I enter this field I’ll get stuck with only a few ecosystems (like AWS or Azure), ideally I’d like to work with actual computers rather than with cloud, so would it be possible to make a switch from Cloud to on-prem infrastructure in the future?
How essential are certifications in this field? Can I pursue a career without them or with only a few to kick-start my early career?
It depends what kind of company you want to work for. Most ‘real companies’ barely care about your diplomas or certificates. If you want to work from some consultancy company like SAP or Capgemini these certifications check checkboxes you need to have checked to get promotions
I’m at about 140k with no college education. 10 years experience. Not really required but certs help tremendously.
If you say you want to work on the infrastructure side of things, that means networking. Routing and switching. Get a CCNA and you can get a job at 75k in most major cities. Few years experience and eventually a CCNP will put you at about 125k.
Right now, the milk and honey of cloud/data center stuff is NFaaS(network fabric as a service), aka SDN(software defined networking), aka IAC(infrastructure as code) but at the end of the day it’s about working and managing infra as a product of SDLC. You’ll need a strong networking foundation, familiarity with one or more programming languages, familiarity with working with SCMs, familiarity with IAC methodologies, familiarity with Ansible, familiarity with Jinja2, etc. If you have all that and you’re a rockstar engineer you’ll be at about 150k as an NFaaS engineer.
Otherwise, other “cloud” roles are going to be 100% server side. Don’t know much about that side of the house.
Start with learning about containers. Docker will be good to start with. Learn how to build images, how to run containers, how to connect multiple containers, etc. Next jump to Podman and learn how to run containers as systemd services. It will give you the idea how stuff works behind the scenes.
Next step would be learning about AWS. Since you prefer the hands on way of learning, create a simple project, e.g. a blog, put it in a container and move it to the cloud. ECS would be a good place for that. Once you have it up and running, add more things to the project - Cloudwatch logs, metrics and alerts, Cloudfront to serve static assets from S3 bucket and dynamic content from the ECS container. Next add more stuff like “background” container to handle asynchronous tasks like sending emails, processing image uploads, etc. You could also use Lambda for that. From there you might want to jump to VPC and learn how to hide your containers/Lambdas from public access.
Now, knowing how the basic things work in the cloud, it’s time for some devops learning. Learn how to deploy infrastructure using Terraform of Cloud Formation. You could also look at Ansible for configuring your servers. Good thing would be to learn about different tools for logging and monitoring like Prometheus, Loki, Grafana, etc.
Last but not least - CI/CD. Learn about different tools, learn how to automate various processes like deployments, tests, etc.
All those things are just a top level view on cloud. You will also need to learn about Route53, IAM, databases (RDS, DynamoDB, Elasticache, etc.) and whatever you find useful in your project.
Keep in mind that using AWS is not free so always check the price and free tiers.
I know it sounds like a lot but you won’t have to learn all of it at once.
As for the certificates, I never was fan of those. I never took any exam as none of my employers required one. More important was hands on experience and projects I could show as a proof of knowledge.
I don’t know if I want to stay my whole life working on Cloud
I was lucky enough to start my career before cloud was a thing so I have experience with bare metal and virtual machines. Nowadays it’s little harder to learn this stuff but nothing stops you from setting up a virtual machine and learn how to configure various system services and 3rd party products like http servers, proxies, databases, etc.
ideally I’d like to work with actual computers rather than with cloud
For that I like to tinker with various Raspberry Pi based projects. It allows me to play with electronic circuits, Python, low level system setup and various hardware. I know it’s not directly related to managing servers but teaches me to look at a problem from a different perspective.
No cloud expert, but happy cake day!