DjangoCon Africa 2025 recap

Here are the other recaps shared about DjangoCon Africa and UbuCon Africa that I’ve found:


Five members of Djangonaut Space meeting up at DjangoCon Africa 2025, pointing to the sky! Five members of Djangonaut Space meeting up at DjangoCon Africa 2025, pointing to the sky!

I’m sitting here at the airport in Addis Ababa enjoying a beer named, Habesha. It’s perfect for the moment since it is brewed to stand for gratitude and the celebration of togetherness. That’s exactly what I feel in my soul as I travel home from DjangoCon Africa 2025.

This conference is certainly the highlight of my year! I’m grateful to have the ability, in every sense of the word, to attend this conference.

I found the talks insightful, the attendees energetic and the organizers welcoming. It was every bit the DjangoCon I was familiar with, but also unique in its own way. There was the expected conference energy. Perhaps more-so on my part after spending a few days in my own head and dealing with a bit of culture shock. There were people wanting to talk about their ideas and find new ways to collaborate.

One fact that made it unique was that the average age of the attendees was young. There was a large contingent of students, but even beyond that there were still a lot of young people there. I found myself trying to provide more guidance to others than I have at DjangoCon US’s in the past.

Beyond the attendees, the conference organizers conducted the event differently. At the end of each break, people were asked to return to the venue. This helped keep the audience full for all the talks. What’s more is that there were so many more questions than what I was used to. Comments were also tolerated rather than eschewed. I think each approach has its own benefits, but I felt like the choices the organizers made for DjangoCon Africa certainly worked well for them.

Outside the talks, the people I met were fantastic. First and foremost, I finally got to meet my long time friend Sarah Abderemane in person. Her and I got involved in the Django community around the same time which has turned into a wonderful friendship. It’s still wild to me that we only just met. I also got to meet Djangonauts, Sal and Philip, as well as several new people from the Django community.

So let’s dive in.

Table of contents

Conference experience

The experience at the conference was an overwhelmingly positive one. The conference was held in a community center. It was large and spacious with a pair of projections for the audience to follow. We were served morning and afternoon break meals, complete with coffee or tea, along with a lunch each day. With the exception of the lunch with fish, I found the meals generous and tasty. The ginger tea that was served was pleasant since I wasn’t always up for coffee.

The organizers did a good job of getting each day started, introducing our talks and even incorporating some movement (I’m still not sure how I ended up dancing on stage) to get people ready for the day. The talks were well presented and the session managers kept things moving along according to the schedule.

I enjoyed hearing the questions from the audience members to see where folks had questions. However, perhaps my favorite part of the conference experience was seeing people voice support for powerful statements by applauding during a talk.

Meeting new people

I was grateful to have met several new people this week.

Meeting Anna Makarudze (one of the conference chairs) in person for the first time was excellent. I’m actually not sure I’ve met her before. I’ve seen her name around the community for such a long time, it was great to finally meet her!

I had a great dinner with Mustafa Pirbhai where we spoke about AI, community organizing, contrasted Tanzanian culture with US culture. This was such a fun conversation, plus the barbeque was excellent.

I met Noah Maina who runs the PyTanzania group and was one of the conference chairs. I met him the day before the conference where we struck up a wonderful conversation on the challenges of cultivating open-source developers in Tanzania. From what I understood, part of the challenge is convincing society to adopt greater digitalization which will increase the demand for software developers. As an aside, a common theme I heard throughout my time in Tanzania (conference and from strangers) was that programming isn’t seen as a way to make money and requires convincing your family that it’s a worthwhile investment.

I got to meet Monica Iyabo who ran the “Contributing to Django” workshop. She did a good job and understood what people needed to get started.

Joyce Dzifa Lokko gave a wonderful talk on CHAOS engineering principles. I hadn’t heard of the term before, but I quickly latched onto the topic. I was session manager for her talk and may or may have asked her several questions 😅 Afterwards, I let her know how much her talk resonated with me and that I would be incorporating it into my work. Then of course, she told me a few days later that I was telling her that was meaningful to her too. Short version, express gratitude folks, it puts good into the world!

Paul Mayero gave an insightful talk on remote team dynamics. What struck a chord for me was the realization that remote teams need to communicate publicly to make information accessible. Private messages and emails limit the scope of knowledge for everyone, limiting their effectiveness. As an aside, Paul has this gentle way of speaking that guides you through a topic that I was immediately jealous of.

Basilisa Kornel and Thecla James are conference organizers who confidently managed their parts of the program. I wanted to strike up deeper conversations with each of them to understand their journey and goals. I suppose there’s a downside of always looking busy 😁

