Phase 2: Programming fundamentals
Author: GPS
How does this phase apply to Cloud?
You'll be using code to automate tasks and deploy infrastructure. You don't need to know how to build full applications but understanding the basics of programming will give you an upper hand. There are dedicated developer roles in cloud. For those you will need to know how to build full solutions, checkout this video for more info on that role.
In the previous step you were introduced and wrote some Bash scripts. Bash scripting is used to automate tasks and is considered a universal language for servers, since nowadays, Bash is installed by default almost on every Linux server.
I think now it would be beneficial to learn some more programming skills.
There are several programming languages that are popular with Cloud, like Go, Rust, .NET, JavaScript, but since you are a beginner, 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.
Git is the most popular version control tool and one of the DevOps practices. It is used to manage and share your code. GitHub is one of the most popular Git repository hosting services. 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.
How to break down this phase
I would suggest spending time on these three topics and this timeline:
Order | Topic |
---|---|
1 | Introduction to Programming with Python |
2 | Introduction to Version Control with Git and GitHub |
Of course feel free to spend as much time as you'd like, people have asked for a timeline and breakdown so I've added it.
Resources
Order | Title | Notes |
---|---|---|
Optional | An introduction to Programming | A great Microsoft Learn module on the topic. |
1 | Python Crash Course | A great Python book, also there is an Appendix in there on Git which is great! |
1 | FreeCodeCamp Learn Python | One of the many amazing resources provided by FreeCodeCamp |
1 | Python for Beginners | A 44 part video series introducing you to Python |
2 | An introduction to Git | A great resource to learn Git by Microsoft Learn |
2 | FreeCodeCamp Git course | A great resource to learn Git by FreeCodeCamp |
Projects
Title | Description |
---|---|
25 Python Projects for beginners | Do as many of these as you'd like. |
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. |
Networking Python Projects | Build some Python and Networking skills |
Things you should be familiar with at the end of this phase
Programming
- Variables
- Data types
- Comments
- Functions
- OOP
- Lists
- Modules
- Dictionaries
- Loops
- Control statements
- Exceptions
Git
- How to create a Git repo locally
- How to create a GitHub repo and clone it locally.
- How to create a git branch
- How too add changes to a git branch
- How to merge Git changes
- How to document code with a README
Certifications you might want to look into
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.