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

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 skills for new Python developers to know.

Here's what he had to say:

~~~

Usually when people learn a new programming language they go through the process of learning about the syntax first:

How do you handle conditions, how do you write loops, how do you declare variables and functions, and so on.

And that is all very important.

But it's not enough.

As a leader of a development team you can't bring someone on who doesn't know their way around the core tools for the job.

A couple of things that I noticed new Pythonistas struggle with is, out of the gate, "How do I run a Python app on a pristine and sandboxed environment?"

And I'm surprised that none of the courses or books that I've seen online start by telling you how to create and take advantage of virtual environments.

To get really comfortable with the idea of, "This is how I set up the sandbox, this is how I install all of my dependencies, and this how I'm going to get rid of everything once I'm done."

The reason I'm telling you this is:

I have someone who's learning Python for the very first time, and she's taking an online course.

She was telling me about how she likes it, and that the course was very basic but she likes it that way because she hasn't really written a line of code in many many years.

She says, "I can handle the slowness because it gives me a good solid foundation."

And I asked her, "So, are you using virtual environments?"

And she says, "No, I'm not sure what that is either."

The problem is the course didn't cover this topic at all.

This is one of the things that we have to teach new people right away, virtual environments and using pip.

It's the clean way, and it's a skill all of our developers need know.

None of our apps and testing jobs run without creating virtual environments.

As a matter of fact, every piece of code we write must be installable on a virtual environment.

What I like for people to know is how to install all the dependencies, how to work with virtualenv sandboxes, and how to use standard Python workflows.

I think that learning all of these basic things—maybe even before you learn how to write code—is really important.

~~~

This was an eye opening conversation for me:

Too many Python developers focus on the language and IGNORE the importance of being able to work smoothly with complex projects and deployment setups.

Oftentimes what makes you productive in a "real-world" Python development environment is a little counter intuitive:

Knowing your way around Python's syntax is NOT enough.

The "missing link" is knowing how to manage sandboxed environments and knowing how to work with external package dependencies.

As a result, solid Python dependency management skills are an asset that puts you ABOVE the sea of applicants for many Python jobs out there.

If you're looking for a quick and efficient way to acquire the skills and workflows recommended by the official Python Packaging Authority then check out my Managing Python Dependencies with Pip and Virtualenv course.

By getting those skills under your belt you’ll be ready to work with the Python development and production environments used by professional development teams across the world.

And knowing these “tools of the trade” by heart puts gives you the edge in any Python job interview:

>> Click here and discover how to quickly and efficiently acquire dependency management skills in Python

— Dan Bader

Key phrases

Older messages

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

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

[Sublime + Python Setup] Don’t build “nag screen muscle memory”

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

[PythonistaCafe] Why PythonistaCafe exists

Tuesday, October 11, 2022

Hey there, In one of my last emails I talked about how some online communities in the tech space devolve over time and turn into cesspools of negativity. This relates directly to how and why I started

[Sublime + Python Setup] why Atom can’t replace Sublime

Monday, October 10, 2022

Hey there, "In a nutshell, Atom is a Sublime Text editor that just got better." When I read this quote I got so worked up I nearly fell off my chair. Because every time I've tried Atom or

[Python Dependency Pitfalls] A total mess?

Sunday, October 9, 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

You Might Also Like

Daily Coding Problem: Problem #1425 [Easy]

Sunday, April 28, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Microsoft. Suppose an arithmetic expression is given as a binary tree. Each leaf is an

PD#571 Software Design Principles I Learned the Hard Way

Sunday, April 28, 2024

If there's two sources of truth, one is probably wrong. And yes, please repeat yourself. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

When Procrastination is Productive & Ghost integrating with ActivityPub

Sunday, April 28, 2024

Automattic, Texts, and Beeper join forces to build world's best inbox, Reflect launches its iOS app, how to start small rituals, and a lot more in this week's issue of Creativerly. Creativerly

C#503 Building pipelines with System.Threading.Channels

Sunday, April 28, 2024

Concurrent programming challenges can be effectively addressed using channels ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

RD#453 Get your codebase ready for React 19

Sunday, April 28, 2024

Is your app ready for what's coming up in React 19's release ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

☁️ Azure Weekly #464 - 28th April 2024

Sunday, April 28, 2024

Azure Weekly Newsletter Issue #464 powered by endjin Welcome to issue 464 of the Azure Weekly Newsletter. In AI we have a good mix of high-level and deep-dive technical articles. Next-Gen Customer

Tesla profits tumble, Fisker flatlines, and California cities battle for control of AVs

Sunday, April 28, 2024

Plus, an up-close look at the all-electric Mercedes G-Wagen and more View this email online in your browser By Kirsten Korosec Sunday, April 28, 2024 Welcome back to TechCrunch Mobility — your central

Sunday Digest | Featuring 'The Countries With the Most Air Pollution in 2023' 📊

Sunday, April 28, 2024

Every visualization published this week, in one place. Visual Capitalist Sunday Digest logo Apr 28, 2024 | View Online | Subscribe | VC+ The Best of This Week's Visuals Presented by Voronoi: The

Android Weekly #620

Sunday, April 28, 2024

View in web browser 620 April 28th, 2024 Articles & Tutorials Sponsored How DoorDash Manages Mobile Releases Ever wonder how the big names in mobile engineering manage the human side of their app

President Biden signs TikTok bill

Sunday, April 28, 2024

Plus: Robotaxis face new legislation in California and more View this email online in your browser By Anthony Ha Sunday, April 28, 2024 Image Credits: Bryce Durbin/TechCrunch A bill forcing TikTok