Year in Review (2025)
There are still another two weeks in 2025, but I’m ready to reflect already on how it went. Let’s dive in!
1. Started Work at JetBrains
The biggest change is that I started a new job in January as a Python Developer Advocate at JetBrains, working mainly on the PyCharm IDE.
It’s been a good change of pace for me to go from being 100% self-employed to now working remotely with a team. I’ve missed having true colleagues and the general support apparatus of a company, rather than having to do every last little thing myself. I’ve also learned a lot from colleagues across the company in coding, video development, marketing, data science, AI, and more.
JetBrains is grappling with how to incorporate AI into its products, so being on the inside of all this — trying out internal prototypes, participating in discussions with actual experts, and fielding questions from PyCharm users — has been super interesting. Not always a straight line from here to there, since everyone is trying to sort out what AI can really do, what user interface is best, what role an IDE itself will play going forward, and so on.
Working for a European company has been another change since my previous work experience was at U.S.-based startups. I have to say, as an American, the Europeans get the work-life balance part right. We work hard, but there is actual vacation time and a general respect for not always being on call. This has had a big impact on my productivity, not to mention my general happiness and sanity.
What Does a Developer Advocate Do? I wrote a post about it because it was a question I had myself before starting, and one I’ve had to field from many friends and family since. In short, it’s a mix of marketing, product, and community that varies widely from company to company and even within the same firm. I’m fortunate that my boss, Helen Scott, is a former Developer Advocate who was recently promoted to manager, so she intuitively understands the role, the demands it entails, and how DAs can do their best work.
A big change was focusing on videos. I did a lot of videos for PyCharm over the year, either screencasts for the PyCharm website, full videos with me talking and showing code, a livestream with Michael Kennedy around uv, and lots more. I’m still finding my feet with all of this: getting the correct gear, becoming comfortable with video editing, and all the rest. But video is how most people like to consume their information these days, and I enjoy learning how to do it better: it just takes a lot longer than writing plain old words!
2. Conferences
I attended both DjangoCon Europe and DjangoCon US this year, keynoting the former (a first!) and giving a 45-minute talk at the latter. Both talks are online, and I wrote up a text version of the talk, Django for AI, for anyone curious. It also has three related GitHub repos with all the code: a Jupyter notebook for training an ML model, deploying it to a Django website, and a separate repo on combining Django with a local LLM, server-side events, and HTMX.
Bus to dinner (photo courtesy of Paolo Melchiorre).
PyCharm had exhibitor booths at both PyCon US in Pittsburgh and EuroPython in Prague. See the linked blog posts for lots of photos and thoughts from each event.
PyCharm Team (partial) - Kristel Cocoli, me, Jodie Burchell, Cheuk Ting Ho, Valerie Andrianova
There were also two work trips, to Munich in January and Cyprus in October, which were both enjoyable and tiring. I appreciate being able to travel for work, but I think around 6 trips per year is a good limit for me, especially since many are to Europe.
3. Django for APIs Book Update and LearnDjango.com
I released the fifth edition of Django for APIs in March, covering the latest version of Django, Django REST Framework, and the related ecosystem. This was something I had almost completed before joining JetBrains, but it took another two months to get it into publishable form.
And I continue to maintain LearnDjango.com, which I launched at the end of last year and should serve as the main hub for all my Django content going forward. I receive quite a few emails from readers about the tutorials, books, and the rest. Sorting out how to balance that with my day job has been a challenge.
I’m also still working on the Django for Professionals book update, and I really want to get that out as soon as possible now that Django 6.0 is available. That’s my main priority outside of my work at JetBrains.
4. Blog Posts, Podcast, and Newsletter
Somehow I managed to write 35 blog posts this year, 52 editions of the Django News Newsletter, and 19 Django Chat podcast episodes, including all episodes in video format since the fall on YouTube.
It’s a lot. Adding the video component to Django Chat has taken longer and led to more learning. Overall, it has added to my production time, but we are committed to trying this new format through next summer. The podcast’s audience has remained stable over the years, with several thousand listeners per episode, but we’re not growing.
What’s Ahead in 2026?
Overall, I’m pleased with how things have gone working at JetBrains and with how I’ve mostly kept up with my own projects. It helps that there is some overlap there, but not a ton, so I still need to work on balancing the two. I learned a lot about AI this year, from various books, conversations, videos, and coding with agents like Junie and Claude Code in particular.
For 2026, I will be attending a few conferences (PyCon US, DjangoCon US, maybe EuroPython, some others tbd) and have submitted talk proposals. I will finally get the Django for Professionals update out over the coming months, as well as update the other two books to Django 6.0. And then once that is done, video is the main focus. As much as I love writing, people want videos, so I’m going to give them to them. Plenty of videos for JetBrains and PyCharm, but also personal ones around Django tutorials, AI learnings, and more.
I have ideas for other projects and books, but I’ve learned it’s best to keep them close to my chest until I have something to actually show everyone.
