About Patrick Joubert
Patrick Joubert is a French entrepreneur in the tech industry. His latest venture, Ponicode, was acquired in March 2022 by CircleCI, the leading Silicon Valley continuous integration and continuous delivery platform, to become the heart of CircleCI’s effort to improve the developer experience. Now Head of the Developer Experience department, Patrick Joubert leverages his passion for innovation to create new solutions to improve developers' working environment. We were happy to have him on stage with us at the CTO Forum, and have him share his story on our blog today. Patrick, over to you!
I spent fifteen years in big corporations, then a decade building startups mainly evolving around the developer’s environment. Ponicode is the latest: an AI engine for analyzing source code to help developers produce better code in their local development environment and support them as early in the development cycle as possible.
Developer experience: inside and out
From all the experience I had working in startups or building them, one thing always came back: developer experience is crucial to the success of the solutions they design and the companies they work for.
In and out: your developer or the one that will work with and use your product.
Your capacity to take care of your team of developers just as much as the engineers manipulating, implementing, and setting your solutions will define the success of your products.
Improving how developers experience their own work environment
Looking at the journey developers go through creating and delivering code one thing stands out: in their craftsmanship developers are facing continuous interruption in their workflow, they face micro context switching hundreds of times per day and they have to seek out pieces of information in so many places across their ecosystem.
This state of things is unbearable to us, the Developer Experience team, because it creates so much inefficiency, it ruthlessly erodes the life of developers.
In order to be part of the solution, we chose one North Star metric and stuck with it: improve how developers experience their own work environment. What can we provide to developers to give an engaging coding environment? What can we do so all app deployments are running seamlessly? How can we help developers go through the motions faster and better than ever before? And how can that help the overall quality of delivery for our industry?
Ponicode decided to address unit testing because developers find it particularly painful and it is critical to code quality. Unit testing is tedious, repetitive, and time consuming, yet key to efficient bug prevention and detection. So we worked on offering accelerated unit testing integrated directly into the IDE, for instance. Helping developers where they are, in the IDE, spending less time doing tedious work, yet improving the exhaustivity and robustness of said work so they could refocus on what they love best: creating new features. And when Ponicode got bought by CircleCI, we were able to pursue that mission on an even larger scale. Taking care of developers to make sure they do what they like.
Coding is a creative work
Coding is creative work, inventive work, and meticulous work. We don’t code alone, yet we also need to be alone to code. It’s like a bubble, with a much-required window opened to other teams for collaboration and to other steps of the code delivery lifecycle for agility.
At the moment we are working on giving a clear scope, a perimeter, and a zone to protect this space and keep a balance in the developer's day-to-day. Which collaborative elements to bring in the developer environment? How to create an uninterrupted workflow and remove task-shifting while preserving the flexibility of their journey?
Keeping a balance in the developer's daily work
Internally the improvement of the developer experience goes through better management of communication. For instance, collaborative communication tools such as Slack are fantastic tools, yet they can also be overwhelming. How to find a balance? We strive to help our developers find it, and I think the answer relies on both technical and management aspects. You can create no-meeting and no-solicitation time.
We have opted to see each other less to create a friendlier environment to deep focus work but we also decided that less quantity meant more quality. Our in-person days are collaboration and knowledge-sharing intensive. For our team, the greatest and craziest ideas are born at the coffee machine or during informal meetings, so we have to make sure to create these mental spaces.
A cohesive organization tooling stack
The organization tooling stack is also important for synchronization. In the tooling stack, we seek balance with a continuous review of what we use and how we use it. In the limited resources environment in which startups evolve you should look for the best for your developers and keep the benefit of their workflow in sight where so many tools push for management-centric value. Developer tools are not simple SaaS and you should avoid approaching them so simply. To run our tech team we simply use what works best: Gmail, Slack, Jira, Git, and Confluence. I am pretty sure that most successful organizations use this pack of software, and this is not an original tooling stack.
Having well-spread tools among developers and startups helps you make sure that onboarding and tool mastery is as quick as possible for new team members thus protecting your team's velocity against your growth. Make sure not to lose anyone with your stack and have a cohesive environment for your developers.
You can’t scale without Developer Experience
Startups need to integrate a developer experience perspective as soon as they possibly can in order to scale.
The first challenge for a startup is recruitment - and if you don’t set up the proper environment on day one, it will be a challenge to recruit successfully. All startups need to step up their game in the current French hiring-for-best-tech-talents battle. Great developer experience will create valuable and far-reaching word of mouth among your developers and their network. This is the number one thing startups can leverage to fight with equal arms against big corporations.
Ever since I’ve become an entrepreneur the first thing I do is to nurture the team. In my experience, the success of all the great scaleups that rose in the last few years lies on the great engineers they were able to have onboard.
Tools, processes, management, there are so many different ways we can shape the way our developers experience their workflow. From design to deployment our department has the chance to continuously review every step they are going through and try to find out how the future of software development will be more efficient, more resource-savvy, and ultimately how we can make software engineers happier in this process.
But it comes down to IT leaders to put themselves in the shoes of developer experience experts and take the space to figure out how to enable their engineering team to deliver code reliably and at scale, how to onboard new engineers smoothly, and to pick tools that make developers faster and happier. But they will run into challenges on the road: getting lost in custom work, metrics accumulation, run into poor user experience, usage complexity and tough learning curves.
Keeping your goals as the lead of developer experience in mind will help you stay on track by helping developers be more efficient and reducing the proportion of their workload dedicated to low-value tasks. It’s a journey you will never be bored with and you are not alone in it. Listen to developers and trust their capacity to figure out how to build healthy systems with tools well-orchestrated together.