Six Months as a Developer Advocate
This piece is a follow-up to my earlier post, What Does a Developer Advocate Do?, which I wrote two months into my new job at JetBrains. It described the history of the developer advocate position, how the role varies from company to company, the specific changes going on in the IDE landscape (hint, AI!), and my own goals for the rest of the year.
It’s four months later, halfway through the year, and I feel an update is due. I now have a much better sense of what the job entails and how things work at JetBrains. It’s also very interesting to be on the inside of a company rapidly transforming itself as a result of AI and competing with companies that have radically different business models.
JetBrains Organizational Structure
JetBrains has always been in the business of building tools for developers, most prominently in the suite of IDEs, but also developing and supporting new programming languages, like Kotlin, project management via YouTrack, a collaborative data science platform, Datalore, and many more. There are over 30 tools at the moment. It’s a running joke internally that almost no one can name the full suite of products because a) there are so many, and b) JetBrains is a company run by developers whose first instinct for any problem is to build their own tool to solve it.
This structure means that even as JetBrains now has more than 2,500 employees, it is quite “flat” from an organizational structure. At the top, there is our management team. Most tech companies include Developer Advocacy within their larger Marketing departments. JetBrains did this as well, in the past, but today DAs exist as their own department.
Developer Advocacy at JetBrains
What does that mean day-to-day? In practice, DAs still work closely with our marketing and product counterparts. For example, in my case, I’m a Python Developer Advocate, meaning I focus on the PyCharm IDE. So, I work with the DA team and also the Marketing and Product teams. In theory, roughly 1/3 of my time is devoted to pure marketing efforts, which take the form of staffing the booths at major conferences (PyCon US, EuroPython, etc.) as well as making videos for PyCharm landing pages for the PyCharm YouTube channel, to launch new AI features, and so on.
Developer Advocacy is a notoriously “squishy” title since we are a mixture of soft marketing, product, and community involvement. Being a separate department without the more analytical budget/result matrix of marketing makes this even more so! But it also makes the job more enjoyable since I’m afforded quite a wide latitude for determining how best to spend my time helping the Python community, staying abreast of changes, and producing content that educates fellow developers. Essentially, we are meant to help our given community, which can mean conference talks, blog posts, videos, contributions to open source, and more. By being on the frontlines of our community, we can then inform Marketing and Product colleagues on what we’re seeing and make suggestions around how to prioritize tasks.
The AI Revolution
What makes my job particularly interesting is that AI is sweeping through the programming field far in advance of other areas of business life. It turns out that LLMs can be quite good at generating code, though exactly “how good” is still being determined: it depends on the skill of the programmer, how well you use the tools, how good the current foundational models are, and a host of other factors. In other words, it’s still very nascent days, but the change is coming.
Personally, I have been using LLMs on a daily basis for almost two years, and the reality is that using them requires both a shift in thinking and a lot of experimentation. For example, there are differences between models, differences in how to engage with them in a chat format, newer techniques like adding rules or guidelines for your LLM, and finally, autonomous AI agents, which are where the action really is in 2025.
But first, what have I actually done during this six-month period? I’ll put things into four main buckets:
1. Travel
Some Developer Advocates travel all the time, some only a little. I’m somewhere in the middle. So far, I have taken the following trips:
- Munich, Germany in January for a JetBrains Developer Advocate annual retreat
- Dublin, Ireland in April for DjangoCon Europe where I keynoted
- Pittsburgh, USA in May for PyCon US to work the PyCharm booth
- Prague, Czech Republic in July for EuroPython to work the PyCharm booth
The rest of the year looks as follows:
- Chicago, USA in September for DjangoCon US where I am giving a 45-minute talk
- San Francisco, USA in October for the PyTorch Conference representing PyCharm
- Cyprus (the country!) in October for the annual PyCharm team retreat
That’s seven trips total, which is not too heavy a load, but for most of the conferences, there is quite a bit of prep work required, either because I’m giving a 45-minute talk or working at a booth, which requires having demos on-hand and coordinating with the team around what product or marketing features we are emphasizing. There are quite a few new initiatives and features in the works for PyCharm and JetBrains, and it can come down to only a few days before the conference when I know what will be public and what is still under wraps.
2. Community
Being a good Developer Advocate means supporting your community, which, in my case, is Python. To that end, I gave some talks, worked on some surveys, and updated some open-source projects.
- 45-minute keynote talk at DjangoCon Europe on Django for Data Science
- Attended and worked the PyCharm booth at PyCon US and EuroPython in Prague
- Lots of internal work on the annual Python Survey and Django Surveys, both of which are coming out soon
- Continued open-source work for the awesome-django and lithium repos
- Tended to my nascent LinkedIn and Fosstodon presences. I’m on Bluesky, too, but it feels somewhat dead. LinkedIn has the far greater reach, but Fosstodon is where most of my Django friends still reside.
3. Content/Thought Leadership
Another avenue of my work is learning and teaching, which meant a book update, some podcasts, some newsletters, and some blog posts.
- Published the 5th edition of Django for APIs in March, which was more-or-less a complete rewrite
- Released 12 episodes of the Django Chat podcast
- Wrote 26 editions of the Django News Newsletter
- Drafted 15 blog posts on my personal website (this one!)
4. Marketing/Product
I spent much of the first two months helping marketing with PyCharm videos and then a mixture from there on out.
- 5 mini videos for PyCharm AI landing page
- 6 mini videos for the PyCharm landing page
- As part of the big AI launch in April, a How AIA video and How Junie video
- Customer demo with a prominent corporate client
- Added Python guidelines in our repo for Junie, JetBrains’ agentic tool
There was also quite a bit of interface with the Product department, including a weekly meeting covering new and proposed features, bumping up specific YouTrack issues based on community feedback, and general product discussions around the Python ecosystem, especially focused on type checking. PyCharm has 2-3 engineers dedicated almost full-time to maintaining our excellent support, but with ever-new and powerful third-party packages coming to market, most notably ty from Astral, it is worth questioning whether we should maintain such robust support, how to interface with new tools, and so on.
The Rest of the Year
Looking ahead, I have three more trips planned to Chicago, San Francisco, and Cypress. Next month I’m co-hosting a PyCharm Livestream on uv with Michael Kennedy, which requires a surprising amount of coordination and technical setup. I have six shorter videos on Django planned that I aim to release by September and somewhere in there, I need to find time to finish the update to Django for Professionals.
Oh, and I also should probably pace myself a bit so I don’t burn out. Making a mental note of that as I write the words here.
For me, the ability to juggle multiple projects at the same time coupled with a high degree of autonomy, means I can be productive even when I’m blocked or stuck on a single project. This is definitely how I work best! I’m grateful to my JetBrains team, especially my manager, Helen Scott, for allowing me the space and trust to work on so many interesting things this year.