I have a great job. Really, I’m quite fortunate: For many years, I’ve spent nearly every day helping engineers at some of the world’s largest and best companies (including Apple, Cisco, Ericsson, HP, PayPal, SanDisk, and VMWare) to become better Python developers.
My students are are experienced, intelligent engineers who are using Python in their work. Some of them are at the start of their Python journey, and others have been using the language for several years. But all of them feel that if they were just more fluent with Python, they could express themselves — and thus solve problems — more quickly and easily.
How do I help these engineers to become more fluent? The answer is simple: Practice. Lots and lots of practice.
Programming languages are like natural languages: When you’re fluent, the ideas flow out of you without having to think twice about vocabulary and syntax. When you’re speaking in your native language, you’re not thinking “third person, male, past tense.” Rather, you just say what you’re thinking. The same is true for programming languages; at a certain point, you don’t have to think about how to create a dispatch table with functions and a dictionary. You just do it.
The only way to really learn a new natural language is through practice. You’ll make mistakes along the way, but those are an important part of the learning process. Over time, and with repeated practice, you’ll slowly but surely internalize the language’s structure. You’ll become fluent, able to express your ideas naturally and effortlessly.
Weekly Python Exercise is designed to help you gain that fluency, over time, through regular and repeated practice. Every Tuesday, I’ll send you a new Python exercise. I want you to struggle with it, but not too much; my hope is that the exercises will never take more than 30 minutes to solve. As you work through the exercise, and then as you review the solution and explanation that I send each Friday, you’ll be growing and improving as a Python programmer. You’ll be gaining understanding and knowledge that will make you more efficient and confident.
Moreover, you’ll find yourself spending far less time on Stack Overflow. I’m a big fan of Stack Overflow, but going there too often interrupts your flow, impedes your productivity, and adds to your frustration.
- If you use Python on a regular basis, but feel like you’re consulting Stack Overflow a bit too frequently, then these exercises are for you.
- If you’re getting your work done in Python, but think that your code could look more “Pythonic,” then these exercises are for you.
- If you want to feel more comfortable with the standard library and well-known packages on PyPI, then these exercises are for you.
- If you want to explore more advanced aspects of Python, be they functional programming techniques, objects, generators, decorators, or async code, then these exercises are for you.
Weekly Python Exercise is a subscription service: You can purchase it using PayPal or a credit card (with more options coming soon). You can pay each month, or at a reduced rate with an annual subscription. You can also buy a subscription for your team at work, ensuring that all of you will become more fluent and effective.
Along with your subscription, you’ll have free access to a private forum in which we’ll discuss the exercises (and answers). I’ve even set up a special forum area for people interested in pair programming with one another to find a solution.
I’m proud and excited to be launching Weekly Python Exercise. But I’ll be doubly proud and excited to know that I’m helping developers around the world, not just those who participate in my courses, to become more fluent and effective Python developers.
Any questions? Just e-mail me. Otherwise, sign up, and start getting more fluent in Python!