[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

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

Tuesday, October 26, 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

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

Monday, October 25, 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

[Python Dependency Pitfalls] What dev managers expect from Python candidates

Sunday, October 24, 2021

Hey there, My friend Og is a senior manager at Red Hat and works with a large team of developers and quality engineers using Python. I got to pick his brain on what he thought were the most important

[Python Dependency Pitfalls] How to set the world on fire

Saturday, October 23, 2021

Hey there, #1 on my list of dependency management pitfalls is there for a good reason: It lead to a single developer causing mayhem and breaking thousands of open-source projects around the world in

[Python Dependency Pitfalls] A total mess?

Friday, October 22, 2021

Hey there, Recently I watched a Pythonista ask for advice on setting up a Python project on his work machine. This new developer had some prior experience with NodeJS and had just started to get his

You Might Also Like

🖤 Laravel Black Friday Deals!

Wednesday, November 27, 2024

The biggest deals of the year Laravel Black Friday Deals View in browser Laravel News Editor Note: We are sending this outside the regular Sunday newsletter schedule because some of these specials end

BetterDev #271 - Memory: The Forgotten History and Why did Windows 95 setup use three operating systems?

Wednesday, November 27, 2024

Better Dev #271 Nov 26, 2024 Hi all, Welcome to thanksgiving issue of BetterDev. Hope everyone had a safe and warm thanksgiving. It's getting so cold these days. If you are in warzone such as

Mapped | Unemployment Rate By U.S. State in 2024 💼

Tuesday, November 26, 2024

As of October 2024, DC and Nevada tied for the highest unemployment rate in the US at 5.7%. Which states saw the lowest rates? View Online | Subscribe | Download Our App FINAL CHANCE - ENDS TONIGHT!

🔊 7 DIY Tips for Soundproofing a Room — Why I Switched to Xfce for Linux Mint

Tuesday, November 26, 2024

Also: Home Theater Sound Terms Explained, and More! How-To Geek Logo November 26, 2024 Did You Know The shiny layer of a CD doesn't contain the data; the plastic polycarbonate layer does. The shiny

JSK Daily for Nov 26, 2024

Tuesday, November 26, 2024

JSK Daily for Nov 26, 2024 View this email in your browser A community curated daily e-mail of JavaScript news JavaScript Certification Black Friday Offer – Up to 54% Off! Certificates.dev, the trusted

NumPy, Loop Targets, Vector Animation, and More

Tuesday, November 26, 2024

NumPy Practical Examples: Useful Techniques #657 – NOVEMBER 26, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo NumPy Practical Examples: Useful Techniques In this tutorial, you'll learn how to

Your Games Quarterly newsletter has arrived

Tuesday, November 26, 2024

What's new for games in Google Play and Android Email not displaying correctly? View it online November 2024 The First Developer Preview of Android 16 The First Developer Preview of Android 16

Daily Coding Problem: Problem #1620 [Hard]

Tuesday, November 26, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Dropbox. Sudoku is a puzzle where you're given a partially-filled 9 by 9 grid with

Final Hours: Help Save "The Art of Data" From Falling Short 🙏

Tuesday, November 26, 2024

Will Visual Capitalist end up revealing the secrets behind data storytelling? There are 12 hours left to change the fate of "The Art of Data". View Online | Subscribe | Download Our App Help

Spyglass Dispatch: Meta's Bluesky • Apple's China AI Problem • Apple's Chinese iPhone Problem • Perplexity Voice Pin • Susan's Message on Lung Cancer

Tuesday, November 26, 2024

Meta's Bluesky • Apple's China AI Problem • Apple's Chinese iPhone Problem • Perplexity Voice Pin • Susan's Message on Lung Cancer The Spyglass Dispatch is a free newsletter sent out