[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] How to become a happier & more productive Python dev

Sunday, September 11, 2022

Hey there, I really struggled with setting up an effective development environment as a new Python developer. It was difficult to build the right habits and to find a set of tools I enjoyed to use.

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

Saturday, September 10, 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

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

Saturday, September 10, 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 Dependency Pitfalls] Artisanal "from-scratch" development

Friday, September 9, 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

[Python Mastery] Learn Python in 21 days!!!!11 (what a lie)

Friday, September 9, 2022

Hey there, One of the first programming books I ever bought was "Teach Yourself C in 21 Days." This four pound tome came with a CD-ROM that included an ancient version (3.1) of the Borland

Virtual Event: Driving results from digital transformation projects with search-powered technology

Thursday, October 6, 2022

Join the conversation between Elastic's CIO and a guest VP & principal analyst from Forrester elastic | Search. Observe. Protect Drive digital transformation with search-powered technology

Imagen Video: high definition video generation with diffusion models — and Elon Musk moves ahead with Twitter deal in 13D filing

Wednesday, October 5, 2022

Issue #911 — Top 20 stories of October 06, 2022 Issue #911 — October 06, 2022 You receive this email because you are subscribed to Hacker News Digest. You can open it in the browser if you prefer. 1

Google will use private subsea cable to launch its first full-scale cloud region in Africa

Wednesday, October 5, 2022

TechCrunch Newsletter TechCrunch logo The Daily Crunch logo By Christine Hall Wednesday, October 05, 2022 Happy Wednesday! Haje is enjoying a well-deserved day off, but I'm here to dive into some

JSK Daily for Oct 5, 2022

Wednesday, October 5, 2022

JSK Daily for Oct 5, 2022 View this email in your browser A community curated daily e-mail of JavaScript news Pros and Cons of Application Level Indexing and Caching You have probably heard much about

Infographic | The Top 10 EV Battery Manufacturers in 2022 🔋

Wednesday, October 5, 2022

Despite efforts from the US and Europe to increase the domestic production of batteries, the battery market is still dominated by Asian suppliers. View Online | Subscribe Presented by: An ETF lineup

🎉 Welcome to Cybersecurity Awareness Month!

Wednesday, October 5, 2022

Free guides inside! 1Password Cybersecurity Awareness Month 2022 Hi there, Cybersecurity Awareness Month is a global initiative creating awareness about how to be safer online – whether you're at

JSK Weekly - October 05, 2022

Wednesday, October 5, 2022

It's already the 10th month of 2022 and unlike the last two years, it just seems to be speeding by! Did you know that "It is estimated that very soon Node.js will lead the web development

[Python Mastery] The secret to "ethical self-promotion"?

Wednesday, October 5, 2022

Hey there, Here's some food for thought: There's a difference between *doing* a great job as a Python developer, and *to be seen doing* a great job. Being a skilled developer among peers—and

Save Big on Pixel 6a, CCleaner Pro, Amazon Products, and More

Wednesday, October 5, 2022

Logo for How-To Geek Deals October 5, 2022 Save Big on Pixel 6a, CCleaner Pro, Amazon Products, and More Welcome to the first Wednesday of October! Fall's in the air, pumpkin spice lattes are

Metaverse in the Enterprise: What You Need To Know

Wednesday, October 5, 2022

The Hacker News eBook Update Newsletter 8 Steps to Better Security: A Simple Cyber Resilience Guide for Business ($18.00 Value) FREE for a Limited Time Download For Free Harden your business against