[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

Wednesday, March 30, 2022

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

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

Wednesday, March 30, 2022

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”

Tuesday, March 29, 2022

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

Tuesday, March 29, 2022

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

[PythonistaCafe] Q&A

Tuesday, March 29, 2022

Hey there, At this point you should have a pretty good idea of what PythonistaCafe is about and what makes it special. In this email I want to answer some common questions that I get asked about the

You Might Also Like

BetterDev #259 - How LLMs Work, Explained Without Math and Turning AirPods into a Fitness Tracker to Fight Cancer

Monday, May 13, 2024

Better Dev #259 May 13, 2024 Hi all, We come back with a new issue this week. If you like BetterDev, please help spead word out by refer to your friends. Buy me a coffee would be great too. Many link

Meet OpenAI’s newest GPT

Monday, May 13, 2024

Plus: White House to fund semiconductors and Cruise tests in Phoenix View this email online in your browser By Christine Hall Monday, May 13, 2024 Good afternoon, and welcome back to TechCrunch PM. We

The Story of Project Management & SEO ruined the internet

Monday, May 13, 2024

My name is Philipp and you are reading Creativerly, the weekly digest about creativity and productivity-boosting tools and resources, combined with useful insights, articles, and findings from the

📱 Don't Travel Without This Cheap iPhone Accessory — Run Your Smart Home With a Raspberry Pi

Monday, May 13, 2024

Also: How to Generate AI Art for Free, and More! How-To Geek Logo May 13, 2024 Did You Know Thanks to serious conservation efforts and sustainable harvesting programs starting in the 1950s, the United

JSK Daily for May 13, 2024

Monday, May 13, 2024

JSK Daily for May 13, 2024 View this email in your browser A community curated daily e-mail of JavaScript news Level Up Your JavaScript: Mastering Array Manipulation Techniques Arrays are a fundamental

You rock(et) my world, moms

Monday, May 13, 2024

If you're looking for a Starliner mission recap, you'll have to wait a little longer -- the mission has officially been delayed. View this email online in your browser By Aria Alamalhodaei

Mapped | U.S. States By Number of Cities Over 250,000 Residents 🌎

Monday, May 13, 2024

Eighteen US States don't have a single incorporated area with more than 250000 people. View Online | Subscribe Presented by: Is your portfolio ready for the internet's next evolution? >>

Daily Coding Problem: Problem #1440 [Easy]

Monday, May 13, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Zillow. A ternary search tree is a trie-like data structure where each node may have up

Deepdive – prioritizing for product managers

Monday, May 13, 2024

As a Product Manager, you're constantly juggling everything – ideas, feature requests, strategic initiatives… the works. You want to do it all, but with limited time and resources, you know you

GCP Newsletter #398

Monday, May 13, 2024

News Official Blog Security Threat Intelligence Introducing Google Threat Intelligence: Actionable threat intelligence at Google scale Official Blog Security Introducing Google Security Operations: