About the Role
As a Software Engineer at SunCulture, you will play a crucial role in designing, developing, and deploying scalable software solutions that drive the adoption of our innovative products. You will work closely with cross-functional teams to ensure that our technology meets the highest standards of reliability and performance, contributing directly to the empowerment of smallholder farmers across Africa.
Key Responsibilities
Software Development: Design, develop, and maintain high-quality software applications using modern frameworks and technologies. Provide technical guidance and mentorship to junior software engineers, promoting best practices in software development.
System Architecture and Performance Optimization: Collaborate with the architecture team to design scalable and maintainable software architectures. Optimize application performance, scalability, and reliability, identifying and addressing bottlenecks and issues.
Code Review, Testing, and Continuous Integration: Conduct code reviews to ensure adherence to coding standards and best practices. Develop and execute unit and integration tests. Implement and manage CI/CD pipelines using tools such as GitHub Actions, ensuring seamless integration and deployment of software.
Cloud Management and Containerization: Utilize cloud services (AWS, Azure, GCP) to develop and manage scalable and resilient applications. Implement and manage containerized applications using Docker and Kubernetes.
Cross-Functional Collaboration: Work closely with QA, DevOps, and product management teams to ensure the successful delivery of software projects. Actively contribute to and participate in agile squads, ensuring effective collaboration and delivery of squad goals.
Technical Documentation: Maintain comprehensive documentation of software design, implementation, and testing processes.
Innovation and Emerging Technologies: Stay current with industry trends and emerging technologies, evaluating their potential impact on the company's technology stack.
IoT and Firmware Development: Experience with IoT firmware development is a plus.
Tech Stack
JavaScript Frameworks: Node.js, TypeScript, React
Backend: Python Fast API, AWS Gateway and Lambda, Elastic Beanstalk
Databases: AWS RDS for MySQL and PostgreSQL, Redis
Messaging: Kafka
CI/CD: GitHub Actions, GitHub
Mobile: React Native for Android
Cloud Services: AWS, Azure, GCP
Containerization and Orchestration: Docker, Kubernetes
Does this sound like you?
Bachelor's degree in Computer Science, Software Engineering, or a related field.
Minimum of 2 years of progressive experience in software development.
Strong technical expertise in JavaScript frameworks (Node.js, TypeScript, React) and backend technologies (Python, AWS Lambda).
Experience with cloud technologies, particularly AWS, Azure, and GCP.
Proficiency in Agile methodologies and DevOps practices.
Experience with containerization and orchestration using Docker and Kubernetes.
Exceptional problem-solving skills and the ability to work effectively in a fast-paced, dynamic environment.
Excellent communication and collaboration skills, with a focus on teamwork and continuous improvement.
Experience with IoT firmware development is a plus.