D

Lead Software Engineer

Dots Africa
Full-time
On-site
Midrand, Gauteng, South Africa

About the Company:

Dots Africa is one of South Africa's leading background screening firms, dedicated to ensuring that businesses hire with confidence. With cutting-edge technology and rigorous processes, we offer our clients unparalleled insights into potential hires. Our mission is to foster trust, security, and transparency in professional relationships, ensuring a safer business environment for all.


Who You'll Be Joining?:

As a Lead Software Engineer at Dots Africa, you'll be a pivotal part of our growing tech team. Comprising a dynamic mix of developers, data scientists, and IT professionals, our team is not only tech-savvy but also passionate about our mission. Our work culture thrives on innovation, collaboration, and mutual respect. We challenge each other to push boundaries while providing a supportive environment where you can thrive and bring your best self to work.


What Do We Offer?:

  • Competitive Compensation: Market-leading salary, commensurate with experience.
  • Benefits Package: Comprehensive health coverage, generous paid time off, and a wellness program to help you strike the right work-life balance.
  • Growth Opportunities: Commitment to professional development, regular performance reviews, and opportunities to grow within the company.
  • Dynamic Work Environment: State-of-the-art workspace, regular team-building activities, and an atmosphere that promotes creativity and innovation.


About You (Candidate):

We are looking for someone with a keen eye for detail, a passion for technology, and a commitment to maintaining the highest standards of data integrity and security. You should have a proactive mindset, always looking for ways to improve and optimize our systems, while having a deep respect for the sensitivity and confidentiality of the information we handle.


Skills that Will Give You A Boost:

Technical Skills:

    • Proven experience as a Full-Stack Developer or similar role, with at least 6 years of experience in Java Spring Boot and Angular development.
    • Strong proficiency in backend development using Java Spring Boot, including Spring MVC, Spring Security, and Spring Data.
    • Extensive experience in frontend development using Angular, HTML5, CSS3, and JavaScript/TypeScript.
    • Solid understanding of relational databases such as MySQL or Postgres, including database design, optimization, and query optimization.
    • Experience with cloud platforms, preferably Microsoft Azure, including deploying and managing applications in Azure environments.
    • Familiarity with DevOps practices, CI/CD pipelines, containerization (Docker), and orchestration (Kubernetes).
    • Excellent leadership and communication skills, with the ability to collaborate effectively with cross-functional teams.
    • Strong problem-solving skills and attention to detail, with a focus on delivering high-quality software solutions.
    • Ability to thrive in a fast-paced environment and adapt to changing priorities and requirements.
    • Knowledge of programming languages and operating systems, current equipment and technologies, enterprise backup and recovery procedures, systems performance-monitoring tools, active directories, virtualisation, HTTP traffic, content delivery, and caching
    • Familiarity in industrial tools & software will be advantageous (Kuberenetes, Azure DevOps, Microsoft Office, Postman, SoapUI etc.)
    • Strong analytical skills and problem solving abilities
    • Experience with Apache Kafka, including building event-driven architectures and real-time data processing solutions.
    • Strong understanding of Kafka architecture, topics, partitions, producers, consumers, and brokers.
    • Experience with Kafka ecosystem tools such as Kafka Connect, Kafka Streams, and Schema Registry.
    • Proficiency in Kafka administration, including cluster deployment, monitoring, and tuning.
    • Knowledge of event-driven design patterns and messaging protocols.

Soft Skills:

    • Strong communication abilities – ability to convey complex ideas in simple terms.
    • Problem-solving aptitude – always looking for efficient solutions.
    • Team player attitude – thriving in collaborative environments.

What Are We Looking For?:

  • Core Responsibilities:
    • Lead the development team in designing, developing, and implementing high-quality software solutions.
    • Architect scalable and maintainable full-stack applications using Java Spring Boot for backend and Angular for frontend.
    • Design and document system architecture, component diagrams, and API specifications to facilitate clear communication and understanding among team members.
    • Collaborate with cross-functional teams to define project requirements, scope, and timelines.
    • Provide technical guidance and mentorship to junior developers, fostering a culture of learning and innovation.
    • Drive the adoption of Kafka for building event-driven architectures and real-time data processing solutions, including message queueing, streaming data processing, and integration with other systems.
    • Drive best practices in software development, including code reviews, testing strategies, and deployment processes.
    • Continuously evaluate and adopt new technologies to improve efficiency and stay ahead of industry trends.
    • Manage and prioritize tasks, ensuring timely delivery of projects while maintaining high standards of quality.
    • Troubleshoot and resolve technical issues, ensuring smooth operation of applications in production environments.
    • Act as a technical liaison with stakeholders, while working closely with Product Analysts to translate business requirements into technical solutions.
    • Contribute to the overall technical strategy and roadmap of the organization.
    • Assist the help desk and other teams with troubleshooting to identify root cause, and provide technical support when needed
    • Facilitate and perform routine and scheduled audits of all systems, including backups
    • Monitor system performance and activity, and conduct regular maintenance tasks.
  • Qualifications:
    • A Bachelor's/Master's degree in Engineering, Computer Science, Information Technology, or a related field.
    • Certification in Java Spring or Angular development will be advantageous
    • Experience with microservices architecture, RESTful APIs, and GraphQL.
    • Knowledge of NoSQL databases such as MongoDB or Cassandra.
    • Familiarity with frontend frameworks/libraries such as React or Vue.js.
    • Experience with Agile/Scrum methodologies and tools such as Azure DevOps or Jira.
    • Additional related certifications will be advantageous