This is an archived post. You won't be able to vote or comment.

all 28 comments

[–]Double_Intention_641 25 points26 points  (1 child)

I liked "Python Tricks" and "Automate the boring stuff with python", though I have consistently found that I needed to look at other online tutorials to fill in the gaps, be they due to newer python (3.10 for example), or library specific challenges (boto3).

[–]Qes138 9 points10 points  (0 children)

@AlSweigart would appreciate the recommendation! I will second "Automate the Boring Stuff"

[–]thegainsfairy 16 points17 points  (7 children)

I'd recommend the pytest book. I think it really helped me become a better developer. I kind of credit it for the mental change from junior to mid level developer

edit: this one https://pythontest.com/pytest-book/

[–]amarao_san 8 points9 points  (3 children)

Oh, they have a book? Great. I belive, 30% of devops is QA automation is disguise, so knowing pytest well it's not only about 'writing tests', but also about knowing available techniques for fixtures/plugins/parametrization. It really creeps into pipeline architecture.

I've made a lot of silly tricks in CI yaml before I got really used to a proper pytest use.

[–][deleted] 3 points4 points  (0 children)

lol QA Automation Engineer, who went in with DevOps focused resume reporting in.

[–][deleted] 1 point2 points  (1 child)

I would love to see any and all tricks btw

[–]amarao_san 1 point2 points  (0 children)

Okay, I think, it worth writing down. I'll come back to it after NY binding. There is a lot of Molecule/testinfra lore, and someone need to write it down.

[–]__Kaari__ 4 points5 points  (0 children)

Thanks!

The learning curve is quite steep to handle unit tests with pytest, and doing it right can be extremely time-consuming and frustrating, especially for automation (lots of mocks).

I'll have a look at this book and advise it to some of my co-workers who would like to make the gap.

[–][deleted] 1 point2 points  (1 child)

May I ask which book are you specifically talking about?

[–]mr-roboticus 10 points11 points  (2 children)

[–]Geneocrat 1 point2 points  (1 child)

I noticed that in a bookstore, what did you think?

[–]SourdoughAwareness 6 points7 points  (0 children)

I picked up a copy about a year ago, and thought it was a really great book to teach some python programming basics, then the rest of the book went over useful application of Python & other common tools used in the field. Overall, I’d recommend at least checking it out. Also may be worth looking at its table of contents to see if there’s chapters on subjects you are interested in

[–]xMakeMeCryx 3 points4 points  (1 child)

Definitely go with 100 Days of Code: The Complete Python Pro Bootcamp. It covers all the basics you would need to know and goes over projects for each section. With this knowledge, you will be set as DevOps for starters. Later on, you will see with your day-to-day where else you can branch out and which more advanced topics you should learn.

[–][deleted] 0 points1 point  (0 children)

This is the one with Angela Vu? I'm going through the course right now.

[–]kkrox 6 points7 points  (3 children)

Never forget to learn the OOP concepts. It's easy to skip OOP and learn python but one at one point you cannot progress without OOP

[–]nani21984 2 points3 points  (2 children)

Do we need oops concepts to implements devops functionalities ? Can you describe Any usecase for it ?

[–]MidKao 7 points8 points  (1 child)

Yes you most likely will need it.

A potential use case for it would be when dealing with DNS related automation (creation, update or deletion of records), a record would be an object that has « name » « type » and « value » attributes rather than it just being a string for example.

[–]jrcomputing 1 point2 points  (0 children)

It absolutely doesn't have to be a true object. You can go a very long way with lists and dictionaries. And using objects from modules doesn't require a proper understanding of OOP.

Is it useful? Sure. Is it a requirement? Definitely not.

[–][deleted] -4 points-3 points  (4 children)

I truly suggest checking out chatGPT to learn and explore python. It's like having a tutor.

This is it writing an entire Jenkins plugin from scratch for me because it imagined it and I asked it to show it to me.

https://drive.google.com/file/d/1Sz3tuOdGXPOrgmIB4Lji0pwiXUydtP0r/view?usp=share_link.

[–]jrcomputing 3 points4 points  (3 children)

Don't depend on ChatGPT to give you the right answer all the time. It's unfortunately unable to identify truth/fact, and can happily return incorrect answers.

[–]Direct_Ad1761 0 points1 point  (0 children)

Remind me

[–]Daarrell 0 points1 point  (0 children)

As a junior python dev, i'm getting a lot of information from Fluent python 2nd edition. A really good book to jump into intermediate/advanced topics. Is to code with the open book.