Programming languages: Python's new developer in residence and their 'make-it-or-break-it' role

The enormity of the Python project means it has accumulated a sizeable backlog of issues over the years. The project's recently appointed developer in residence speaks to ZDNet about how he plans to tackle the challenge.

python-programming-language-code-data.jpg

Langa likens his role at Python to that of a janitor. It may not be cutting-edge work, but somebody's got to do it to keep things moving forward.

Image: rootstocks / Getty

Running a project as big as Python is a huge undertaking. With more than a million lines of code, the programming language relies mainly on volunteers to keep it running and introduce new features.

But Python's nature as a community-driven project brings its own share of problems. With thousands of independent programmers adding their own code to the project, bottlenecks are easy to accumulate and for issues to go unnoticed.

ZDNet Recommends

The most popular programming languages and where to learn them

Upskilling will be a part of work's new normal. Here's a look at the most popular programming languages based on surveys and courses for them.

Read More

"If you are a volunteer and you spend your own time on a thing, a project, as part of Python, you're going to want to work on the thing that interests you personally. It's only natural," says Łukasz Langa, who in July was appointed by the Python Software Foundation (PSF) as the new Developer in Residence for CPython.

See also: Developers, DevOps, or cybersecurity? Which is the top tech talent employers are looking for now?

"You cannot really ask another contributor or force anybody else to work on that thing that you find important because we are all volunteers. So it's all driven by consensus."

In the recently created role, which Google is sponsoring, Langa will act as a steward for the Python project, identifying problem areas, reviewing code, and sifting through the piles of pull requests that have amassed on the project's GitHub page.

"It's a gigantic backlog to look through, so just having somebody who does this review work already multiplies everybody else's impact," Langa tells ZDNet.

"We have 1400 open pull requests. I'm focusing on getting that number down or making sure that other contributors have a better experience. This is not just burning through the numbers, but also getting a feel of parts of our workload that needs improvement."

Langa, a former Facebook developer, based in Poland, likens the Developer in Residence -- or DIR -- role to that of a janitor: It's not the most glamorous work, but somebody's got to do it. "As in every working society, somebody has to take out the trash; you need to provide the electricity for everybody, and so on and so on. There are a number of things that have to happen regularly," he says.

That's not to say that Langa is unenthused by the role -- far from it, in fact: "I'm not sure if there would be anybody who wouldn't be excited in my position. It's easy to be excited about this."

Python has a lot of attention from corporations, who have their own interests in the language. In November 2020, Microsoft hired Guido van Rossum -- Python's creator -- to lead efforts to improve the performance of the programming language.

Having big sponsors with large cash reserves behind the projects is good -- Python is open source, after all, and relies heavily on sponsors to keep it going. Even languages like C, C++ and JavaScript have communities that consist of corporations that help standardise and shape each version of the language.

But it also means more effort is needed to ensure the project maintains autonomy and isn't steered by corporate influence. 

The DIR role is, therefore, an effort to ensure that PSF has someone helping to steer the project centrally, taking on feedback from the community to identify problem areas, while also dealing with backlogs so that more time can be spent on introducing important features and changes to Python.

"The most important thing, really, is to have visibility into which parts of Python need the most help, the areas that have the most issues. Even if they're not open at the time, we need to see what parts of Python generate the most churn," says Langa.

"We want to see where the most pull requests are coming [from], and we want to see where most pull requests are getting stuck -- for example, because the library they're targeting doesn't have a maintainer within the team."

Having a developer working on Python full time is also crucial to keep it in step with other programming languages that are either already highly successful or are quickly gaining traction.

"It's very important to really stay relevant -- having all those corporate-driven new languages like Go and Swift and Rust, [which are] actually gaining traction super quickly because there is a driven team behind them in each case," says Langa.

See also: Programming languages: Python is hottest, but Go and Swift are rising.

"It shows that butts in seats for eight hours a day really changes the game…There are a bunch of things that are kind of boring, or necessary, or just have to be applied on a regular basis. It should happen in a healthy project, and we were kind of lagging behind on those things."

Transparency will play a large part in the DIR role. On top of writing reports for PSF on the work he does, Langa is also posting weekly reports to his own blog to keep the community updated with his progress and keeping Python's GitHub repository up to date.

He appears particularly conscious of this level of visibility: as the first person to have been appointed to the role, there is no shortage of pressure. "This first year really is make-it-or-break-it for the entire idea; whether it's successful will potentially shape the future of this kind of sponsorship for language development," says Langa.

He's also under no illusion that he has the answers to all the questions and acknowledges that there will be a degree of trial and error to the role. "I don't claim to be able to fix all of Python. But it is the first step, and it is part of where I can multiply what other people are already doing," he says.

"This is the first time we are doing something like this. I'm open to feedback -- that is the good part of it all being transparent and out there for anybody to see."