It’s been roughly a year since Andrew Dunstan first proposed an internal training program designed to mentor the next generation of PostgreSQL developers. That vision is now a reality: just last week, the inaugural "Developer U" cohort gathered in Dubai for their second in-person session.
I caught up with the trainers and participants to get the inside scoop on how the program is evolving. For this second get-together PostgreSQL Core member Peter Eisentraut joined Andrew Dunstan in Dubai. But more people are involved in working with the cohort. EDB’s Euler Taveira is working on some of the patches participants worked on when they first met in Barcelona.
Inside the training
For this latest on-site, Andrew Dunstan shifted the strategy: instead of mandatory pairings, participants could choose to tackle projects solo or in duos. The challenge? Building a CREATE EAV command from scratch. "Note that this is not something we want added to Postgres—it's really an anti-pattern," Andrew clarified. "The project was purely for educational purposes."
The curriculum took the cohort under the hood of the database engine, covering the "why" and "how" of core development:
- Andrew introduced parser theory and the mechanics of the main Bison grammar file.
- Participants learned to create node types and hook commands into the Postgres traffic cop for execution.
- The group explored structures for adding and accessing new catalog tables via C code.
- Peter Eisentraut led a deep dive into writing C functions, specifically those involving row sets and materialization, alongside sessions on access control and generic command implementation (like
DROPandCOMMENT).
A major part of day 3 was the introduction of Claude Code as a copilot. The group moved from initial setup via AWS Bedrock and the Claude CLI to active experimentation. The cohort used the tools for YAML data types, JsonSchema validation, generating tests, and even reviewing Commitfest items. The trainers emphasized a crucial rule: always review AI output. The group discussed the ethics and risks of posting AI-generated code to the community. Vaibhav Dalvi, Staff SDE at EDB, noted that using Claude as a collaborator made technical implementation "much more approachable," allowing the team to focus on high-level design.
The intensity of the training didn't slow the group down. Peter was impressed by the cohort's persistence, noting their refusal to abandon difficult exercises. Andrew echoed this, admitting the participants progressed through the complex material faster than he had anticipated. He is sure Peter’s support and contribution were instrumental.
For many, like Ian Barwick, Senior Staff SDE I at EDB, the guided environment was the key to progress: "If I had to do it all on my own, it was going to be one of those things which gets put off until I have time."
Patches, patches everywhere
The real magic of the on-site wasn't just in the lectures, but in the "face-time" that turned theoretical roadblocks into concrete solutions. For Vaibhav, the session was a mission to break a stalemate. He arrived with a specific goal: resolving conflicting reviewer opinions on the pg_get_subscription_ddl() function. "There has been a debate over whether the output should be pretty-printed," Vaibhav explained. By sitting down directly with Andrew and Peter, he was able to finalize the architectural direction, proving that an afternoon of in-person collaboration can often solve what weeks of asynchronous comments cannot.
Staff SDE Florin Irion highlighted the balance of the week, noting that while the presentations were excellent, the hands-on work provided the most significant ROI. This sentiment was echoed by Ian, a long-time PostgreSQL contributor who found immense value in the direct mentorship. "I gained some more solid understanding and new perspectives this week," Ian reflected. "That's much harder when it's just me poking around at the code and wondering if I'm getting it right."
The participants’ "to-do" lists are packed. Vaibhav is diving into the review queue for several patches (6446, 6433, 6427, and 6406). He is also expanding the CREATE EAV educational project to include ALTER and DROP support, using the session to fuel a deeper interest in the DDL execution pipeline. Florin is focusing on the user experience, working on a patch to improve psql autocomplete for functions. Meanwhile, Ian is attempting to apply some of his new insights to a personal project (a Postgres foreign data wrapper for Firebird).
Not just work
The "Developer U" experience wasn't confined to grammar files and C functions. Between sessions, the group took advantage of their time in Dubai to build the kind of personal rapport that Slack messages simply can't replicate. The participants stepped away from their screens to connect as peers.
Vaibhav recalled a particularly memorable evening which culminated in the group watching the famous Dubai Fountain show. For Florin, these moments were about more than just sightseeing; they were an opportunity to learn about his colleagues' lives and interests outside of PostgreSQL. Ian echoed this sentiment, noting how rare it is to have this level of interaction: “I very rarely get the opportunity to interact with co-workers even online, let alone in person. It was a great chance to meet up and talk about all sorts of things!”
It can be difficult to maintain momentum on complex open-source contributions once you return to the competing demands of a regular "day job." But Ian shared a particularly inspiring anecdote from his journey home after the first session in Barcelona. While he was working on the PostgreSQL code tree during his flight, his neighbor noticed his screen.
"Hey, are you a Postgres developer?" the passenger asked.
Ian replied with a modest, "Kind of."
"Wow, thanks for all your work," the stranger said. "We use Postgres internally and love it." It was a great reminder of the real-world impact their work has.
What’s next?
For EDB, the program isn't just about teaching code; it’s about empowering the experts already within their ranks. "Instead of only hiring people who are already active in the community, it makes sense to support current employees to become more active and more visible," noted Florin. Vaibhav agrees, adding that the combination of technical mastery and "social trust" built through the program is the secret sauce for moving patches through the community pipeline more efficiently.
For Peter, the program addresses the natural evolution of the open-source ecosystem. "People will retire, move on, teams will need to grow," he observed. "Programs like Developer U are a good way to ensure we have enough talent in the pipeline." Andrew emphasized that the on-site format is vital to his growth. By stepping away from "day job" pressures, participants gain the mental space to study, practice, and build the camaraderie that sustains a long-term career in database development.
Thus, plans for a third get-together in June are in the making. Topics on the agenda include the Executor internals, TAMS/IAMS, Authentication, and Planner internals - with EDBs Robert Haas likely to join.
If you're interested in how to get involved in cultivating the next generation of database hackers, Andrew Dunstan will be presenting a session on setting up internal training programs at PGConf.DEV in Vancouver (May 19-22). Many of the Developer U participants will also be in attendance. Stop by the EDB booth to hear their stories firsthand!