[Python Dependency Pitfalls] The Iceberg

Hey there,

The other day I read this quote from a Python developer that made me stop and think:

"As a noob with a little programming knowledge already, I've found setting up and installing things much harder than actually learning Python itself."

Isn't that surprising?

Shouldn't picking up the core language skills be much more difficult than learning the workflows AROUND the language?

I have a personal theory of why this happens:

The trouble is that the "difficulty distribution" for modern software development with Python is shaped like an iceberg.

And knowing your way around Python "the language" is just the tippy top of the iceberg.

The syntax of the language, working with the Python interpreter, where to find things in the standard library—

That's all challenging stuff for someone just starting out.

But it's also VISIBLE in plain sight.

Then there's a huge chunk of "ice" HIDDEN below the surface. A chunk that stalls the progress of many Python devs:

    - They don't know their way around standard tools like pip, virtualenv, or PyPI and it sabotages their productivity.

    - A lack of experience with the tools and the ecosystem surrounding the core language slows them down.

    - They lag behind other developers because of "re-inventing the wheel disease" and not knowing how to find and use quality Python packages.

(And there's more.)

Because these problems are invisible at first and quite counter-intuitive, many Pythonistas are missing an important part of the puzzle.

From personal experience I know it's easy to focus on the tip of the iceberg that's visible in plain sight—while completely ignoring the GIGANTIC MASS underneath.

And it makes sense—when you're learning a new skill for the first time it's impossible to "know what you don't know."

As they say, hindsight is 20/20.

And that's why focusing on the stuff that's invisible to a beginner but OBVIOUS to a more experienced dev is so powerful.

If you can focus on the hidden part of the iceberg and adopt the tools and workflows that experienced Python developers use, you'll find that you can make progress more easily…

And you'll pull ahead of your peers who are left wondering why their unsinkable "development ship" is filling up with water.

One of the easiest boosts you can get for your Python abilities is adopting the tried & tested dependency management workflows that experts use every day.

For more on how to use the Python "tools of the trade" and best practices like virtualenv, pip, and requirements files, go to:

realpython.com/products/managing-python-dependencies/

— Dan Bader

Older messages

[Sublime + Python Setup] Grumpy old greybeard with a whitespace problem

Saturday, July 3, 2021

One fateful day, the Agile Gods that be decided to “add some firepower” to my little team… And so, developer Paul joined (name changed to protect the guilty). Before I dive into this story, let me ask

[PythonistaCafe] What's in PythonistaCafe for you?

Saturday, July 3, 2021

Hey there, A couple of years ago I'd become quite interested in martial arts. Hours upon hours of watching "The Karate Kid" growing up must've taken their toll on me... And so, I

[Python Dependency Pitfalls] "Re-inventing the wheel" disease

Saturday, July 3, 2021

Hey there, PyPI, the Python packaging repository, now contains more than 100000 third-party packages in total. That's an *overwhelming* number of packages to choose from... And this feeling of

[Sublime + Python Setup] Don’t build “nag screen muscle memory”

Friday, July 2, 2021

Hey there, Once I worked with a developer who refused to buy a registered copy of Sublime for months on end, even though he *loved* Sublime. He used it as his main code editor every day and was very

[Python Dependency Pitfalls] Artisanal "from-scratch" development

Friday, July 2, 2021

Hey there, The other day I got this question from Newsletter member Newvick in my email inbox: ~~~ I'm trying to get past the beginner's stage in Python and one problem I have is: When do you

Is drawing a Red independent from an Ace?

Wednesday, July 28, 2021

Statistics, Probability Theory, InterviewQs Is drawing a Red independent from an Ace? Statistics Probability Theory Forward this email to a friend or colleague and challenge them to solve it. Hi, I

iPhone sales are up 50 percent year over year

Wednesday, July 28, 2021

Now available on your smart speaker and wherever you get your podcasts Apple Podcasts | Spotify | Google Play | iHeart Radio It's Wednesday, July 28, 2021. The curse of buying new tech at the wrong

Facebook's digital universe 🌎, Discord threads 🎮, water on Jupiter's moon 🌊

Wednesday, July 28, 2021

Facebook will create a product team to work on the metaverse. The team will be part of Facebook's Reality Labs. TLDR Daily Update 2021-07-28 Tomorrow: Hungry? - Lunch on us during the Digital

Great Resignation: Top reasons employees are quitting now

Wednesday, July 28, 2021

Microsoft warns of credential-stealing NTLM relay attacks; clean up your Gmail inbox with this mass delete trick Subscription | Read Online | Twitter Facebook LinkedIn Top Story of the Day July 27,

Element raises $30M to boost Matrix — The Insecurity Industry — and Mammals dream about the world they are about to experience before they are born

Tuesday, July 27, 2021

Issue #477 — Top 20 stories of July 28, 2021 Issue #477 — July 28, 2021 You receive this email because you are subscribed to Hacker News Digest. You can open it in the browser if you prefer. 1 Element

[PythonistaCafe] What makes PythonistaCafe different

Tuesday, July 27, 2021

Hey there, Mastering Python is *not* just about getting the books and courses to study—to be successful you also need a way to stay motivated and to grow your abilities in the long run. Many

Daily Crunch - No-code startup Bubble pops with $100 million Series A round

Tuesday, July 27, 2021

TechCrunch Newsletter TechCrunch logo The Daily Crunch logo Tuesday, July 27, 2021 • By Alex Wilhelm Hello and welcome to Daily Crunch for July 27, 2021. Today is a good day not only because the US

Lights, Camera, Blockbuster

Tuesday, July 27, 2021

Whether it's Iron Man, Star Wars, or Fight Club, the technical know-how for film creation is complex and fascinating. Read on to find out the unbelievable behind-the-scenes processes. Project

Python Collections, SciPy's New Build System, What To Know About the "operator" Module, and More

Tuesday, July 27, 2021

Python's `collections`: A Buffet of Specialized Data Types #483 – JULY 27, 2021 VIEW IN BROWSER The PyCoder's Weekly Logo Python's collections : A Buffet of Specialized Data Types Python

JSK Daily for Jul 27, 2021

Tuesday, July 27, 2021

JSK Daily for Jul 27, 2021 View this email in your browser A community curated daily e-mail of JavaScript news JavaScript Currying: A Comprehensive Guide Currying is an advanced technique of working