Director Of Engineering

Engineering · Full-time · Piedmont, Italy

Job description

Your role at Oze will be to drive a high performance Engineering team, so that together we can build a world class product for small business owners across the continent. We are looking for someone who is eager to take ownership on game changing initiatives while elevating the team around them.

About Oze:

Oze means business, and the growth of it. We believe small businesses are the future of Africa. That’s why we’re on a mission to supercharge African SMEs with simple tools, smooth payments, affordable capital and digital shops. We’re building 100 million profitable businesses across Africa and we invite you to join us! We are looking for people who are passionate about leveraging technology & designing for impact.

Oze’s Core Values:

  1. Small Businesses

  2. Collaboration

  3. Ownership

  4. Quality

  5. Trust

  6. Growth

Job responsibilities - Software development:

  1. Designing, developing, developer-testing, and maintaining back-end RESTful APIs using Java, and Spring Boot and front ends using React, JavaScript, HTML5 and CSS3.

  2. Adhere to our coding standards, best practices, and guidelines to ensure code quality and maintainability.

  3. Collaborate with product managers, and other stakeholders to understand requirements, and contribute to architectural discussions and design decisions.

  4. Champion Test-Driven Development (TDD) principles, writing unit tests and integration tests to ensure software robustness, reliability, and maintainability.

  5. Provide technical leadership and mentorship to less experienced developers, fostering a culture of continuous learning and growth within the team.

  6. Help troubleshoot and resolve issues with production systems.

Job responsibilities - Team leadership and non-development activities:

  1. Assist with maintaining and enhancing our AWS estate including:
    1. EC2 Instances.
    2. The Linux OS within EC2 instances: typical management of Linux server OS including management/configuration of systemd (services, log rotation, etc.), disk space, CloudWatch agent, regular updating and patching, etc.
    3. Databases (relational and nosql).
    4. Kubernetes cluster (validating and applying manifests and general cluster maintenance).
    5. Cloud networking (VPCs, subnets, security groups, etc.).
    6. ECR repositories.
    7. IAM, access policies and permissions.
    8. Automated backup scheme.
    9. CloudWatch log groups, metric filters, dashboards and alerts.
    10. Ensuring cost efficiency and robust cost control.
  2. Lead incident management when outages or other issues with our infrastructure occur.
  3. Manage our “Change Request Process” and in some cases implement the requested changes.
  4. Manage our end-to-end SDLC including:
    1. Ensuring the team follows the end-to-end SDLC as intended.
    2. Continue implementation of refinements and improvements (already identified) to the SDLC.
  5. Oversee our Knowledge Base (in Confluence) and ensure the team creates and updates appropriate technical and process documentation (or create it yourself where appropriate).
  6. Perform DevOps tasks such as:
    1. Managing our GitHub repositories.
    2. Managing GitHub actions and workflows.
    3. Ensuring our branching strategy is followed by the team.
    4. Managing our Jira instance.
  7. Lead and project manage non-trivial initiatives such as:
    1. Addressing tech debt.
    2. Big technical (development and other) epics.
    3. General process changes and fine-tuning.
  8. Own and lead our “Continual Improvement” process: help drive efficiency and productivity by helping track appropriate metrics, identifying areas for improvement and helping implement them.
  9. Validate and verify non-trivial technical designs or big architectural changes that the team proposes: ensure that the cost/benefit for these is appropriate and that they are pragmatic given constraints and desired timescales.
  10. General team HR management including:
    1. Leading the recruitment process (for technical personnel).

    2. Frequent 1-to-1s with your team.

    3. Ensuring your team remains happy, engaged, and motivated.

    4. Performance Management: Conduct performance reviews, set objectives, and manage professional development for team members.


Org chart


Teams

This job is not in any teams