The short version is why not? As we develop the cloud we also learn about the cloud. The things that can be done with or within the cloud will go as far as we can take it. Something like that sounds fun and scary at the same time and I want to be a part of that.
Couldn't agree more. For the positions I interview candidates for, its basically table stakes to get in the door. We go with managed cloud services wherever possible. We like our weekends, and we feel its worth it for the reliability.
However our engineers need to know how to wield those cloud services. For example, sure you could write your own distributed queue processing system. OR you could leverage things like lambdas+sqs+sns and call it a day. You get arguably "infinite" scale right out of the box. Knowing what cloud services/tools to leverage and HOW to implement them is a solid gold attribute for any engineer.
The goal for me is to get there and get my hands dirty.
I love it! Feel free to ask any questions. Getting your hands dirty is the best way for sure.
I have tons of questions since I'm still getting my head wrapped around this. For now...how much Linux and Bash should I know? I've heard varying answers but none that gives me a true answer.
Good question.
The reason you're finding it hard to get a "true" answer is because "it depends". For example, some companies may be running EC2 instances (Linux VMs), so knowing the linux CLI may be more in line with their setup. However if you're working with a company that uses ECS (Containers) or an orchestrator like Kubernetes, then knowing things like Dockerfile layering/build constructs would be good.
In my opinion, knowing a basic functional level of Linux and Bash are essential to the role though. Writing CI/CD pipelines? Chances are you'll be running bash scripts. What are you putting in those bash scripts? Chances are they'll be linux commands.
Writing Dockerfiles so that you can deploy your application to a container platform? Chances are you'll be running Linux commands in those dockerfiles.
Now, you don't need to go deep into either subject matter. Bash can definitely get pretty gnarly, but knowing basic constructs of if/else/loops and how to use them will benefit you in ANY programming/scripting language. Knowing how to navigate a Linux system (cd/ls/pwd, the concept of "everything's a file", file permissions) is very powerful not just in getting work done, but also learning about a new system when you finally land a new cloud gig.
The landscape is massive (as I'm sure you're finding out), but just start "somewhere". Install Docker desktop and run a container, install Virtualbox and run linux and tap around the command line. From there, your curiosity is bound to take you down a million paths. Between us here at DEV, Stack Overflow, YouTube and ChatGPT, you're bound to find the answers you seek :)
Happy hacking, stay hungry!
Thanks for that. I feel slightly less stressed about learning Linux and Bash now. I'll be back when I go through the meat of AWS again.
Which cloud provider interests you the most? Me personally, I'm learning AWS and I take pride in ensuring I understand their learning paths for certification purposes. I have so many areas I'm interested in and often find myself considering to be an all out "Cloud Architect" ... It's a stretch for me but I know it's possible.
I'm reviewing my AWS Cloud Prac again. I'm with you you on the interesting aspects of the cloud or AWS ecosystem. Right now...I'm just focusing on the fundamentals of what I need to know. Get into a shop and learn some more. Then I'll gravitate to that next stop.
Nice! This is exactly what I did. You got this. Good luck
The majority of projects is migrating towards the cloud, little project are developed for the desktop nowadays. The majority of project of desktop is out-of-time.
The majority of projects are focus in web development, machine learning or the cloud.
Most shops will be using a cloud provider, so it behooves us to learn the fundamental cloud computing concepts.