Kevin Amos is a developer who had several great questions about accessibility throughout the conference. I enjoyed hearing his perspective when he was willing to share as it helped solidify the importance of accessibility interfaces throughout the software development stack.

Ngazetungue Muheue is another developer who I’ve seen around the web for quite some time, but never had the chance to meet. We had a handful of conversations about software and I’m proud to say we’re both contributors to ShotGeek!

Iris is a recent graduate from the local university in cyber security. We spoke about the challenges of finding a job and the culture of programming in Tanzania. Given that she was newer to open source and had learned a few frameworks, I asked her what Django could do to better position itself with newer devs. She said, Django could provide a way to run a project with a single file which would reduce the friction of getting started.

Theresa Seyram Agbenyegah AKA Stancy is a presenter who had such an impressive stage presence. There were several great presenters, but Teresa was exceptional. Unfortunately, she got stuck trying to play a hand game with me where I just could not figure out the rhythm 🫠

Abdillah Bakari Ali is someone I met at the sprints on Thursday morning. He came in and agreed to get started contributing to the Django Debug Toolbar. He started on a supposedly easy bug, but during the process of getting his machine set up, he identified an improvement to the docs. He was able to get a PR created to improve the contribution guide and it was merged the following day 👏🥳 Since then, I’ve seen three more PRs from him which is amazing!

Ali Suleiman is a software engineer I met who was working in the field of finance in Tanzania. We had a fantastic conversation about the difficulties in implementing a financial system to provide rural villages access to non-predatory credit. It was one of the more technical discussions I had and incredibly insightful.

Chris Achinga is a developer who I have seen around on the internet for a while in the Python and Django community. I think I may have been as excited to meet him as he was to meet me. When we were talking about what kind of music we liked to program to, he shared with me a playlist for Afro Beats House music. I’m excited to put it to use this week at work!

Edmond Makolle is a developer from Cameroon who not only gave his first conference talk outside of Cameroon, but also flew for the first time AND was the first presentation he gave in English. Edmond is one of those folks who has a great deal of energy injected enthusiasm to all around him.

Obviously this isn’t everyone I met, but I’m unfortunately struggling to remember exact details of conversations.

Meeting people in person for the first time

Then there’s the group of people who I’ve met on the internet, but not in person.

I knew Doreen Nangira from DjangoCon US, but I hadn’t met her in person until now. She’s an amazing human who is funny, supportive and picks up the slack. She almost had to fill in for me as session manager when I spent too long outside at lunch!

Salim Nuru was a Djangonaut from Session 3 who may be the friendliest human I’ve met. His energy levels seem to always be nine or higher. He gifted me some Ethiopian coffee beans that I’m excited about, origami made out of a 5000 Shilling note, and tried his best to teach me some Amharic. He also worked me over in chess pretty spectacularly while we flew to Addis Ababa. I think out of everyone I met, Sal was the most surprising to me in the best of ways. I hadn’t seen that side of him in Djangonaut Space, nor in DjangoCon US. I’m grateful to have met him and look forward to further developing that relationship.

Philip Narteh was a Djangonaut from Session 4 who I was able to meet in person. He’s a warm human I enjoyed speaking with. He presented on his journey with Djangonaut Space and his realization of how important accessibility in software is. I thought his talk did a fantastic job of walking people through his evolution as a developer and provided a window into what it’s like being a part of Djangonaut Space. I was thrilled that he joined me on stage for a last minute recruitment lightning talk and gave an impromptu pitch on why people should apply, so thank you Philip!

Hope Adoli is a developer/designer who created the Djangonaut Space logo. We didn’t have as many opportunities to chat as I would have liked, but he did refer Sarah and I to a wonderful safari tour company (Laitoyla Tours)!

Julius Boakye is a Django developer I know from when I was helping organize DjangoCon US. We weren’t able to meet up in Durham in the past, but we finally got to meet each other in Arusha. It was great getting to know him a bit better and to interact with him in person.

More gratitude

I had important and valuable conversations with friends who I got to meet up with at the conference. Lidya Tilahun and I shared community organizing tips and tricks, helping support one another with our goals. Monica Oyugi introduced me to ugali, which I’m a bit indifferent to (sorry!). Kudzayi Bamhare recruited me to contribute to ShotGeek while we discussed various ways to lead open source communities. Thibaud Colas, as usual, helped me realize where my time may be better spent and to learn where my limits are. Sarah and I attempted to solve the world’s problem over a bottle of Marot wine, but settled for being actually productive during a coffee-shop sprint.

These short statements are in no way reflective of the depth and importance of the conversations I had with them. In their own way they all helped me reflect on what I’m doing, where I want to go and where I fit into things. So thank you, all of you.

Keynoting DjangoCon Africa

