46th issue! If you missed the previous ones, you can read all the previous issues of my monthly Python newsletter here.
If itβs your first time here, welcome, keep reading. If you're a long time reader, welcome back, you can skip to the next section to dive right into this month's newsletter.
Being a Python developer is a fantastic career option. Python is the most popular programming language with lots of growing job demand (especially in the fields of Web, Data Science and Machine Learning). You have many job opportunities, you can work around the world, and you get to solve interesting problems.
One of the hardest parts though? Staying up-to-date with the constantly evolving ecosystem.
You want to be a top-performing python developer, but you donβt have time to select from hundreds of articles, videos and podcasts coming out every day.
That's why I write this every month to help you out.
This is the best Python newsletter for you if you want to keep up-to-date with the industry and keep your skills sharp, without wasting your valuable time.
I curate and share the most important Python articles, news, resources, podcasts and videos of the month.
Think the Pareto Principle (80/20 rule) meeting the Python world. Whatβs the 20% that will get you 80% of the results?
Python is a powerful programming language that's easy to learn and fun to play with. But beyond the basics, there are plenty of hidden features and tricks that can help you write more efficient and more effective Python code.
In this article, you'll uncover some of these hidden features and show you how to use them to improve your Python programming skills.
Create some beautiful graphs using Python + Matplotlib! This guide will show you how to create a beautiful polar histogram.
Polar histograms are great when you have too many values for a standard bar chart. The circular shape where each bar gets thinner towards the middle allows us to cram more information into the same area.
If you don't care about graphs, then here is a more intense one to do this weekend.
A super interesting discussion around this topic:
*In the β00s, Python and Ruby were both relatively new, dynamically typed, βEnglish-likeβ languages. And for a while these languages had similar popularity. Now Ruby is still very much alive; there are plenty of Rails jobs available and exciting things happening with Ruby itself.
But Python has become a titan in the last ten years. It has continued to grow exponentially and Ruby has not. WHY?*
You can geek out on the complex but necessary CPython Release Process... all visualized here.
I didn't know about Radon, but this is pretty cool: it gives you a grade on your Python code.
You can use Radon to help you find complex code in your code base. This is known as Cyclomatic Complexity or McCabeβs Complexity.
According to Radonβs documentation:
βCyclomatic Complexity corresponds to the number of decisions a block of code contains plus 1. This number (also called McCabe number) is equal to the number of linearly independent paths through the code. This number can be used as a guide when testing conditional logic in blocks.".
The common advice when Python is too slow is to switch to a low-level compiled language like C++ or Rust. But what do you do if that code is too slow?
At that point you might start thinking about parallelism: using multi-threading or multi-processing so you can take advantage of multiple CPU cores.
But parallelism comes with its own set of complexities; at the very least, some algorithms can only really work in a single-threaded way. So what can you do?
The great thing about measuring developer productivity is that you can quickly identify the bad programmers. I want to tell you about the worst programmer I know, and why I fought to keep him in the team.
An insightful article from a developer who has worked for Facebook and Stripe during their growing days. Although luck and timing is a big part of this person's journey, some of the points made in this article will be valuable to most of you. Enjoy it.
Trust me and read this. This was a great comment from an ex-Netflix engineer (jedberg):
I am one of the biggest proponents of microservices. I helped build the platform at Netflix, I've literally traveled around the world extolling the virtues of microservices.
But I also advise a lot of startups, and you know what I tell them nearly every time?
Build a monolith.
It's so much easier to start out with one codebase and one database, and that will scale for a while. Especially if you use a key/value store like DynamoDB (although you will lose relational functionality that can be helpful at the start). And did you know that you can deploy a monolith to Lambda and still get all the benefits of Lambda without building services?
And then, when you start growing, that's when you break out an independently scalable part of the system into a microservice (with it's own data store!). The one that may need to scale independently, or that you want to be able to deploy separately.
Microservices takes at least 25% of your engineering time just maintaining the platform. It's not worth it unless you can recoup that 25% in efficiency.
Wow, did Unity have an intense month... They pissed off pretty much everybody and are kind of sort of backtracking.
Vercel came up with this: https://v0.dev/ ... tell the AI what you want to build and it will build it for you.
With 2β3Γ the speed of the previous generation, and featuring silicon designed inβhouse for the best possible performance, Raspberry Pi 5 is coming out in October. One of the coolest things to get for yourself as a hacker/programmer.
OpenAI released a guide for teachers using ChatGPT in their classroom including suggested prompts, an explanation of how ChatGPT works and its limitations, the efficacy of AI detectors, and bias.
Apple released their latest phones: iPhone 15 and iPhone 15 Plus
Cisco bought Splunk. Goodbye Splunk.
Not to get left behind in the AI war, Amazon also bought Anthropic. Read about it here. Oh and FTC is suing Amazon mainly to target how drop shipping businesses on Amazon are getting screwed over. (P.s. starting a drop shipping on Amazon is the best way to waste your time)
Meta is releasing smart glasses (remember Snap?). Can't imagine this selling too well with Meta's reputation.
Programmer or Serial Killer? Not sure what this says about programmers...
A fun read Mr. Null
You may have noticed that this month's newsletter and probably a lot of the previous issues talk about the importance of keeping things simple and not over-engineering.
For this month's best resource, you have to read this excellent article: How Instagram scaled to 14 million users with only 3 engineers.
Instagram's guiding principles and tech stack explained simply. Learn to architect your big projects properly instead of focusing on the latest twitter/x hype and the so called advice of twitter "experts".
RecipeUI - the open source Postman alternative with type safety built in... very cool!
Thanks for reading!
See you next month everyone... also share this with your friends... pretty please! β€οΈ
By the way, I teach people how to code and get hired in the most efficient way possible as the Lead Instructor of Zero To Mastery Academy. You can see a few of our courses below or see all ZTM courses here.