[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

Saturday, May 21, 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, May 20, 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 Dependency Pitfalls] What dev managers expect from Python candidates

Thursday, May 19, 2022

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

Wednesday, May 18, 2022

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?

Monday, May 16, 2022

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

SRE Weekly Issue #358

Monday, February 6, 2023

View on sreweekly.com A message from our sponsor, Rootly: Manage incidents directly from Slack with Rootly 🚒. Rootly automates manual tasks like creating an incident channel, Jira ticket and Zoom rooms

WP Weekly 132 - Geeky - Auto Save Forms, WP ShowOff, Event Automator

Monday, February 6, 2023

Read on Website WP Weekly 132 / Geeky A lot of geeky things are in focus this week, ready for implementation on your WordPress websites. Be it 'save and continue' in Gravity Forms or connecting

Weekend Reading — 👋 How many fingers to a hand?

Monday, February 6, 2023

This week we ask who's responsible for technical decisions, dig into the origins of spaghetti code, discover a new dopamine loop, talk a lot (too much?) about generative AI, and wrap it up with a

U.S. military shoots down suspected Chinese surveillance balloon — and Ask HN: Are you tired of reading ChatGPT headlines?

Sunday, February 5, 2023

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

Dragons, bailouts and resort buyers

Sunday, February 5, 2023

Neologism #19, 05.02.2023 ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Daily Coding Problem: Problem #1014 [Medium]

Sunday, February 5, 2023

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Facebook. Given a start word, an end word, and a dictionary of valid words, find the

The end of writing & No Tracking, no bias

Sunday, February 5, 2023

In this week's issue of Creativerly: Supercharged daily productivity, up your game, date-focused note-taking, and a lot more. Creativerly Creativerly The end of writing & No Tracking, no bias

The Station - Elon dodges liability, Ford falters and Rivian lays off more workers

Sunday, February 5, 2023

TechCrunch Newsletter TechCrunch logo The Transportation logo By Kirsten Korosec Sunday, February 05, 2023 Welcome back to The Station, your central hub for all past, present and future means of moving

Contracts you should never sign

Sunday, February 5, 2023

The good news is that contracts are not set in stone, they are usually open to negotiation #508 – February 06, 2023 View in browser Programming Digest Contracts you should never sign The good news is

Pitch your startup to Sequoia Capital and Vanta

Sunday, February 5, 2023

TechCrunch Live - Feb 15 - 11:30am PT TechCrunch Live - February 15, 2023 Hear why cybersecurity is still hiring and spending on TechCrunch Live Hear why cybersecurity is still hiring and spending on