Senior Software Engineer (Backend - Python/Django)
Senior backend engineer building and maintaining Python/Django server-side services and REST APIs for an agricultural management platform in Upington, South Africa. On-site role spanning database design, third-party integrations, testing, performance/security, and mentoring junior engineers.
- Compensation
- Not disclosed
- Location
- Upington, South Africa
- Work setup
- Not specified
- Seniority
- Senior
- Employment
- Not specified
- Experience
- Not specified
- Category
- Backend
- Posted
Skills
Must have
- Proven professional experience as a Backend Software Engineer with a strong portfolio of Python/Django projects
- In-depth knowledge of Python and the Django framework
- Experience with relational databases (e.g., PostgreSQL, MySQL) and ORMs
- Proficiency in designing and implementing RESTful APIs
- Understanding of version control systems, particularly Git
- Experience with testing frameworks (e.g., pytest, unittest)
- Understanding of software development principles and design patterns
- Excellent problem-solving and analytical skills
- Strong communication and teamwork abilities
- Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience
Nice to have
- Familiarity with frontend technologies (HTML, CSS, JavaScript)
Full description
About the Role
Our client, a leading innovator in agricultural technology based in Upington, Northern Cape, ZA , is seeking a highly skilled and experienced Senior Software Engineer specializing in Python and Django. This role is critical for developing and maintaining the backend systems that power our client's cutting-edge agricultural management platform. You will be responsible for designing, implementing, and deploying robust, scalable, and efficient server-side applications. The ideal candidate will possess a deep understanding of Python, the Django framework, database management, and API development. Join a company committed to revolutionizing agriculture through technology in the scenic region of Upington . This position requires on-site presence, offering the opportunity to work within a dedicated team in a unique and impactful industry. This is a chance to apply your backend expertise to solve real-world challenges in a vital sector.
Key Responsibilities
- Design, develop, and maintain robust and scalable backend services and APIs using Python and Django.
- Write clean, efficient, well-documented, and maintainable code.
- Manage database design, optimization, and maintenance (e.g., PostgreSQL, MySQL).
- Implement and integrate third-party services and APIs.
- Collaborate with frontend developers to integrate user-facing elements with server-side logic.
- Ensure the performance, security, and scalability of backend applications.
- Write unit and integration tests to ensure code quality and reliability.
- Participate in code reviews, providing constructive feedback to team members.
- Troubleshoot and debug complex issues in the production environment.
- Mentor junior engineers and contribute to technical decision-making.
- Stay current with emerging technologies and best practices in backend development.
Requirements
- Proven professional experience as a Backend Software Engineer, with a strong portfolio of Python/Django projects.
- In-depth knowledge of Python and the Django framework.
- Experience with relational databases (e.g., PostgreSQL, MySQL) and ORMs.
- Proficiency in designing and implementing RESTful APIs.
- Understanding of version control systems, particularly Git.
- Experience with testing frameworks (e.g., pytest, unittest).
- Familiarity with frontend technologies (HTML, CSS, JavaScript) is a plus.
- Understanding of software development principles and design patterns.
- Excellent problem-solving and analytical skills.
- Strong communication and teamwork abilities.
- Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience.