Djangonauts Space session 3

28 Nov 2024 . Django . Comments
#djangonauts #open source #programming

My Journey as a Djangonaut: From Anxious Beginner to Confident Contributor

Contributing to open source can feel like standing at the edge of a vast ocean, wondering how to take that first dive. For me, that ocean was Django, and the Djangonauts program became my lifeline: a safe, supportive environment where I could learn to swim alongside fellow developers who shared my mix of excitement and anxiety about open source contribution.

The Application Process

Getting into the Djangonauts program felt like winning a golden ticket. The program is incredibly popular, and for good reason—it offers something rare in the open source world: structured mentorship and a supportive community for newcomers.

My advice to anyone considering applying: persistence pays off. The program fills up quickly, but don’t be discouraged if you don’t get in on your first try. Keep applying for upcoming sessions. The application process itself helped me clarify my goals and understand what I wanted to achieve as a contributor.

Day-to-Day Life as a Djangonaut

I was fortunate to be part of Team Venus in Session 3, guided by our captain Keyana and navigator Marius, alongside my wonderful teammates Soyoung and Tainara. From day one, the structure of the program helped ease my initial anxiety about open source development.

The program begins with training that includes working through the famous “toast message” tutorial—a rite of passage that introduces you to Django’s codebase and contribution workflow. This gentle introduction was exactly what I needed to build confidence before tackling real issues.

One discovery that transformed my experience was the Django Discord group. I hadn’t known about this community before joining Djangonauts, but it quickly became an invaluable resource. It’s a place where Django developers of all levels gather to share knowledge, offer support, and celebrate each other’s contributions. The warmth and encouragement I found there reminded me that behind every pull request is a human being who wants to help make Django better.

Working on My First Ticket

My first real contribution involved adding parameters to a commonly used PostgreSQL feature. This was technically challenging territory for someone new to Django’s internals, but having Marius as our navigator made all the difference. His guidance helped me understand not just what to change, but why those changes mattered and how they fit into Django’s broader architecture.

The process taught me patience—something essential for open source contribution. From raising a PR to having it merged can take time, and that’s okay. The Django community values quality and thoroughness over speed, which actually took pressure off me as a newcomer.

The Later Tickets

As I grew more comfortable, I tackled a variety of issues:

  • Documentation updates: While these might seem simple, they taught me the importance of clarity and precision in technical writing. Every word matters when thousands of developers rely on these docs.

  • Bug in model manager configuration: This ticket dove deep into Django’s ORM, exposing me to complex inheritance patterns and configuration edge cases. Working through this issue was like solving a puzzle where each piece revealed more about Django’s internal design.

  • EXPLAIN SQL statements: This feature work helped me understand Django’s database layer more deeply and how performance analysis tools integrate with the framework.

Each ticket was an opportunity not just to contribute code, but to gain confidence, meet wonderful new friends, and grow as a developer.

What I Learned

Finding New Tickets to Work On

Another great thing I discovered during my time as a Djangonaut was how to effectively find tickets to work on. The Django project has excellent resources for this:

Technical Growth

Beyond individual tickets, I learned tremendous amounts about how Django works under the hood. Understanding the framework’s internals made me a better Django developer in my day-to-day work. I could debug issues more effectively, write more efficient code, and make better architectural decisions.

Perhaps most surprisingly, I discovered that the really important people in the Django community—including Django Fellows who maintain the project—are incredibly nice and approachable. They review PRs with kindness, offer constructive feedback, and genuinely want to help newcomers succeed.

Open Source Wisdom

My time as a Djangonaut taught me essential lessons about open source contribution:

  • Go in with an open mind: There are brilliant people in the community who want what’s best for the project. Sometimes your PR might not be accepted, or might need significant changes—that’s not failure, it’s learning.

  • Be patient: The review process can take time. Django is used by millions, so changes are carefully considered. Don’t worry if your PR sits for a while—maintainers are volunteers doing their best.

  • Don’t bite off more than you can chew: Only assign tickets to yourself that you can realistically work on. It’s better to complete one small contribution than to block three tickets you can’t finish. There’s no shame in unassigning yourself if life gets in the way.

Personal Growth

The technical skills I gained were valuable, but the personal growth was transformative. I met wonderful people from around the world, each bringing their unique perspective and experience to our team. These connections have lasted well beyond the program.

I’m now more confident as a programmer. The imposter syndrome that once paralyzed me when looking at Django’s codebase has faded. I’m less intimidated by the prospect of contributing to Django or other open source projects. Most importantly, I’m more motivated to help the next generation of developers take their own first steps into open source.

The Future

My Djangonauts journey doesn’t end with the program. It’s given me the confidence and skills to continue contributing to Django and other open source projects. I’m excited to mentor others, whether through future Djangonauts sessions or by helping newcomers in the Django Discord.

For anyone considering applying to Djangonauts or contributing to Django: take the leap. Yes, it can feel overwhelming at first. Yes, you might feel like you don’t know enough. But that’s exactly why programs like Djangonauts exist—to provide the support, structure, and community you need to transform from an anxious beginner into a confident contributor.

The Django community is waiting to welcome you. Your unique perspective and contributions matter. And who knows? Your journey might inspire someone else to take their first step into open source, continuing the cycle of growth and giving back that makes Django such a special project.


Want to become a Djangonaut? Check out the Djangonauts website for information about upcoming sessions. For those ready to start contributing today, the Django contributing guide and submission checklist are excellent starting points.


Me

Anthony is an Australian software engineer and mathematician. As a UTS MBT graduate, Anthony is the technology co-founder of a property and cycling-tech startup and enjoys teaching and learning coding with the Australian startup scene.