You'll be using code to automate tasks and deploy infrastructure and even though you don't need to know how to build full applications, understanding the basics of programming will give you an upper hand.
In the previous step you would've been introduced to bash scripting. Bash scripting is used to automate tasks and could almost be considered like a universal language for servers, since nowadays, Bash is installed by default almost on every Linux server.
In the previous phase, you should've written a few Bash scripts. I think now it would be a bit beneficial to learn some more programming skills.
For this, I would go with Python. It's a very popular language and there are many quality free resources out there to learn it and it's one of the simpler languages to get started with.
Take some time now to create a GitHub account if you don't already have one. It'll be your code portfolio and you should put as many projects as you'd like on there.
Order | Title | Notes |
---|---|---|
Optional | An introduction to Programming | A great Microsoft Learn module on the topic. |
1 | Python Crash Course | Another fun book to follow, also there is an Appendix in there on Git which is great! |
1 | An introduction to Python | A short intro to Python in case you are already familiar with programming |
1 | Automate the boring stuff with Python | I haven't fully finished this book, but it can be used to learn Python too |
1 | FreeCodeCamp Learn Python | One of the many amazing resources provided by FreeCodeCamp |
2 | An introduction to Git | You'll need Git, learn it! |
3 | Git branching | A great resource to learn Git branching! |
You can follow any one of the python resources, you don't have to do them all, but definitely do a Git one as well. Git is the most popular version control tool and one of the DevOps practices.
As you work through these resources, make sure to create the project and demos they show, on your own machine and even push them to your GitHub profile if you'd like. Just make sure to use a README to document your project. Here are some more projects you can do.
Title | Resource |
---|---|
Product Inventory Project | Create an application which manages an inventory of products. This will help you practice OOP concepts. |
Score Tracker | Create a console application that you provide a team name and it will tell you if that team played today and what the game score was. #HalaMadrid btw. |
Create your GitHub profile readme | Create a README to tell other people about yourself. Here's mine as an example. Rishab has a cool one too. |
There are plenty of lists of projects out there you can do. Google is your best bet here.
- Variables
- Functions (defining them, function arguments)
- When and how to use arrays, lists, dictionaries.
- Basic data types and their uses (strings, booleans etc)
- Iteration (for loops, etc)
- An understanding of why testing your code is and it's importance (try to implement a simple unit test with a project you do)
- Classes and OOP concepts.
Programming certifications aren't as in demand/popular than cloud ones. As with any certification, you can use it to reinforce your knowledge, but it isn't an obligation. There are plenty of cloud engineers with zero certifications.