C

Intermediate Software Developer, Full Stack

CO_580 G Adventures South Africa Pty Ltd
Full-time
On-site
Cape Base - Cape Town, South Africa South Africa

About Us

G Adventures is the world’s largest small-group adventure travel company and we’ve been making epic travel memories happen on all seven continents for over 30 years.

Our mission is simple: to change lives through travel. And not just our travelers’ either. Since day one, our tours have been built to establish meaningful relationships with local communities, directly benefiting the people and places we visit at every step of our tours.

With the demand for travel coming back strong, we are set up and excited for this next chapter in our company’s story — and we’d love for you to be a part of it.

Our DNA revolves around building, nurturing, and developing a diverse culture of people and a true sense of belonging, where everyone is encouraged to bring their authentic self to work each and every day. You’ll have the opportunity to grow your career, and yourself, alongside a passionate, talented, and welcoming community that works hard to spread goodness around the world.

If all that sounds like your kind of thing, well, we can’t wait for you to join us.

About the Role

The Intermediate Software Developer, Full Stack is responsible for designing, developing, testing, and maintaining scalable software solutions that meet business and user needs. This role involves collaborating with cross-functional teams, troubleshooting software issues, and ensuring code quality through code reviews and testing. The developer will stay up-to-date with industry trends, contribute to architectural discussions, and mentor junior team members. Additionally, the role supports regional training initiatives and continuously works to improve team practices and technical standards.

This is a hybrid role based out of South Africa, where a minimum number of days as set by the region, is required in the Cape Town office.

What You'll be Doing

Software Development & Technical Execution

  • Design, develop, and maintain reliable and scalable software applications and systems based on defined business and user requirements.

  • Write clean, efficient, well-documented, and maintainable code in accordance with established coding standards and best practices.

  • Analyze and troubleshoot software bugs and performance issues, providing timely resolutions to minimize disruption to operations.

  • Develop and execute comprehensive test plans, including unit, integration, and system testing, to ensure application stability and functionality.

  • Maintain accurate technical documentation for codebases, system architecture, and project-related processes to support long-term maintainability.

  • Participate in code reviews and provide constructive feedback to peers to uphold code quality and consistency across the team.

  • Contribute to architectural and design discussions by providing input on system structure, data flow, and scalability considerations.

  • Estimate development timelines for tasks and projects, and manage assigned work to meet deadlines while proactively communicating blockers or scope changes.

Team Collaboration & Knowledge Sharing

  • Collaborate with cross-functional teams (e.g., product managers, designers, QA) to align developed solutions with user and stakeholder needs.

  • Participate in team ceremonies such as sprint planning, stand-ups, and retrospectives, contributing ideas for continuous team improvement.

  • Collaborate with QA and DevOps teams to ensure efficient deployment processes and successful production releases.

  • Mentor junior developers by sharing technical knowledge, reviewing code, and modeling best development practices.

Learning & Continuous Improvement

  • Develop a strong working knowledge of existing internal systems and applications through hands-on learning and exploration.

  • Stay informed about industry trends, modern tools, and emerging technologies, applying relevant insights to improve team practices.

  • Actively participate in discussions that enhance technical standards, tools, and processes across the team or department.

Desired Skills & Experience

  • Minimum of 4 years of experience in software development with a strong focus on Python, experience with Go is a plus.

  • Proficiency with SQL, including the ability to write moderately complex queries when necessary.

  • Proven experience working with Web/REST/GraphQL APIs to ensure smooth integration and communication between systems.

  • Hands-on experience with data modeling, ensuring accuracy and efficiency in data management and system design.

  • Experience navigating the command line and managing version control systems, such as Git.

  • Familiarity with the application stack (e.g., nginx, uwsgi) and its implementation in real-world projects.

  • Solid understanding and practical experience with common development frameworks and technologies, including but not limited to [insert languages/tools relevant to the job].

  • Strong experience in crafting or working closely with scalable, maintainable code, adhering to best practices in software development.

  • Working knowledge of testing methodologies including unit, integration, and system testing to ensure high-quality code.

  • Understanding of web standards and staying current with emerging technologies and industry trends.

  • Excellent communication skills, both written and verbal, with the ability to write clear, concise documentation and communicate effectively with non-technical stakeholders.

  • Ability to work in a collaborative environment, providing and receiving constructive feedback in code reviews.

  • Strong problem-solving abilities, able to troubleshoot and resolve software defects and performance issues efficiently.

  • A strong attention to detail and commitment to writing clean, maintainable code.

What do we offer you?

  • Competitive salary commensurate with the role

  • Competitive benefits package

  • Birthday day off

  • Vacation time for you to recharge

  • Enhanced Parental Leave

  • Learning and growth opportunities

  • Employee Resource Groups

*Applicable based on location*

G Adventures is an equal opportunity employer committed to fostering a diverse and inclusive work environment. We consider all qualified applicants.