ENVIRONMENT:

A Health Tech Solution Company based in Pretoria is currently looking for a Golang Developer for Developing and maintaining software products and solutions offered by the company.

DUTIES:

  • Lead the application lifecycle (planning, design, development, deployment, ongoing maintenance), creating user stories and estimates, collaborating with cross-functional teams.
  • Continuously research, evaluate, and integrate new technologies to optimize development efficiency and application performance.
  • Plan and design well-structured, reusable application architecture.
  • Introduce and implement best practices to ensure high-quality, maintainable systems.
  • Participate in project planning by providing accurate estimates, contributing to requirement documentation, and assisting in work breakdown structures for the team.
  • Lead the collection and documentation of user requirements, user story creation, estimation, and work plan development, ensuring clear communication of requirements.
  • Effectively prioritize, and manage dependencies to ensure timely completion, and switch contexts effectively when the need arises.
  • Collaborate effectively with cross-functional teams to solve problems, make recommendations, and discuss best practices.
  • Proactively identify and mitigate cross-functional and user facing risks, adapting as needed.
  • Track task and project progress within JIRA.
  • Lead and participate in software development adhering to project plans, deadlines, and coding standards.
  • Develop and maintain high-quality, maintainable systems using efficient and reusable code according to best practices.
  • Use version control effectively and according to best practices, as well as backing up other work according to company standards.
  • Prepare and maintain comprehensive testing environments with clear examples and instructions.
  • Conduct initial testing and assist in developing testing plans to ensure applications meet specifications.
  • Implement and maintain automated tests and component libraries and contribute to team best practices.
  • Analyse systems to identify root causes of issues across systems, develop workarounds, and implement permanent fixes.
  • Deliver thoroughly tested, performance benchmarked, and functionally-compliant work, ensuring readiness for deployment.
  • Deploy changes to the production environment following established procedures and supervise more junior team members.
  • Oversee, implement and maintain all DevOps processes, including CI/CD pipelines and Infrastructure as Code as applicable to the team.
  • Take ownership of maintaining up to date and accurate code and system level documentation .
  • Collaborate with members of other teams to ensure timely integration between systems.
  • Provide clear, timely, and insightful updates on project status, progress, risks, and potential problems to the line manager and stakeholders.
  • Prepare reports, manuals, and other documentation related to software status, operation, and maintenance.
  • Maintain accurate system and product change logs, release notes and notifications to other teams, according to company standards and team practices.
  • Offer expert insights and feedback on queries regarding relevant projects.
  • Collaborate effectively with team members and stakeholders, by being available on appropriate communication channels with timeous, well-articulated responses.
  • Take ownership of projects and products, driving successful completion.
  • Actively participate in peer code reviews, provide constructive feedback, discuss best practices, and contribute innovative ideas to projects.
  • Collaborate with the team, and interface with other teams, to solve problems and ensure successful project and product delivery.
  • Lead and mentor the development team, fostering a collaborative, innovative, and growth-oriented environment through coaching, code reviews, knowledge sharing, and promoting best practices.
  • Identify opportunities for team growth and encourage skill development.
  • Contribute to the recruitment process by providing technical expertise.
  • Lead the development of high-quality products that meet specifications, user requirements, best practices, deadlines, and regulatory compliance (e.g., FDA, CE, ISO).
  • Apply knowledge of the Quality Management System guidelines and its relevant processes to ensure quality and SOC2 compliance in medical device- and other software.
  • Ensure all testing adheres to defined specifications and contributes to continuous improvement of existing applications.
  • Lead efforts to safeguard information and data in accordance with company policies.
  • Keep all supporting documents up to date.
  • Assist the team lead in keeping processes relevant and up to date.
  • Design and implement new database structures and content, ensuring optimal performance and scalability.
  • Lead the maintenance of database integrity and efficiency through ongoing optimisation strategies.
  • Lead data restoration efforts when required, minimizing downtime and data loss.
  • Perform advanced and higher risk DevOps and Infrastructure as Code changes responsibly when the need arises.

REQUIREMENTS:

Minimum education (essential):

  • Bachelor’s degree in Computer Science or Engineering (or similar)
  • Minimum applicable experience (years): 5 years working experience
  • Required nature of experience: Software development

Skills and Knowledge (essential):

  • API’s
  • HTTP
  • Microservices
  • CORS
  • Authentication
  • Logging
  • RESTful
  • Databases
  • Analysing query performance
  • Writing queries
  • Designing dB schemas
  • Creating indexes
  • SQL
  • Development
  • Multiprocessing (threading/synchronization/locks)
  • Git
  • Programming
  • CI/CD
  • Docker
  • Golang
  • Queues
  • Debugging
  • Debug across multiple interconnected systems
  • Distributed tracing
  • Debug using application logs
  • Web browser console
  • Postman
  • Testing
  • Performance Testing
  • Mocking
  • Integration Testing
  • Unit testing
  • Cloud
  • Lambda
  • CloudFront
  • ECS
  • Backups
  • EC2
  • S3
  • AWS/ Azure
  • Networking
  • DNS
  • Networking – IPs, ports, subnets
  • Other
  • Experience with JavaScript / TypeScript
  • HTML

Skills and Knowledge (desirable):

  • Databases
  • NoSQL
  • Essential Competencies:
  • Examining Information
  • Developing Expertise
  • Making Decisions
  • Showing Composure
  • Embracing Change
  • Meeting Timescales
  • Upholding Standards
  • Taking Action
  • Important Competencies:
  • Providing Insights
  • Interpreting Data
  • Adopting Practical Approaches
  • Exploring Possibilities
  • Thinking Positively
  • Conveying Self-Confidence
  • Inviting Feedback
  • Impressing People
  • Convincing People
  • Challenging Ideas
  • Managing Tasks
  • Following Procedures

While we would really like to respond to every application, should you not be contacted for this position within 10 working days please consider your application unsuccessful.

COMMENTS:

When applying for jobs, ensure that you have the minimum job requirements. Only SA Citizens will be considered for this role. If you are not in the mentioned location of any of the jobs, please note your relocation plans in all applications for jobs and correspondence. Apply here [URL Removed] e-mail a Word copy of your CV to [Email Address Removed] and mention the reference number of the job.

Desired Skills:

  • Senior
  • Backend
  • Developer

Learn more/Apply for this position