[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

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

Thursday, July 28, 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

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

Wednesday, July 27, 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] How to set the world on fire

Wednesday, July 27, 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

[PythonistaCafe] What's in PythonistaCafe for you?

Wednesday, July 27, 2022

Hey there, A couple of years ago I'd become quite interested in martial arts. Hours upon hours of watching "The Karate Kid" growing up must've taken their toll on me... And so, I

[Sublime + Python Setup] The Ctrl+s "Heisenbug"

Tuesday, July 26, 2022

"What the **** is going on?!" I heard Keith yell. Returning from my lunch break and in a helpful mood I grabbed my coffee mug and shuffled over to my coworker's desk. "What's

I spent a year designing a low profile, minimal mechanical keyboard — and Learn to sew your own outdoor gear

Thursday, August 18, 2022

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

HBO Max is pulling 36 shows this week — Here's the list

Thursday, August 18, 2022

TechCrunch Newsletter TechCrunch logo The Daily Crunch logo By Christine Hall and Haje Jan Kamps Thursday, August 18, 2022 G'day, crunch bunch! We're both starting to get a little bit excited

📱 Issue 320 - Structs, Classes, and Actors in iOS Interviews - Holy Swift

Thursday, August 18, 2022

This week's Awesome iOS Weekly Read this email on the Web The Awesome iOS Weekly Issue » 320 Release Date Aug 18, 2022 Your weekly report of the most popular iOS news, articles and projects Popular

💻 Issue 319 - Microsoft and Canonical announce native .NET availability in Ubuntu 22.04 hosts and containers

Thursday, August 18, 2022

This week's Awesome .NET Weekly Read this email on the Web The Awesome .NET Weekly Issue » 319 Release Date Aug 18, 2022 Your weekly report of the most popular .NET news, articles and projects

💎 Issue 326 - Requiring MFA on popular gem maintainers

Thursday, August 18, 2022

This week's Awesome Ruby Newsletter Read this email on the Web The Awesome Ruby Newsletter Issue » 326 Release Date Aug 18, 2022 Your weekly report of the most popular Ruby news, articles and

💻 Issue 326 - Building a chat app with Socket.io and React 🚀

Thursday, August 18, 2022

This week's Awesome Node.js Weekly Read this email on the Web The Awesome Node.js Weekly Issue » 326 Release Date Aug 18, 2022 Your weekly report of the most popular Node.js news, articles and

💻 Issue 326 - Introducing the Markdown Language Server

Thursday, August 18, 2022

This week's Awesome JavaScript Weekly Read this email on the Web The Awesome JavaScript Weekly Issue » 326 Release Date Aug 18, 2022 Your weekly report of the most popular JavaScript news, articles

💻 Issue 321 - Rust in Perspective

Thursday, August 18, 2022

This week's Awesome Rust Weekly Read this email on the Web The Awesome Rust Weekly Issue » 321 Release Date Aug 18, 2022 Your weekly report of the most popular Rust news, articles and projects

💻 Issue 244 - Building a chat app with Socket.io and React 🚀

Thursday, August 18, 2022

This week's Awesome React Weekly Read this email on the Web The Awesome React Weekly Issue » 244 Release Date Aug 18, 2022 Your weekly report of the most popular React news, articles and projects

📱 Issue 323 - DocC Interactive Tutorials — How to create an iOS framework Pt5

Thursday, August 18, 2022

This week's Awesome Swift Weekly Read this email on the Web The Awesome Swift Weekly Issue » 323 Release Date Aug 18, 2022 Your weekly report of the most popular Swift news, articles and projects