Time since we first saw it
Day 1
Early. Similar jobs usually come down between day 6 and day 47.
From 1,409 similar postings that came down. Coming down is not always a hire.
Ho Chi Minh City, Ho Chi Minh City, Vietnam
Actively hiring, first seen by us 1 day agoEmployment type in the employer’s posting: Full-timeFrom the employer’s posting
Model assigned business domains in dbt Core, from sources through staging and intermediate to tested marts
Prove value parity between each dbt mart and the legacy stored procedure it replaces
Own and evolve the dbt layer standards and the scripts that enforce them
Declare and test primary keys, writing tests that fail when models break
Repoint consumers from legacy procedure outputs to dbt models in order and record each cutover
Model the business domains you are assigned in dbt Core from their source tables through layered staging and intermediate models to tested marts
Prove value parity between each dbt mart and the legacy stored procedure it replaces
Own and evolve the dbt layer standards, what belongs in each layer, where collation is normalised, one path in per source and the scripts that enforce them
Declare and test primary keys, and write tests that fail when the model breaks, not checks that pass no matter what the data does
Repoint consumers from legacy procedure outputs to dbt models in the right order (readers before procedures), and record each cutover so the sequence is auditable
Actively hiringFirst seen by us 1 day ago, still listed, and not a repost of an earlier posting.
These dates show when we found the posting. Check the employer’s website to confirm it is still accepting applications.
Day 1
Early. Similar jobs usually come down between day 6 and day 47.
From 1,409 similar postings that came down. Coming down is not always a hire.
7 open jobs
Open jobs by the week we first saw them, last 12 weeks.
Add your resume and we’ll mark which of these tools you already use, and point out anything in the posting that could rule you out.
- Dimensional modelling judgement: you can state the grain of a model, choose its keys, and place its logic in the right layer. - A git-based workflow: pull requests, CI checks, review discipline; plus Python for the tooling around the models. - Working fluency with AI-assisted engineering tooling. You set the task, review the output, and own what lands in production.
As a member of the Data Engineering team, you will own the modelling for the domains assigned to you, and the programme's cross-cutting craft: the dbt layer standards and the tooling that enforces them. This is a hands-on modelling role for someone who wants their name on the rules, not just on the tickets. You will decide what "correct" looks like for a model, prove it with numbers, and make the standard checkable by script rather than by memory. You will work in an AI-assisted engineering workflow, where agentic tooling accelerates the work but the modelling decisions: grain, layer, parity. You will work as one half of a deliberate pairing: the Data Engineering team on the technical side, Product Analysts embedded in the product pods, one per business domain on the business side. Product Analysts own what the domain means, the certified metrics and their definitions, and whether the result is right in business terms. Analytics Engineering owns the technical spectrum: modelling, layers, grain, keys, tests, parity, and the standards and tooling the models are built to. Both halves write SQL and dbt; they bring the domain, you carry the technical bar, and the two halves answer for the same number. What You Will Be Doing
- 3+ years in analytics engineering or data engineering, with production ownership of transformation models. - Expert SQL: window functions, CTEs, and multi-entity joins at warehouse scale; strong in the SQL Server / T-SQL dialect today, and fluent enough in PostgreSQL to move with the platform. - Hands-on dbt. You have built and maintained a dbt project (models, layers, refs, tests, documentation), not only run someone else's.
- A warehouse platform migration you helped carry: engine, dialect, or both. - Experience migrating stored procedures or warehouse SQL into a transformation framework such as dbt. - Airflow (or similar) orchestration experience.
The Position OPSWAT's data platform turns CRM and business-system data into governed, documented, tested tables that business teams can read without asking what a column means. It is built on dbt Core, layered source → staging → intermediate → mart, and it is migrating on two fronts: a large estate of legacy stored procedures into that model, one domain at a time, with value parity proven before anything is cut over and the warehouse platform itself, from Microsoft Fabric Warehouse to Azure PostgreSQL, potentially an Elastic Cluster. You will work across both engines while that move completes. As a member of the Data Engineering team, you will own the modelling for the domains assigned to you, and the programme's cross-cutting craft: the dbt layer standards and the tooling that enforces them. This is a hands-on modelling role for someone who wants their name on the rules, not just on the tickets. You will decide what "correct" looks like for a model, prove it with numbers, and make the standard checkable by script rather than by memory. You will work in an AI-assisted engineering workflow, where agentic tooling accelerates the work but the modelling decisions: grain, layer, parity.
What You Will Be Doing - Model the business domains you are assigned in dbt Core from their source tables through layered staging and intermediate models to tested marts; working across Microsoft Fabric and Azure PostgreSQL as the platform migrates. - Work as the technical counterpart to the Product Analysts who own each business domain: they bring the business definition and the questions the data must answer; you make the models correct, tested, and proven by parity.
It Would Be Great If You Also Have - Azure PostgreSQL (Elastic Cluster), Microsoft Fabric Warehouse, OneLake, or another Delta lakehouse in your background. - A warehouse platform migration you helped carry: engine, dialect, or both.
OPSWAT's data platform turns CRM and business-system data into governed, documented, tested tables that business teams can read without asking what a column means. It is built on dbt Core, layered source → staging → intermediate → mart, and it is migrating on two fronts: a large estate of legacy stored procedures into that model, one domain at a time, with value parity proven before anything is cut over and the warehouse platform itself, from Microsoft Fabric Warehouse to Azure PostgreSQL, potentially an Elastic Cluster. You will work across both engines while that move completes. As a member of the Data Engineering team, you will own the modelling for the domains assigned to you, and the programme's cross-cutting craft: the dbt layer standards and the tooling that enforces them. This is a hands-on modelling role for someone who wants their name on the rules, not just on the tickets. You will decide what "correct" looks like for a model, prove it with numbers, and make the standard checkable by script rather than by memory. You will work in an AI-assisted engineering workflow, where agentic tooling accelerates the work but the modelling decisions: grain, layer, parity. You will work as one half of a deliberate pairing: the Data Engineering team on the technical side, Product Analysts embedded in the product pods, one per business domain on the business side. Product Analysts own what the domain means, the certified metrics and their definitions, and whether the result is right in business terms. Analytics Engineering owns the technical spectrum: modelling, layers, grain, keys, tests, parity, and the standards and tooling the models are built to. Both halves write SQL and dbt; they bring the domain, you carry the technical bar, and the two halves answer for the same number.
- Build the tested marts that certified metrics sit on, so a Product Analyst's definition and the model beneath it never drift apart. - Prove value parity between each dbt mart and the legacy stored procedure it replaces: row counts and key aggregates recorded, not asserted, before any consumer is repointed. - Own and evolve the dbt layer standards, what belongs in each layer, where collation is normalised, one path in per source and the scripts that enforce them.
- Prove value parity between each dbt mart and the legacy stored procedure it replaces: row counts and key aggregates recorded, not asserted, before any consumer is repointed. - Own and evolve the dbt layer standards, what belongs in each layer, where collation is normalised, one path in per source and the scripts that enforce them. - Declare and test primary keys, and write tests that fail when the model breaks, not checks that pass no matter what the data does.
- Declare and test primary keys, and write tests that fail when the model breaks, not checks that pass no matter what the data does. - Repoint consumers from legacy procedure outputs to dbt models in the right order (readers before procedures), and record each cutover so the sequence is auditable. - Work with your Data Engineering teammates to keep the production dbt build on schedule, so parity is a number tracked daily rather than a measurement obtained occasionally.
- Repoint consumers from legacy procedure outputs to dbt models in the right order (readers before procedures), and record each cutover so the sequence is auditable. - Work with your Data Engineering teammates to keep the production dbt build on schedule, so parity is a number tracked daily rather than a measurement obtained occasionally. - Review pull requests on the models you own within one working day; they are production-facing, so a mistake there has no legacy fallback.
- Expert SQL: window functions, CTEs, and multi-entity joins at warehouse scale; strong in the SQL Server / T-SQL dialect today, and fluent enough in PostgreSQL to move with the platform. - Hands-on dbt. You have built and maintained a dbt project (models, layers, refs, tests, documentation), not only run someone else's. - Dimensional modelling judgement: you can state the grain of a model, choose its keys, and place its logic in the right layer.
- Experience migrating stored procedures or warehouse SQL into a transformation framework such as dbt. - Airflow (or similar) orchestration experience. - Data-quality, lineage, or parity/audit tooling in your history.
Complete your application on www.opswat.com. The employer’s form will show what is required.
Already applied? Track this application
We file this job under Analytics Engineer, by the work the posting describes.
Analytics engineers turn raw warehouse data into clean, tested and documented tables that analysts and dashboards can rely on, often with dbt.
Expect strong SQL, data modeling, Git, and a warehouse such as Snowflake, BigQuery or Redshift.
A data engineer gets data into the warehouse; an analytics engineer shapes it once it is there and works closer to the analysts who use it.
The government has no code for analytics engineers, so these figures are for the closest group, database architects, the same group we use for data engineers.
Source: US Bureau of Labor Statistics, Occupational Employment and Wage Statistics (May 2025) and Employment Projections (2025 to 2035). Occupation code 15-1243.
OPSWAT, a global leader in IT, OT, and ICS critical infrastructure cybersecurity, delivers an end-to-end platform that gives public and private sector organizations and enterprises the critical advantage needed to protect their complex networks, secure their devices, and ensure compliance. Over the last 20 years our commitment to innovative technology has earned the trust of more than 1,700 organizations, governments, and institutions globally, solidifying our role in protecting the world’s critical infrastructure and securing our way of life.
OPSWAT's data platform turns CRM and business-system data into governed, documented, tested tables that business teams can read without asking what a column means. It is built on dbt Core, layered source → staging → intermediate → mart, and it is migrating on two fronts: a large estate of legacy stored procedures into that model, one domain at a time, with value parity proven before anything is cut over and the warehouse platform itself, from Microsoft Fabric Warehouse to Azure PostgreSQL, potentially an Elastic Cluster. You will work across both engines while that move completes.
As a member of the Data Engineering team, you will own the modelling for the domains assigned to you, and the programme's cross-cutting craft: the dbt layer standards and the tooling that enforces them. This is a hands-on modelling role for someone who wants their name on the rules, not just on the tickets. You will decide what "correct" looks like for a model, prove it with numbers, and make the standard checkable by script rather than by memory. You will work in an AI-assisted engineering workflow, where agentic tooling accelerates the work but the modelling decisions: grain, layer, parity.
You will work as one half of a deliberate pairing: the Data Engineering team on the technical side, Product Analysts embedded in the product pods, one per business domain on the business side. Product Analysts own what the domain means, the certified metrics and their definitions, and whether the result is right in business terms. Analytics Engineering owns the technical spectrum: modelling, layers, grain, keys, tests, parity, and the standards and tooling the models are built to. Both halves write SQL and dbt; they bring the domain, you carry the technical bar, and the two halves answer for the same number.
OPSWAT is an equal opportunity employer. We celebrate diversity and are committed to providing an environment where equal employment opportunities are extended to all employees and applicants, free of discrimination and harassment of any type. All employment decisions are based on individual qualifications, job requirements, and business needs without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other category protected by federal, state, or local laws.
Recruiting Agencies: we do not accept unsolicited resumes from third party agencies for any of our open positions. To submit resumes for our jobs, there must be a recruiting contract approved by our legal team and endorsed by both parties. We are currently not accepting additional 3rd party agencies at this time.
Selected passages from the saved posting. Check the full description for conditions and exceptions.
No pay amount identified in the saved description.
Ho Chi Minh City, Ho Chi Minh City, Vietnam
Working pattern and location restrictions need checking in the full posting.
No clear work-authorization passage found. Eligibility is unconfirmed.