This was the second talk I’ve ever given. In my first talk, I challenged myself to keep pace with scheduled messages on Slack to provide links and extra context to my talk. This time, I decided to start my talk with a short introduction in Swahili. I’m grateful to Velda Kiara who helped me get beyond my threshold of offensively bad and all the way to “not good, but a valiant attempt”. I knew I didn’t mess it up horribly when I got one of those little mid-talk applauses 🥰

The premise of the talk was to recruit contributors to Django. I spoke a bit about the three community teams I’m on that are focused on contributors (the Steering Council, Django Commons and Djangonaut Space).

From there provided a brief overview of the various community contribution opportunities. I wanted this list to be both overwhelming and inspirational. Looking at the new Djangonaut Space contributing opportunities page, I definitely feel overwhelmed 😅

Next I talked about how to pick where to invest your time in open-source. This covered opportunity availability as well as identifying alignment between your goals and an opportunity’s outcomes.

Lastly, I spoke about why people should contribute to Django. Honestly, I was a bit worried about the end of the talk. I teared up a few times practicing leading up to the event and then again during my morning practice session. While I was able to avoid it during the talk, I did stumble on the delivery a tad.

Overall, I’m extremely proud of this talk. I received positive feedback and heard it mentioned in conversations over the last two days of the conference. I’ve published the slides which includes the transcript from the talk at: https://github.com/tim-schilling/talk-dcafrica-2025

What I learned

My goal in attending this conference was to find new contributors for the Django community. I feel like there’s a gap between the DjangoCon Africa community and the code-contributing community of Django.

My takeaway from pursuing this goal was that the DjangoCon Africa community has plenty of enthusiasm, drive and passion. What it lacks is sponsorship and availability. So many of the community are simply trying to find a job to make programming a career. It’s impossible to contribute code if you don’t have a stable income.

Then there are the infrastructure and logistical challenges. It’s hard to become a leader in a remote organization that relies on synchronous meetings when internet access and electricity can drop out. It’s not often, but it happens enough that if the stakes are high enough, people have to arrange backup plans.

While I didn’t hear this from anyone explicitly, I have to imagine it’s difficult for African developers to meet up because travelling between nations requires visas and customs, whereas the EU allows for people to travel freely between nations once you’re inside the EU. While this may be a minor friction, it’s still friction that others may not deal with.

Knowing this, I want to help support and welcome those folks in when they are ready.

For now this means I need to continue to develop the relationships I’ve started with the DjangoCon Africa community. The main thing I plan to change is where I participate on social media. It was clear to me that the DjangoCon Africa community isn’t generally on mastodon or bluesky. They are on X and LinkedIn, so that’s where I need to be too. Beyond that, I need to find ways to not be surprised by people like Salim. I suspect the path forward here is to reach out to people privately more often to ask how they are doing.

Visiting Arusha

The wall outside the Didas Villa reading I Heart Arusha. The wall outside the Didas Villa reading I Heart Arusha.

This was truly a new experience for me. It pushed me well outside my comfort zone. While I was uncomfortable at times, every person I interacted with was friendly, outgoing and helpful.

I flew into Mount Kilimanjaro airport at night. I eventually got through the immigration process, including paying for a second visa application, exchanged some money for Tanzanian Shillings, then found the taxi driver I arranged to pick me up. He helped me navigate the process to buy a local SIM card, then drove me to my hotel in Arusha.

One thing I’ve realized is that I enjoy walking around my neighborhood where I live early in the morning when it’s dark. Not being able to see beyond 20 or so feet provides a sense of strangeness and unknown. I have no idea why I enjoy it, but I know that when I walk the same path during the day, it’s just boring.

That night driving along the highway to Arusha was similar to that. But the strangeness that evening was more uncomfortable than enjoyable. I couldn’t see beyond the groups of people near bar-like buildings. People were walking and driving motorcycles in a variety of directions. There was a lot going on and I was not familiar with any of it.

I had no cultural reference point, so my mind connected it to what this would be in America. From an American reference point, it would appear this area was well below the poverty line. Mix in alcohol with motorcycles flying around, my brain was telling me this was not a place I should be in. I understand that this wasn’t reality and that my brain was making up stories based on the information it had which wasn’t much.

Arriving into the city, I felt a bit more at ease. The street lights allowed me to see the city and gave me a sense of familiarity. My driver dropped me off at my hotel / bed & breakfast about 10pm local time. The host showed me around my room and kitchenette, explained the shower and let me be. I took a quick shower, but the hot water was a bit finicky (it took me three days to figure out the trick to constant hot water) so it was a cold one. I put on my sweats, used some bug spray as the bed didn’t have a mosquito net and tried to get some sleep.

