[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

Key phrases

Older messages

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

Friday, June 24, 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

[Python Mastery] What Pythonistas can learn from bestselling authors

Friday, June 24, 2022

Hey there, I just finished reading Stephen King's "On Writing." It's a great little book where he shares some of the writing advice and stories he's picked up over the course of

[Python Mastery] The hidden costs of "copy-paste" Python programming

Thursday, June 23, 2022

Hey there, Here's a development story that plays out thousands of times each day: Avid Pythonista Max is working on a function to find the 10 oldest files in a nested directory hierarchy. He needs

[PythonistaCafe] Q&A

Thursday, June 23, 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

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

Thursday, June 23, 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

You Might Also Like

AI search engine startup Perplexity eyes a $3B valuation

Tuesday, April 23, 2024

Plus: It's Tesla earnings day and AWS wants to host your AI models View this email online in your browser By Cody Corrall Tuesday, April 23, 2024 Welcome back to TechCrunch PM. Today we have big

🎞️ We Tried 3D Printing a Photo — You'll Love This Secret Samsung Galaxy Bluetooth Feature

Tuesday, April 23, 2024

Also: Transferring Your Phone Number to a New Carrier, and More! How-To Geek Logo April 23, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to

You're invited – product sense, prioritization, careers

Tuesday, April 23, 2024

Product Sense Product Sense Wednesday, May 1st @ 01:00 PM EST Learn how to identify opportunities, assess risks, and make informed decisions that lead to successful product innovations by better

CTRL-C, Exceptions, Ruff Speed-up, and More

Tuesday, April 23, 2024

Asyncio Handle Control-C (SIGINT) #626 – APRIL 23, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo Asyncio Handle Control-C (SIGINT) When the user presses CTRL-C on the keyboard, the OS raises an

Writing Contests Just Landed On Product Hunt 🔥

Tuesday, April 23, 2024

Upvote us to keep the $$$ coming! 👍 ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌ ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌ ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌ ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌ 

Daily Coding Problem: Problem #1421 [Hard]

Tuesday, April 23, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Uber. Given an array of integers, return a new array such that each element at index i

Ranked | The Top 10 EV Battery Manufacturers 🔋

Tuesday, April 23, 2024

Asia dominates this ranking of the world's largest EV battery manufacturers in 2023. See which battery makers feature in the top 10. View Online | Subscribe Presented by: EnergyX's

Bringing PGO to the build pipeline

Tuesday, April 23, 2024

Plus how Go grew at Google, cmp.Or, and ways to visualize makefiles, Go binaries, and live Go processes. | #​504 — April 23, 2024 Unsub | Web Version Together with Three Dots Labs Go Weekly How Dolt

Noonification: Leetcode: Two-sum an Intuitive Approach

Tuesday, April 23, 2024

Top Tech Content sent at Noon! Get Algolia: AI Search that understands How are you, @newsletterest1? 🪐 What's happening in tech this week: The Noonification by HackerNoon has got you covered with

The best AI chatbot for coding

Tuesday, April 23, 2024

9 video gadget must-haves; 6 things Linux should borrow from MacOS -- ZDNET ZDNET Tech Today - US April 23, 2024 placeholder Can Meta AI code? I tested it against Llama, Gemini and ChatGPT - it wasn