Database Engineer

Engineering · Full-time · Cape Town, South Africa

Job description

POSITION SUMMARY:

As a Database Engineer, you will be a key member of the Technology team, responsible for designing and developing logical and physical databases, as well as data architecture. You will ensure the integrity and performance of company databases and collaborate with other teams to diagnose and resolve issues, engineer high-quality solutions, and champion best practices to maintain optimal performance and scalability.

In addition to your primary responsibilities, the team is expanding its focus to include supporting Machine Learning (ML) and Artificial Intelligence (AI) initiatives. While this is not the core aspect of the role, it offers an exciting opportunity for you to gain exposure to cutting-edge ML and AI technologies and contribute to these innovative projects. This added function will provide you with the chance to broaden your skill set and engage with emerging technologies, positioning you at the forefront of technological advancements within the company.

YOU WILL BE WORKING WITH THESE TECHNOLOGIES:

  • AWS: RDS MySQL, RDS MSSQL, RDS PostgreSQL, RDS Aurora, EC2/ECS/Lambda/Route 53, DynamoDB

  • Scripting: PowerShell, Bash, Python

  • Monitoring: Zabbix, AWS CloudWatch, Cloudflare

  • Security: MySQL ACL, Windows AD, Database Encryption (e.g., AWS KMS)

  • Source Control: AWS CodePipeline, TeamCity, GitLab, Octopus, RedGate Source Control

  • Operating Systems: Windows Server, Linux Ubuntu

  • Collaboration: Atlassian Jira/Confluence

  • RDMS: MySQL, SingleStore, MSSQL, DynamoDB, MongoDB, Cassandra

The ideal candidate will have exposure to several of the following technologies. While proficiency in all areas is not mandatory, familiarity with multiple technologies listed below will be considered advantageous:

YOUR ROLE WILL INVOLVE:

  • Collaborating with application developers and data engineers to design and evolve the data model and select appropriate technologies.

  • Working with SRE & Cloud Engineering teams to improve stability, reliability, and observability.

  • Designing and implementing high-availability database features using various replication and disaster recovery methodologies.

  • Championing the design and development of database schemas, SQL queries, and stored procedures that adhere to best practices, ensuring high performance and scalability.

  • Conduct tests and produce results to ensure accurate compliance with requirements.

  • Administering and maintaining databases for both pre-production and production environments, ensuring they are tuned for optimal performance and minimal downtime.

  • Performing problem resolution and root cause analysis, along with recommending and implementing preventative techniques.

  • Providing time-critical support on production platforms through rotational on-call support.

  • Ensuring adherence to all relevant risk and compliance policies and procedures, including GDPR and HIPAA where applicable.

  • Authoring and maintaining documentation.

  • Researching and developing new database technologies.

  • Ensuring all traditional DBA operations such as backups, maintenance jobs, and disaster recovery plans are in place and successful.

  • Integrating database management tasks into CI/CD pipelines to automate schema changes and deployments.

MACHINE LEARNING & AI EXPERIENCE & SKILLS (Advantages):

  • AI/ML Services Expertise:
    • Experience with AWS AI/ML services, including SageMaker and Bedrock, to build, train, and deploy machine learning models at scale.
    • Proficiency in deploying and troubleshooting machine learning frameworks such as TensorFlow and PyTorch, ensuring optimal performance of cloud-based models.
  • Large Language Models (LLMs):
    • Skilled in working with Large Language Models (LLMs) and integrating cutting-edge AI technologies into cloud solutions, enhancing the capabilities of AI-driven projects.
  • Real-World ML Problem Solving:
    • Hands-on experience replicating customer use cases using ML frameworks to gain nuanced insights into real-world scenarios, improving troubleshooting and optimisation strategies in the dynamic landscape of ML and cloud computing.
  • Data Engineering for ML:
    • Expertise in optimising ETL/ELT processes and managing big data frameworks like Spark, enabling the seamless integration of large datasets into machine learning pipelines.
  • Automation and Scripting:
    • Advanced proficiency in Python and Unix/Linux Shell scripting to develop automated solutions that streamline machine learning workflows and improve efficiency.
  • Cloud-Native AI/ML Integration:
    • Skilled in integrating AI/ML solutions within AWS environments, utilising services like EC2, Lambda, and Docker to create scalable and reliable machine learning infrastructure.
  • Research and Innovation:
    • Continually researching and staying abreast of the latest advancements in AI and machine learning, applying innovative approaches to solve complex challenges.

WHAT WE ARE LOOKING FOR:

  • 5+ years of experience in operating highly transactional environments.

  • A database-agnostic view and willingness to work with and learn different database technologies, including both relational and NoSQL databases.

  • Strong experience with MySQL is essential, ideally with RDS.

  • Experience in MSSQL including Clustering and Always On.

  • Experience with AWS data services and tools, including EC2, RDS, DynamoDB, and CloudFormation.

  • Experience in database performance tuning, query optimisation, and execution plan analysis.

  • Familiarity with database encryption, GDPR, HIPAA, and other relevant data security and compliance frameworks.

  • Experience in development with scripting languages such as Python and Unix/Linux Shell.

  • Experience with Infrastructure as Code (IaC) tools like Terraform, CloudFormation, or Ansible.

  • Familiarity with Agile and Scrum methodologies and embracing their values and principles.

  • Familiarity with Version Control Systems such as Git.

  • Strong communication skills, both verbal and written.

  • Ability to work reliably and responsibly with internal and external colleagues to achieve departmental and organisational goals.

  • Sound critical judgement to make good decisions and be someone the team can respect, trust, and depend on.

  • Customer Focus: able to identify and effectively respond to the diverse needs of the development department’s stakeholders.

  • Exceptional problem-solving skills, logical thinking, and analytical abilities, with a high level of attention to detail.

  • Display foresight, with systematic and orderly planning.

  • Understanding the importance of systems change management.

  • Experience with database migration across environments or platforms is a plus.

  • Experience with containerisation and orchestration (e.g., Docker, Kubernetes) is a plus.

BENEFITS:

  • Hybrid Working

  • Relaxed Dress Code

  • Open Culture

  • Flexible Work Hours

  • Group Risk Cover

  • Employee Wellbeing Program

  • 20 Days Paid Leave

  • Ongoing Staff Appreciation Events

  • Access To Learning Platforms

  • Working With Experts Across The Globe

  • Home Internet Allowance

FINAL THOUGHTS:

  • We are an international SaaS based fintech company

  • We work with up to date technology, promote from within wherever possible, and encourage our team members to use initiative, think out the box and share their ideas.

  • We aim to transform how our customers - which includes the world's most prestigious financial services firms - drive engagement with their audiences.

  • Our aim is to give our customers the ability to target, knowledge share and nurture their community of prospects and clients to develop long standing relationships.

Get in touch to learn more.