PostgreSQL is at the core of what we do at EDB, and several people here work on PostgreSQL full-time. However becoming a contributor and being successful in your contributions is not an easy task. That’s why PostgreSQL powerhouse Andrew Dunstan kicked off a program to help folks that have the ambition to become contributors take their first steps.
Mid-September folks from EDB, both existing PostgreSQL contributors and committers, as well as people who show promise for Postgres Development, came together in Barcelona, for a 3-day training.
About Postgres Developer U
The course consists of four 1 week onsite classes that will be taught over the course of a calendar year. In addition there will be assignments and efforts completed over the calendar year.
In Barcelona participants learned, among other things, PostgreSQL’ coding standards, debugging, writing test cases, and writing documentation. The week consisted of presentations / lectures followed by hands-on sessions. Participants worked on a bug or feature patch, and also reviewed and tested each other’s patches.
The hands-on sessions gave the opportunity to apply the concepts learned. First, the participants could choose from a list of patches already present in the commitfest and try a basic review. Does it compile? Does it do what it says it does? Was the test run successful? Was the documentation accurate? Jonathan González found an improvement at this stage and submitted a patch, which showed that even a small contribution can make a big difference!
After that, the group got to do some actual development, focusing on a subject already proposed in the hackers list by Andrew Dunstan. The basic idea is to provide a few new SQL functions to emit DDL for each SQL object type. Participants worked in pairs and trainers were available to provide guidance.
Meet the trainers
Andrew Dunstan shares that he's very happy with the nominations. “We wanted people who were not new to programming, and also we tried to spread the selections across the company, to avoid too big an impact on any one area when people are away for a week.”
Satisfied with the program, Andrew says: “This will bring forward new developers for PostgreSQL. It will increase dissemination of Postgres knowledge inside EDB, making participants better at the jobs they currently have, and it is an important professional development program.”
Amul Sul is one of the trainers, covering PostgreSQL Coding Standards, PostgreSQL logging and error handling, and PostgreSQL Memory Management. He’s a big fan of the Developer U program: “EDB is a key contributor to PostgreSQL, and this initiative aims to grow its contributions by fostering more PostgreSQL professionals and enhancing their community engagement.”
Álvaro Herrera, another of the trainers, presented a session on debugging and offered a detailed insider's view on technical topics as necessary during the sessions, assisted by his experience with the community for over 24 years.
Both Andrew and Álvaro think the balance between presentations and hands-on worked very well, and believe that the pairing of the participants was a good idea. Álvaro: “I think it would be good to get them to review other people's code as posted in the commit fests. Reviewing code is a great way to learn the part of the code being modified, so it's a valuable exercise not only for the person receiving the review, but for the person writing it!”
Álvaro is excited about the cohort. “I think this is a great group of people and I hope that they will be able to find the energy to continue to contribute to Postgres core development.”
Meet the first cohort
I asked 4 of the 12 participants about their experience.
Tim Waizenegger, Team Lead for AI development, shares his reason for signing up for the program: “PostgreSQL is at the core of what EDB does, I wanted to get involved with that!” He likes the approach of being able to do this in parallel with his current role, rather than having to fully switch into a different role/organisation (right away).
“I always thought about developing new features for PG and that would be a big undertaking. But there is actually a lot of low hanging fruit; small bug fixes or just small enhancements.”
Jonathan González, Senior Staff Engineer, is not new to open source development: he’s one of the maintainers of CloudNativePG. He’d been looking for a pocket of time to work with the network layer of PostgreSQL. Now, with the kickoff of the Developer U program, and the proper instruction, he feels like he has the momentum to continue.
It’s no surprise Jonathan was nominated for the program, since he has decades of experience programming in C. But maybe more so than the code, it’s the human side of the PostgreSQL project that Jonathan is interested in. “I’m looking forward to getting involved in the mailing list discussions on more meta-level topics.”
“The contribution process is non-trivial. You have to work with the mailing list, maintain your own fork on GitHub, work with the commitfest process, but this week helped me better understand the process!”
Phil Alger is a Security Program Manager in the InfoSec team, managing the EDB Enterprise Risk program. He joined Developer U to learn more about PostgreSQL internals. Phil was nominated by his manager, Jaime Arze. “Although I've followed Postgres for years, I never understood the community development process. Developer U's hands-on approach, with support from contributors, was a major selling point for me!”
As his job title suggests, Phil is excited about security, but he says he’s also inspired by any improvement, no matter how small. “I loved learning how Postgres works, and the best way to do that is to dive in and get my hands dirty, even if it feels uncomfortable at times!”
Phil is not new to the PostgreSQL community. He’s starting up a meetup group in Nashville after previously re-starting a “PUG” in LA, prior to COVID. He also used to write blog articles when he worked at IBM about using Postgres. Still, when he got started, he was worried that the work would be over his head.
“To my surprise, creating a patch wasn't difficult at all. Working on smaller tasks was exciting because I could see my progress quickly.”
Mario González works in the TPA (Trusted PostgreSQL Architecture) team, but has in the past worked with edb-python, Barman and repmgr. He is excited to get deeper into Postgres. “Postgres has proved to be mature enough to adapt to many scenarios. I'm sure whatever lies ahead, Postgres will carry on being a main actor.”
Mario used to work for Mandriva Linux. During his time there he was able to contribute to gdesklets and the Gnome project, with code and bug triaging. For Postgres he was involved in creating a pilot project called "webtranslator", which used to be hosted in pgfoundry.
“It surprised me that I could work with Postgres code, before this program I didn’t think becoming a Postgres contributor was something reachable.”
What’s next?
In subsequent weeks the group covers Postgres internals, including vacuum, backups, authentication, but also: extensions. Andrew: “We are planning for another on-site in early 2026. I think it works far better than virtual meetings.” We’ll keep tabs on them and their patches!