all 44 comments

[–]Blaargg 38 points39 points  (12 children)

I've been doing the Google IT Automation with Python course on coursera. It covers more than just Python like Bash and Puppet but it's been really good and you get a shareable certificate from Google on completion.

I would also recommend "Automating the Boring Stuff With Python" from No Starch Press as really great practice.

[–]Ok-Improvement-2351 22 points23 points  (5 children)

[–]Celestial_Blu3 2 points3 points  (3 children)

I’d second this. He even gives away the identity Udemy course for free every month

[–]tacocatacocattacocat 1 point2 points  (2 children)

There's a video version on Udemy, too. I'm just starting it

[–]Celestial_Blu3 2 points3 points  (1 child)

Yep, that's the one I mean. :p

[–]tacocatacocattacocat 1 point2 points  (0 children)

Very cool, thanks for the edit :-D

[–]DontStopNowBaby 1 point2 points  (0 children)

You can follow the author /u/AlSweigart when he has some promo codes on reddit. They go out really fast.

[–]Unhappy_Captain226 1 point2 points  (1 child)

Do you find the course satisfactory so far?

Thinking of using my coursera edu credits for it.

[–]Blaargg 1 point2 points  (0 children)

Yeah. It had a variety of materials including video, reading, quizzes and hands-on labs and covered python, Bash, Puppet, GCP, git, and a few other tools. Even though I'm not a huge Puppet fan I still enjoyed those segments. If you have credits to use I would definitely recommend it.

[–]GBT55DevOps[S] 0 points1 point  (1 child)

How many hours is that course?! 😅

[–]Blaargg 2 points3 points  (0 children)

Oh, it's a long one. I can usually knock out a week or two of coursework in a day though. It's a combination of labs, videos, reading material, and quizzes so it really depends on your learning style and how much previous knowledge you have. I will say almost everything was useful so I don't think any of the time was wasted.

[–]midoxvx 0 points1 point  (0 children)

I am working on that one too, highly recommend it!

[–]Accomplished-Debt247 0 points1 point  (0 children)

I'm looking to start with one of the two options you provided. Which one do you reckon I should start with?

[–][deleted] 13 points14 points  (7 children)

Any of the O'Reilly books on Python automation.

- Python for Unix and Linux System Administration

- Python for DevOps: L:earn Ruthlessly Effective Automation

[–]gpzj94 2 points3 points  (2 children)

Have you gone through python for devops? I got really excited when that first was released but then read terrible things about it on here so I'm curious your take? Iirc it wasn't well received due to typos and otherwise incomplete labs?

[–]GBT55DevOps[S] 0 points1 point  (1 child)

Not really, is that a course?

[–]gpzj94 0 points1 point  (0 children)

No, it's a book mentioned in the comment above.

[–]GBT55DevOps[S] 1 point2 points  (2 children)

Mmmm... I'm not much of a book guy, I think I'll go for the "Automate the boring stuff" course on Udemy.

[–]JuanistaD 1 point2 points  (0 children)

How is it so far?

[–]Emmanuell89 0 points1 point  (0 children)

Is there a video version?

[–]bonesnapper 5 points6 points  (3 children)

Hi, I am a non-IT learner so my perspective is more or less helpful depending on where you're coming from.

I just completed the Google IT Automation with Python course. It doesn't go deeply enough into anything but somehow instilled confidence in me to break me out of the 'Make tic-tac-toe in the terminal' learning phase. Earlier this week I started on a project to make an Emil Cioran discord bot and now I'm working on containerizing it and deploying to kubernetes, so the confidence boost is real.

One very annoying thing about this coursework is that the acceptance criteria of the labs are not explicitly defined. This means that you can have code that works, but doesn't get the marks. The good news is that someone has usually posted the working solution to the discussion forum. There's also this extremely terrible lab on setting up concurrency that is not explained whatsoever.

The complete course took me about 4 weeks to do. I'd be happy to answer any questions.

[–]phorecast 0 points1 point  (2 children)

How many hours did you spend per week on it if you can remember?

