Manabie Vietnam

Copac Square, 12 Ton Dan, TP Hồ Chí Minh

Company Size : 25-99

View more

Job Summary

25-99

Product

Việt Nam

Senior Software Engineer-DevOps Partner

Manabie Vietnam

Quận 4, TP Hồ Chí Minh

  • English
  • Experienced (Non-Manager)
  • Full Time
  • Negotiable
  • Posted:15/05/2022
  • 1

Job description

Overview of job

Our development team is expanding more than ever before, therefore, DevOps Partner main responsibility is to enable the whole team to experience the full DevOps cycle (not just deploy something and operate for the team).
Giving the engineers responsibility and accountability to plan, code, test, deploy, and operate their product fast and reliable is our ultimate goal.

We’re a startup, that means nothing pretty here, you will be required to adapt in many situations and be familiar with a lot of open source components.

Our team split into multiple squads, each squad responsible for some components of the platform but we share the same responsibilities and help each other to fulfil bellow objectives:

Guide the whole team toward DevOps culture

As a Senior Member of the team, you are expected to keep yourself up to date with the best practices in the field, transfer it to our team members via internal training and maybe some public events.

The topics can be about:

  • Observability
  • Reliability
  • Testability
  • Scalability
  • Securability

Then apply to our daily operations, our platform architecture, give the team the direction to improve their development cycle.

Improve our team performance

We have a mixed architecture with a big monolith component together with many micro-service and micro-frontend. We have thousands of lines of bash script to spin up local minikube clusters for our developers (both backend or client side developers) to code and test their product on local, then use the same bash script to deploy to staging, uat, production on GKE using Github Action.

A lot of rooms for improvement here, such as:

  • Replace our bash script with Google Skaffold to bring better experience during local development, deployment
  • Optimise the build time for:
    • Golang, Node backend services
    • React web apps (micro front-end)
    • Flutter mobile apps
  • Analysing Pull Request lifecycle
  • Automatic Quarantine Flaky Test
  • Canary Deployment with Argo Rollout
  • And so much more…

We have A LOT OF E2E test cases. To organise the test, you need to understand the business domain, run them in a specific context and narrow down the scope to pinpoint exactly what's wrong.

Oh, did I mention that we have terrible memory leaks during unit-test, so we need to split the unit test into dozens of parallel runs as a work around?

Improve our platform performance

Because of our startup architecture :) We have several GKE clusters with a few hundred pods on each cluster, half of them are open source components, each of them require different deployment and scaling strategies, we need your help on this, the number of components is increasing dramatically. Along the way you will run out of mem because of our Java based components, so be ready for that.

Of Course we have Prometheus, Grafana, Alert Managers, you of course need to operate them, make them reliable and scale. You will need to implement and improve the current tool set to automatically add a telemetry instrument to our internal service or write a custom exporter for the open sources that still don’t have one.

Btw, do you know any stress test framework that can run with gRPC? We want to compare how good our custom ad-hoc stress test tool is with that.

  • Probation: 2 months (100% full-time salary)
  • 13th-month & performance bonus
  • Full social insurance and private healthcare insurance
  • Role rotation opportunity
  • 14 days paid leave annually
  • An opportunity to grow in a fast developing and interesting industry (education technology) for a strongly invested project
  • Working in a young, dynamic, transparent and professional environment with bright co-workers
  • Tech Culture:
    - Teamwork: “Your problem is my problem, my problem is your problem.
    - We believe in Test Driven Development, no test no merge culture
    - Output with values, not just code.

Job Requirement

  • Experienced in day to day development tasks - at least 2 years working as back-end or front-end or mobile engineer before.
  • Experienced with team performance monitoring framework (Four Keys)
  • Experienced with Infrastructure as code (Terraform or Pulumi) and of course, excellent in bash
  • Experienced with cloud computing and container ecosystem (require production level of experience).

Languages

  • English

    Speaking: Intermediate - Reading: Intermediate - Writing: Intermediate

Technical Skill

  • DevOps
  • Terraform
  • Pulumi
  • Bash
  • Cloud Computing

BUSINESS PROFILE

Manabie catalyses positive change for learners, society and nature.

We are impeccable with our words, actions, mindsets, attitudes & love to deliver, work and live our manabie way: “Our mission is to prepare us for tomorrow’s world by catalysing individuals to create positive changes for themselves, our society, and nature. We are determined to help our learners discover and cultivate their inner greatness and grow into people who are curious, courageous, compassionate and competent.”

We, manabians, take our user-focused approach to everything we do. It is DNA to us.

What’s your inner greatness? Join Manabie to make positive changes to our world.

MORE JOBS FROM THIS EMPLOYER