Granule·Labs

Open role

Solution Architect

Granule Labs · Minneapolis, MN or Seattle, WA · Full-time

The basics

Out of the way up front, so the rest of this can be about the work.

Ensuring a response

Follow the criteria below and you WILL communicate with a human. :-)

Compensation

$170,000 – $190,000 base, depending on experience. Eligible for an annual performance bonus and other benefits.

Location

Minneapolis, MN or Seattle, WA. Some client travel; it varies by engagement.

Education

Bachelor's degree in computer science, engineering, or a related field, or equivalent practical experience.

About the role

You own the shape of an engagement end to end. Profile the workload, design the target architecture, work out how it integrates with everything the client already runs, and defend all of it in front of their technical leadership.

You will carry a small number of clients at a time and be genuinely invested in them — not a portfolio of accounts you check in on. Depth is what we offer.

This is a player-coach role. You are billable and hands-on first — in the schema, in the integration design, and prototyping yourself. You will also lead a delivery team of two to four engineers, and you are accountable for what they ship.

The patterns you set become how the firm works. If that sounds intimidating vs. exciting, this is the wrong role.

About you

Most weeks you will be building, not reviewing. Some architects hear that and hear a step backward. You would not want it any other way — here, the person who drew the architecture is building it with the team and the agents, and stays until it runs.

You have put a fixed price on work you had not fully scoped, been wrong about it, and absorbed the difference without reopening the contract. You still think fixed-fee is the honest way to engage with clients.

You have talked a client out of a larger engagement than the one they were ready to sign — and been asked back.

You would rather profile the workload yourself than accept AI or the client's description of it.

You are comfortable saying an uncomfortable thing to a room that outranks you, and doing it respectfully without theater.

You take it personally when a design you signed off on does not hold up.

If this list made you nod instead of wince, then you should apply!

What you'll own

Client architecture review and workload profiling

You are the one who goes in and establishes what is actually happening. The existing architecture and its real constraints, query shapes, cardinality, concurrency, ingest rate, retention, where the cost is going, and what the system actually reads to answer a question.

The target system

Engine and topology selection, the ingestion path, the semantic layer, the governance model, and how all of it integrates with what the client already runs — source systems, warehouse, BI, orchestration, identity, and the applications and agents on top.

Design review

A standing practice, not a gate. Your team's designs, the decisions they are about to commit to, and the moment to say this tool doesn't work.

The cost model

Three-year TCO, storage versus compute, and retention economics, at the fidelity needed to make a decision — plus the call on what we are willing to fixed-price and what we are not. You carry the consequences of getting that boundary wrong.

The team and the plan

Two to four engineers. Break the architecture into epics, stories, and sequenced tasks with honest estimates, delegate them, and hold the date. Then the unblocking, the quality, the utilization, and the coaching that makes the client's own engineers better by the end.

Pre-sales alongside the CEO

Discovery workshops, technical proposals, SOW scoping, and the estimates that make our pricing defensible.

The practice itself

Reference architectures, integration patterns, estimation standards, accelerators, and the delivery playbook — written down and reused, not carried in your head. You are writing the first version.

The table stakes

Skills and experience get you in the room. What is above is what gets you the job.

  • 8+ years in data and analytics engineering or architecture, including 3+ years client-facing — consulting, professional services, or delivery-side solutions architecture. Including time responsible for other people's output.
  • Deep production experience with columnar and MPP analytical systems — ClickHouse, Druid, Pinot, StarRocks, Snowflake, BigQuery, Redshift, or Vertica. Real depth in at least one, and informed opinions about the tradeoffs. ClickHouse experience preferred, or a track record of getting deep on an unfamiliar engine fast — be ready to describe a time you did it.
  • Integration architecture across a real enterprise estate. Source systems, warehouses, BI and semantic tooling, orchestration, identity, and the applications on top. Be able to talk about your experience at enterprise scale.
  • Real-time ingestion architecture. Kafka in production, plus at least one of Kinesis, Pulsar, Redpanda, Flink, or CDC (Debezium, PeerDB). Delivery semantics, backfill, and replay.
  • The layer above the engine: semantic definitions and access control. A semantic layer you put into production (Cube, dbt Semantic Layer / MetricFlow, AtScale, LookML, Malloy), and the governance that goes with it — authorization models, row and column security, quotas, tenancy isolation, and the compliance frames clients bring.
  • Cost modeling. You have put a defensible three-year number on a data platform, presented it to executives, and been held to it.
  • Hands-on fluency. SQL and Python you write rather than review; AWS, GCP, or Azure; Terraform; Kubernetes.
  • Daily, working use of AI tooling. Coding agents and assistants in your actual workflow, with real judgment about when to trust, verify, or discard what they produce. Be ready to describe specific work you completed with AI assistance within a team and where it struggled.

What sets you apart

Mention any of these that apply.

  • ClickHouse / ClickHouse Cloud in production or contributions to the project.
  • Certifications: ClickHouse, DataBricks, Snowflake, AWS, GCP or Azure, dbt, or Kafka. This shows a commitment to continuing education.
  • Observability implementations — Datadog, Splunk, Elastic, or New Relic onto an OLAP store; OpenTelemetry, Vector, ClickStack.
  • Public work: conference talks, a technical blog, a GitHub profile with something real in it, an OSS maintainership.
  • Retrieval architecture over analytical data: vector search, RAG, or MCP servers exposing governed data to agents.
  • Vertical depth where the data is genuinely large: adtech, fintech, gaming, IoT, telecom, or security telemetry.
  • A migration you can talk about honestly, including the part that went badly.

Apply

careers@granulelabs.ai. Send us three things:

  • Your resume, covering the items above.
  • A note on any criteria you do not meet, and why you are worth talking to anyway.
  • A short description of the largest system you have made faster, and how you implemented it.

That is worth more to us than a cover letter.

How we hire

Hiring is the most important thing that we do; our product is our people, who develop our offerings and deliver for our clients.

If your resume shows you meet most of what a posting asks for, you tell us plainly why you do not meet the rest, and you can describe a system you built that resembles what we build — you will communicate immediately with a human.

Four steps after that:

  1. Human phone screen

    A real conversation about your work, not a checklist read back to you.

  2. Technical screen

    A short assignment, a live technical screen, or an online coding exercise, depending on the role.

  3. Deep dive with the CTO

    Architecture, tradeoffs, and the decisions you have had to defend.

  4. Final conversation with the CEO

    How you work with clients, and whether this is the right place for you.

Then an offer. We aim to be done quickly and to tell you where you stand at every step.

If your experience does not line up exactly with a posting, apply anyway. We would rather read your note than have you screen yourself out.