Finding the motivation to improve your Python skills?

Hey there,

On past newsletter issues I've been going on and on about how becoming great at Python is more like a "marathon" rather than a "sprint"—

You can't just plow through this stuff in a few weeks.

And so, the most important factor for your success is making sure you don't "run out of steam" before you reach your goal.

Keeping up your motivation and improving your skills over months and years is what eventually makes you successful. 

If you run this marathon with a sprinter's mindset you're going to see some quick initial results—only to collapse from exertion way before the finish line...

Not recommended.

So, what you want to do instead is to manage your energy so you can *make sustained forward progress* over the long term.

How do you achieve that?

I know this is all very high level "mindset stuff." It's too abstract to be immediately actionable.

So let's try this instead. Here's how you'd break down this idea and turn it into a four-step "learning algorithm" you can follow:
 

Step 1: Find your core motivation 

(= Why do you want to learn programming in the first place: you love technology, make more money, don't-know-why-but-I-enjoy-it, ... Sounds like a bunch of woo-woo? Yeah, but it helps. When you have a DESTINATION it's much easier to find a PATH that takes you there.)
 

Step 2: Set an achievable short-term goal

(Based on your core motivation, pick a small-ish goal that's almost within your reach: "I want to write a Python program to replace my budgeting spreadsheet", "I want to make my first $1000 from freelance programming work", "I want to get a full-time job as an entry-level Django developer", etc. Pick something that's doable in 1-3 months given where you are at the moment.)
 

Step 3: Set up a process that will lead you towards achieving that goal

(Come up with a repeatable set of steps that put you on a path towards achieving your goal, e.g. "Make $1000 from freelance dev work" --> "Every morning, I will search Upwork/Craigslist for small dev gigs and respond to 5 ads", "Get a job as a Django dev" --> "Every week I will cold email 3 hiring managers at local software companies that use Python and invite them out for coffee")


Step 4: Achieve OR adjust your goal

(Either you'll achieve your goal after following the process you decided on in step 3, OR you'll come to a realization which will make you re-adjust the goal and start the process anew: "All job postings I find are for Flask web developers" --> "New goal: Make a small Flask app to track my monthly expenses so I can learn about Flask")


Essentially, you can repeat these steps forever.

The key parts here are having goals that align with your core motivation & breaking down your goals into processes and habits that you follow daily or weekly.

Don't just stop with a high-level goal focused on a specific outcome—always break your goals down into repeatable processes.

Process-oriented goals are MUCH more powerful than outcome-oriented ones. And you can benefit greatly from this difference.

I've got to cut it short here—

But if you haven't taken my (free) "5 Thoughts on Mastering Python" email course yet then you should check it out.

It covers this "continuous improvement" mindset in more detail.

To take the course, click the link below and you'll receive the first lesson via email right away:

>> Click here to receive the first "Thoughts on Mastering Python" lesson

Good luck and...Happy Pythoning!

— Dan Bader

Older messages

New Python tutorials on Real Python

Saturday, October 24, 2020

Hey there, There's always something going on over at realpython.com as far as Python tutorials go. Here's what you may have missed this past week: Python Booleans: Optimize Your Code With Truth

New Python tutorials on Real Python

Monday, October 19, 2020

Hey there, There's always something going on over at realpython.com as far as Python tutorials go. Here's what you may have missed this past week: Using ggplot in Python: Visualizing Data With

One skill that will make you succeed as a dev

Monday, October 19, 2020

Hey there, The other day I finally picked up my gym routine again, after a 6-week hiatus. And let me tell 'ya it wasn't a pretty sight: My my first squat rep made me feel a little woozy. By the

[Python 3.9 Released!] New tutorials on Real Python

Saturday, October 10, 2020

Hey there, There's always something going on over at realpython.com as far as Python tutorials go. This week, Python 3.9 was officially released and we've covered it from a variety of angles so

Let's look at some terrible Python code...

Friday, October 9, 2020

Hey there, Check out this Python snippet newsletter member Cliff sent me (screenshot): Cliff attended a Python workshop the other day and the instructor there used this as a code example. I almost spit

You Might Also Like

Stripe makes more changes

Thursday, April 25, 2024

TikTok is in trouble, and net neutrality is back View this email online in your browser By Christine Hall Thursday, April 25, 2024 Welcome back to TechCrunch PM, your home for all things startups,

💎 Issue 414 - From a Lorry Driver to Ruby on Rails Developer at 38

Thursday, April 25, 2024

This week's Awesome Ruby Newsletter Read this email on the Web The Awesome Ruby Newsletter Issue » 414 Release Date Apr 25, 2024 Your weekly report of the most popular Ruby news, articles and

💻 Issue 414 - JavaScript Features That Most Developers Don’t Know

Thursday, April 25, 2024

This week's Awesome Node.js Weekly Read this email on the Web The Awesome Node.js Weekly Issue » 414 Release Date Apr 25, 2024 Your weekly report of the most popular Node.js news, articles and

💻 Issue 407 - The Performance Impact of C++'s `final` Keyword

Thursday, April 25, 2024

This week's Awesome .NET Weekly Read this email on the Web The Awesome .NET Weekly Issue » 407 Release Date Apr 25, 2024 Your weekly report of the most popular .NET news, articles and projects

💻 Issue 414 - Everyone Has JavaScript, Right?

Thursday, April 25, 2024

This week's Awesome JavaScript Weekly Read this email on the Web The Awesome JavaScript Weekly Issue » 414 Release Date Apr 25, 2024 Your weekly report of the most popular JavaScript news, articles

📱 Issue 408 - All web browsers on iOS are just Safari with different design

Thursday, April 25, 2024

This week's Awesome iOS Weekly Read this email on the Web The Awesome iOS Weekly Issue » 408 Release Date Apr 25, 2024 Your weekly report of the most popular iOS news, articles and projects Popular

💧 Don't Bother Liquid Cooling Your AMD CPU — Why You Should Keep Using Live Photos on iPhone

Thursday, April 25, 2024

Also: We review the Unistellar Odyssey iPhone Telescope, and More! How-To Geek Logo April 25, 2024 Did You Know Charles Darwin and Abraham Lincoln were both born on the same day: February 12, 1809. 💻

💻 Issue 332 - 🥇The first framework that lets you visualize your React/NodeJS app 🤯

Thursday, April 25, 2024

This week's Awesome React Weekly Read this email on the Web The Awesome React Weekly Issue » 332 Release Date Apr 25, 2024 Your weekly report of the most popular React news, articles and projects

💻 Issue 409 - Sized, DynSized, and Unsized by Niko Matsakis

Thursday, April 25, 2024

This week's Awesome Rust Weekly Read this email on the Web The Awesome Rust Weekly Issue » 409 Release Date Apr 25, 2024 Your weekly report of the most popular Rust news, articles and projects

📱 Issue 411 - AI Starts to Sift Through String Theory's Near-Endless Possibilities

Thursday, April 25, 2024

This week's Awesome Swift Weekly Read this email on the Web The Awesome Swift Weekly Issue » 411 Release Date Apr 25, 2024 Your weekly report of the most popular Swift news, articles and projects