Senior Back End Developer

Pretoria, Gauteng, South Africa

Job Description


Job Summary

Job Purpose

Developing and maintaining software products and solutions offered by the company.

Our technical stack comprises of Golang to build fast, fault tolerant and distributed systems (NATS, NATS Jetstream, CQRS), MySQL/PostgreSQL for data storage, Github actions for CI/CD, Docker (and compose) for containerization and Amazon Web Services (AWS) as hosting provider. We are split into teams, each with a specific product focus. Each team will include a Business Analyst, Back-end- and Front-End Engineers, Android and/or iOS Developers, and/or Web Developers, each who bring a unique and creative perspective to the team

Requirements

Minimum education (essential):

Bachelor's degree in Computer Science or Engineering (or similar)

Minimum Education (desirable)

MSc/PhD in computer science or other technical discipline.

Minimum Applicable Experience (years)

5+ years working experience

Skills and Knowledge

  • 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.
(desirable)
  • Experience in Golang.
  • Experience with continuous deployment technologies. (Jenkins).
  • Familiarity with (TDD) unit testing, performance, load, or end-to-end integration tests.
Essential Competencies
  • Examining Information
  • Developing Expertise
  • Making Decisions
  • Showing Composure
  • Embracing Change
  • Meeting Timescales
  • Upholding Standards
  • Taking Action
KEY PERFORMANCE AREAS, WEIGHTS & OBJECTIVES
  • 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
  • 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.
Curiska

Recruiter

Job Mail

Beware of fraud agents! do not pay money to get a job

MNCJobs.co.za will not be responsible for any payment made to a third-party. All Terms of Use are applicable.


Related Jobs

Job Detail

  • Job Id
    JD1286715
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    Pretoria, Gauteng, South Africa
  • Education
    Not mentioned