Friday, February 21, 2020

Python course/tutorial recommendation

As the title says I'm looking for a recommendation for getting into Python with the ultimate purpose of doings some network device automation. Here's a few details about my experience so far.

1 - I'm a fairly well rounded network engineer, just got my CCNP RS, also know my way around most of the devices from the major players in the industry as well as some rudimentary Linux stuff (mostly the networking side).

2 -. I did some programming in high school (~15 years ago), Pascal and some C++. The usual stuff you do in school, trivial math problems, sorting algorithms, some graph/tree stuff (bfs, dfs, that sort of thing) some backtracking. Back then I enjoyed it a lot. Definitely my favorite subject but I feel it's very little compared to what even a junior programmer would know.

3 - I never made something complicated. Probably the biggest thing I ever wrote was a "Minesweeper" implementation, probably <1000 lines of code. I never worked as part of a team, I have a feeling trying to figure out someone else code will be quite a challenge.

4 - I did a very tiny amount of OOP. My guess is that, when it comes to real world programming this will be a necessary requirement.

What trainings/books/tutorials would you recommend for this? Hopefully something that will do a fair bit of hand holding and that involves a lot of exercises.

This is probably next level and will come with experience, but I'm also I'm hoping for something that will emphasize some good coding habits. How to write code that's easy to read/understand and maintain. How do you write "robust code"? How do you write portable code? How to separate functionality into layers. What are some high level features that would be desirable (I'm thinking about stuff like idem-potency or ACID)?

What would you recommend I try?



No comments:

Post a Comment