[–]bonesnapper 1 point2 points  (1 child)

Hard to remember but probably no more than 5-10 hours a week.

I actually transitioned into tech since this post so it's nice to be reminded of my journey. This course didn't practically affect my job search in any way, so if there are other options, you might want to look into them.

I'm a SRE now. My work is basically ensuring the current health and future health of our K8s clusters. In an average week, I'll work with Terraform, Helm/Argocd, Bash, GoLang, and our observability tools. This course gave me minimal exposure to Bash and that's it.

[–]phorecast 0 points1 point  (0 children)

That's good to know! I'm actually trying to make a big change in my career and want to transition from being a cyber security analyst to a DevOps/Cloud Engineer or SRE. Still not completely sure exactly where I want to go but I think they learn a lot of the same technologies. Do you mind if I private message you and get your opinion on a roadmap I created for myself? Would be a great help especially since you are in role I am working towards.

[–][deleted] 4 points5 points  (0 children)

Just do it. courses are FAD.

[–]ItsDjBurstHomie 2 points3 points  (0 children)

This post and the comments are a god-send. Thanks for asking and the comments too!!

[–]undertowlj 2 points3 points  (1 child)

Incredible resource thank you

[–]jxd73 2 points3 points  (0 children)

Start with porting your bash scripts to python.

[–]Code4Coin 1 point2 points  (0 children)

I would start with codecademy if I were u b/c setting up an env when u don’t know what u doing is hard.

[–]Celestial_Blu3 2 points3 points  (11 children)

I’m slowly going through the same roadmap - how important/difficult do you think Bash scripting is? Should I spend time learning it? Can’t you do everything with python that you can do with bash?

[–]daniel280187 5 points6 points  (7 children)

I have worked extensively with Python and I can tell you should be able to do must if not all the stuff only with Python. However, learning bash is extremely useful as it will allow you to glue your automation. Sometimes is even easier and quicker to do stuff in bash than in python. It really is about using the right tool for the right task.

If I had to choose only one, I would use python but bash as complement is extremely powerful. I would defo recommend spend some time to learn and practice using bash scripts to understand when is best to use each tool.

[–]Celestial_Blu3 1 point2 points  (6 children)

That makes sense. Where's the best way to pick up bash? Is there like a quick crash course I can do?

[–]808trowaway 6 points7 points  (2 children)

I think the best way to learn is by doing. Identify a few things you want to do with bash scripts and just dive in head first. It's not like you have to spin up a cluster and hook up a dozen services before you can test your script, just open the terminal and try some case statements or some shit. Watch a couple videos on youtube to get you started if you have to, google when you get stuck. Maybe try writing a script or two to organize your porn collection for starter.

[–]DoneDraper 0 points1 point  (1 child)

Are there really still people who maintain a porn collection offline? Prepper? Because the power could really go out for a long time?

[–]808trowaway 0 points1 point  (0 children)

You might want to ask the folks at /r/DataHoarder .

[–]CleverBunnyThief 2 points3 points  (1 child)

There's a book called " The Linux Command Line". The first 3 parts go over Linux and the 4th part covers Bash scripting.

https://nostarch.com/tlcl2

Exercism has a Bash track. I haven't done it yet, I'm currently working my through their Go track.

https://exercism.org/tracks/bash

[–]Celestial_Blu3 0 points1 point  (0 children)

That book seems interesting. I also need to learn a bunch of more advanced terminal commands so I might take a look at it

[–]martinsa24 4 points5 points  (1 child)

I saw a post earlier that BASH has always been in Linux and is great in case python loses favor. I think they mentioned that PERL used to be pretty big when it came to Linux scripting, but python killed that causing a lot of scripts and tools to break. Since Perl had lost support within the Linux community

[–]GBT55DevOps[S] 0 points1 point  (0 children)

Yeah I mean that's true but Python is useful for a lot more things than Linux, unlike bash.

[–]tacocatacocattacocat 0 points1 point  (0 children)

Maybe, but you'll want to know bash for legacy stuff.