Job Description
Johannesburg – Gauteng – South Africa
- Design, develop, and maintain the core Ruby on Rails API and application logic.
- Design and implement GraphQL APIs to efficiently serve internal and external front-end clients and services.
- Manage the full application lifecycle, including deployment and maintenance on cloud infrastructure such as AWS and Heroku for APIs and background workers.
- Maintain and improve data storage strategies, researching sharding and other concepts, as well as different database/storage types (e.g., PostgreSQL, MongoDB, Snowflake).
- Write maintainable, production-ready code while adhering to software development best practices, including thorough testing and security.
- Conduct deep-dive R&D and architect scalable solutions to complex data and business logic problems.
- Support the continuous improvement of development practices and the technology stack.
- Collaborate with front-end developers to ensure smooth API integration and optimal performance.
- Say your say! They drive a culture of knowledge sharing in workshops/etc. and are always open to questions and feedback on topics like implementation details and product direction.
- Preferably a degree in Computer Science, Mathematics, Engineering, or Information Systems.
- They require that you have a passion for working in/learning the below, and proficiency is beneficial.
- Relevant Experience: 5+ years of professional experience in back-end development.
- Strong proficiency in Ruby on Rails for API and application development.
- Expertise with relational databases (e.g., PostgreSQL) and writing complex SQL.
- Experience designing and building GraphQL APIs.
- Familiarity with cloud infrastructure for deployment and maintenance (They run predominantly on AWS and Heroku).
- Experience with Git/GitHub for source control and CI/CD.
- Experience with Agile development methodologies.
- Experience with distributed data processing via ETL/similar processes.
- Familiarity with other databases/storage types (e.g., MongoDB, Snowflake).
- Experience using Docker for local development.
- Contributions to open-source projects or participation in relevant back-end communities.
- Strong problem-solving and debugging skills
- Excellent teamwork, collaboration, written, and verbal communication skills.
- Ability to handle multiple projects and prioritize tasks effectively.
Explore More Opportunities
Get Similar Job Alerts
Job Seeker Tip
Dress professionally for interviews, even if the company has a casual dress code.