Data engineering in Austin
The Series B data room asks for cohort retention, net revenue and loss rates, and an Austin fintech discovers that the warehouse, the ledger and the finance team's spreadsheet give three different answers. None of them is exactly wrong. The warehouse copies a table the application overwrites, the ledger is the truth but hard to query, and finance adjusted for refunds the pipeline never saw.
We make the ledger the source and build outward from it. Raw data lands untouched, so every number can be rebuilt. Transformations are versioned models rather than scheduled scripts, and each metric has one written definition that finance and product have both agreed. Every table carries a freshness statement and a check that proves it. When the next investor asks how a figure was calculated, the answer is a link, not an afternoon. And when a hiring freeze leaves nobody owning the pipeline, it keeps running, because it was written down.
The city's centre of gravity is enterprise SaaS and consumer fintech, and both bring the same backend problem early: multi-tenancy that was bolted on after the first enterprise deal, and a permissions model that started as a role column. Then the large customer asks for custom roles and SSO, the board asks for usage-based pricing, and the schema was built for neither. Unpicking that while the product keeps selling is most of what an Austin engagement looks like in the first month. On the fintech side the same pressure lands on the mobile app and the ledger: transfers that must never send twice, and balances that have to match what finance sees.
Austin has also been a hardware and semiconductor town for decades. The fabs and equipment suppliers produce tool telemetry, inspection images and test results in volumes most software companies never see, and the hardware start-ups around them reach the point where a board works on the bench and a pilot customer wants to see its data. Their engineers are process, yield and firmware specialists. The software around the hardware, from the device API and the dashboard to the pipeline that turns readings into something a customer can open, is a defined piece of work that suits an outside team.
Then there is timing. Austin has an unusual density of Series A and B product companies, and they tend to raise, hire aggressively for two quarters, then freeze. A mid-level engineer costs around $145,000 base before equity and benefits, and the platform or infrastructure hire is usually the one that waits longest. We are frequently the answer to "we have the roadmap and the budget, but the req is frozen until next quarter", because an engagement is an invoice rather than a headcount. It starts with a fixed-price two-week piece, and it can grow into an embedded engineer for as long as the roadmap needs one.
We move our working day for Texas. Four hours of every working day overlap with your morning in Central time, so stand-up, code review and the design conversation happen live with the engineer who writes the code. The code lives in your repositories from the first commit, and runbooks and architecture notes are written as we go, so whoever you hire next inherits work they can read.
We are the right fit when the roadmap is ready and the req is frozen. A defined piece of work, such as a permissions model, a device backend or a cloud setup brought under control, starts with a fixed-price two-week piece. Senior capacity arrives within days, and agencies can put the work under their own name.
Four ways this arrives.
Two definitions of the same metric, computed in two places. We pick one, write it as a tested model in version control, and point every report at it, so the argument moves from whose number is right to what the definition should be.
A job reports success while the report still shows yesterday. We give every table a written freshness guarantee, monitor what the reader actually sees rather than the job that feeds it, and alert a person when the guarantee is missed.
A CRM, an ERP or a work-order tool reachable only through its API. We build the sync with retries, rate limits and normalisation at the boundary, and keep append-only snapshots so last Tuesday is a query rather than a restore.
Analytical queries running against the application database at the worst possible moment. We move them to a columnar store, keep Postgres for transactions, and feed one from the other by change data capture or scheduled extracts, whichever the freshness requirement calls for.
A nightly work-order extract into append-only ClickHouse snapshots, with a verifier that reads the live Tableau dashboard to prove it shows the newest data.
Read the write-up →Asked by Austin teams.
How do you work with teams in Austin?+
We are in Bengaluru and move our working day for Texas, so four hours of every working day overlap with your morning in Central time. Stand-ups, code reviews and design calls happen live in that window. We work in your tools, whether that is Slack, GitHub or Linear, and the person on every call is the engineer who writes the code.
Why do Austin product companies come to you?+
Austin has an unusual density of Series A and B product companies with a strong front-end team and no infrastructure hire yet. That is precisely the seat we fill: the multi-tenant backend, the permissions model, the cloud setup and the deploys that nobody senior owns. It is why more of our US enquiries come from Texas than from the coasts. We build it in your codebase, alongside the team you already have.
How does your rate compare to hiring in Austin?+
A mid-level software engineer in Austin earns around $145,000 base before equity and benefits. Our published rate is $35/hour, or $5,400 a month for an embedded engineer, with a $5,000 minimum. There is no recruiting time and no employment overhead, and work starts within days of the call. The first piece is a fixed-price two-week engagement at $2,800, so you judge us on what ships.
Our req is frozen until next quarter. Can you cover the gap?+
Yes. It is a common Austin situation, and a good fit for an engagement, because an invoice is not a headcount. The roadmap keeps moving while the req waits. Start with a fixed-price two-week piece, or embed an engineer at $5,400 a month. Runbooks and architecture notes are written as we go, so when your hire does start, they inherit work they can read and extend.
Do we need a data warehouse yet?+
Maybe not. If your reporting runs comfortably against a Postgres read replica, a warehouse adds a second system to pay for and keep in step. The signs you need one: analytical queries slowing the product, data from several sources that has to be joined, or history you must keep that the application overwrites. We will tell you which side of that line you are on.
Why ClickHouse rather than Snowflake or BigQuery?+
Not always. For steady, high-volume analytical work, ClickHouse is fast and cheap to run, self-hosted or on its managed cloud, and we run it in production. Snowflake and BigQuery ask less of you operationally and suit ad hoc querying across a large team. If nobody on your side wants to operate a database, we will recommend the managed option even when the invoice is larger.
What does a freshness guarantee actually mean?+
A written statement per table or report, such as "never more than an hour behind" or "reflects yesterday's close by 07:00". Each one has a check that measures it and an alert that fires when it is missed. Without it, stale data looks exactly like correct data until somebody makes a decision on it.
Can you work with the tools we already have?+
Usually, yes. If you already run dbt, Airflow, Fivetran or a BI tool your team knows, we build inside it. We suggest replacing a tool only when it is the cause of the problem you hired us for, and we show you the evidence before asking you to fund a migration.
How do you handle personal data in the warehouse?+
We decide what should reach the warehouse at all before building the pipeline. Identifiers can be hashed or tokenised at ingestion, sensitive columns restricted by role, and retention enforced by the pipeline itself. Every field is documented from source to dashboard, so anyone can see where a number came from and who can read it.