Senior Back End Developer (Golang) (PTA)
IT – Software Development
Pretoria/Centurion – Gauteng
ENVIRONMENT:
A cutting-edge HealthTech company in Pretoria seeks the coding expertise of a Senior Back End Developer to join help develop and maintain software products and solutions. The successful candidate must possess a Bachelor’s Degree in Computer Science with 5yrs+ relevant working experience including being able to design and build data stores with complex relationships (relational or NoSQL) and distributed systems, back-end APIs, or Microservices. Your tech stack should also include Golang, Jenkins, TDD and Object-Oriented design.
DUTIES:
Analysis and Planning –
- Multitask on a range of products and tasks simultaneously, defining priorities and ensuring efficiency.
- Define and communicate problem, goal and acceptance criteria.
- Communicate and collaborate with development, business analyst and design teams to solve problems, make
- recommendations and discuss best programming practices.
- Conduct research on possible solutions and techniques.
- Prepare a work breakdown structure.
- Determine and account for dependencies among deliverables, products and systems.
- Accurately estimate duration of deliverables
- Document analysis and planning process.
Programming –
- Follow project plan to develop software.
- Analyse systems for root cause, impact, workarounds and permanent fixes.
- Communicate effectively and efficiently with line manager on progress, priorities and workload
- Work with stakeholders to achieve appropriate solutions.
- Meet development timelines in projects and deliverables
- Identify and mitigate risks, making appropriate mid-course corrections as required
- Adhere to agreed upon standards for code.
- Generate and maintain effective and efficient high quality, reusable code.
- Use effective and efficient components & techniques to implement solutions.
- Ensure all work is versioned and backed up according to company standards.
- Meet set deliverable deadlines.
Testing and implementation –
- Ensure that all work is tested, benchmarked and fulfills functional requirements submitting for approval, review or
- deployment.
- Prepare test environment, examples and instructions.
- Participate enthusiastically in peer code reviews.
- Deploy changes to live environment.
- Maintain system and product change logs and release notes according to company standards.
- Reporting and Communication 10%
- Keep project documentation up to date and standard.
- Provide timeous, efficient and effective feedback on project status.
- Proactively keep stakeholders updated on progress, risks and problems.
- Assist in the collection and documentation of user’s requirements, development of user stories, estimates and
- work plans.
- Prepare reports, manuals and other documentation on the status, operation and maintenance of software.
- Provide insight and feedback on queries regarding relevant projects.
Database Administration –
- Perform maintenance to ensure data integrity and efficiency.
- Deploy new structure and content.
- Restore data when required.
Compliance –
- Comply to ISO, CE, FDA (and other) standards and requirements as is applicable to assigned products.
- Safeguard confidential information.
- Maintain backups and backup systems.
REQUIREMENTS:
- Bachelor’s Degree in Computer Science or Engineering (or similar).
- MSc/PhD in computer science or other technical discipline (desirable).
- 5+ Years relevant Software Engineering work experience.
- Design and build data stores with complex relationships (relational or NoSQL).
- Built/Design distributed systems, back-end APIs, or Microservices.
- CS fundamentals in Object-Oriented design, data structures, algorithm design and complexity analysis.
- Experience in Golang.
- Experience with continuous deployment technologies (Jenkins).
- Familiarity with (TDD) unit testing, performance, load, or end-to-end integration tests.