That first leg of sleep wasn’t productive. I may have slept for a few hours. After being told I wasn’t needed at the Django Girls+ event and could go back to bed, I fell asleep until 1pm. At that point, I had missed breakfast and needed some food. While I had some cash, I decided I should make use of the ATM to confirm that I could actually do that rather than waiting until I needed more money to find that it didn’t.

Now I’m a bit embarrassed to admit this, but I had to work up the nerve to walk around the corner and down a block to an ATM to withdraw money. Looking back, I was able to see I was experiencing culture shock, but at the moment I couldn’t tell. Obviously, nothing bad happened. I walked to the ATM unharrassed, withdrew the max amount and walked back. The only people who interacted with me were motorcyclist taxis asking if I needed a ride.

With my first adventure successfully completed, I booked a ride to the natural history museum. From there I walked to a cafe. Admittedly, I did buy a tourist book from someone to end the conversation, but beyond that everything went perfectly. At the cafe, I had my first taste of Tanzanian cuisine. It was a nyegere dish, which involved peas, coconut and curry. It was absolutely fantastic.

My first meal in Tanzania, nyegere. A dish of peas, coconut milk and spices. My first meal in Tanzania, nyegere. A dish of peas, coconut milk and spices.

The next day I spent it walking around the Cultural Heritage Centre to check out the massive amount of art. It was so amazing, I definitely recommend it. I picked up my required Tanzanian magnet for home, had a coffee, went for some Indian food, then walked out and randomly ran into Daniele. He walked with me to the Arusha Declaration Monument, shared with me some tips for navigating the city, then we parted ways.

The outside of the Cultural Heritage Centre in Arusha, Tanzania. The outside of the Cultural Heritage Centre in Arusha, Tanzania.

From there I went to the conference venue to help set up and met up with several organizers. I met Anna, Sal and Noah. I realized how starved I was for human connection at this point. I had basically lived in my head for three days. This made the conference real. The conversations were familiar, but with entirely new people. I was definitely excited for the conference to begin at that point.

That evening for dinner, I decided to walk the 1.5km to a restaurant to meet up with some other attendees. The path would take me through the side streets that I hadn’t been down and while the sun had set, it was still light out. That little trip dispelled any concerns I had walking around the city from that point on. It was interesting though. Several small children were surprised to see me walking around their neighborhood. All of them stared, most smiled and shouted “hi! hi! hi!”. Some youngsters followed me for a bit, until they realized I was indeed boring. The meal that night was some excellent chicken barbeque from Andrew’s.

For the rest of the conference, I didn’t explore much of Arusha. My days would start between 6:30am and 7am. I’d eat breakfast at my hotel and take a taxi to the venue to arrive between 8 and 8:30am. The conference would go on until 6pm where people would arrange to get dinner. I typically got home a little before 9am. Until I gave my talk on Wednesday, my sleep was far from ideal. Most nights I typically got 4 hours of sleep in separate stints, though after my talk I started sleeping longer and more soundly.

On my last day in Arusha, I wanted to spend the rest of my Shillings, so I took a ride into a small market where they had souvenirs. I wanted to pick some gifts up for my niblings and both sets of parents. I was able to pick up two coasters made from ebony wood, two pieces of fabric with giraffes I plan on using as picnic blankets, two paintings of giraffes with Mt Kilimanjaro in the background and finally a set of earrings. With that, my trip was complete! Sal and Lidya picked me up from my hotel and we headed off to the airport together.

Sal, Lidya and me standing outside Kilimanjaro airport before leaving for Ethiopia. Sal, Lidya and me standing outside Kilimanjaro airport before leaving for Ethiopia.

Safari to Ngorongoro Crater

Sarah and me standing up in the jeep during the safari. Sarah and me standing up in the jeep during the safari.

Sarah and I knew we wanted to do a safari, but we weren’t quite sure of the details until we were in Arusha. It turned out that Hope Adoli’s AirBnB host ran a tour company and had availability in her schedule to take us out that Saturday. So with that, Sarah and I booked a reservation with Laitoyla Tours to Ngorongoro Crater, otherwise known as the cradle of humanity.

I'm making a goofy face for a selfie while Sarah takes a photo of nature. I’m making a goofy face for a selfie while Sarah takes a photo of nature.

I was particularly excited about this trip because this area has the highest concentration of mammals per square foot on the planet. And wow, did it not disappoint. I highly, highly recommend this trip and tour company to anyone in the future.

A photo of an elephant with a bird landing on its back. A photo of an elephant with a bird landing on its back.

A flock of grey crowned cranes. A flock of grey crowned cranes.

A herd of hippos, with one staring directly at the camera. A herd of hippos, with one staring directly at the camera.

A lion laying out in the sun. A lion laying out in the sun.

A zebra standing in the grass. A zebra standing in the grass.