
TL;DR
From June 2021 to March 2023, I was Sitetracker's Head of Design and built the design function from nothing: the hiring bar, the career ladder, the critique culture, and a 4-person international team held to the same standards as the US group. Development ran closer to waterfall than to customer value, so I made Jobs to Be Done the shared decision language across design, product, engineering, and QA. The Head of Product credited the work with accelerating the whole product organization.
Design had no system to hire into
Hiring designers into a broken system creates frustrated designers, not a design function. Sitetracker needed the conditions for design to matter first: a hiring bar, a career ladder, critique, mentorship, research language, and a product process that made customer value visible before work was committed.
The company had built a real business without a real design function. Design sat downstream. Reviews happened late. Product, engineering, and QA had no shared language for the decisions they were making together. The real constraint was how the company made product decisions, not the size of its org chart.
Design moved upstream
Design at the end
Design upstream, shared language
Authored before a single job description. The grid defined the gap. Hiring filled it.
What I did
- Assessed product maturity before defining the org shape. The skill matrix mapped the capabilities the business actually needed rather than a generic design org chart borrowed from somewhere else.
- Wrote the design career ladder and mentorship framework before scaling headcount. New designers walked into a system that already told them what growth looked like.
- Introduced JTBD across design, product, engineering, and QA through workshops and coaching. The framework stuck because it lived in how people argued about product decisions, not in a document that gathered dust.
- Held a peer seat in weekly leadership reviews of features and projects. Authority was earned, not inherited.
- Built and trained a product and design team internationally for global expansion. That team operated as a peer node from the start, not a delivery arm. <!-- TODO(consent): named peer pending consent -->
I sequenced the system before the people. The career ladder, mentorship framework, and skill-matrix hiring loop were all in place before the team grew past the first few hires, so every new designer landed inside a function that already worked instead of one being improvised around them.
The matrix only worked as a hiring tool after I stopped scoring credentials. The obvious move was to write job specs and filter for seniority and pedigree, the way most design orgs staff up. I built the first version that way and it reproduced the exact gut-call bias I was trying to remove: strong resumes advanced, and the real capability gap stayed open.
So I inverted it. I scored candidates on demonstrated capability against the specific gaps the matrix named, not on where they had worked. That version cut the bias, and it made every hiring decision legible to product and engineering leadership, who could then co-validate a hire instead of deferring to my taste. Credentials describe who a candidate has been. The matrix describes who the function needs next, and only the second question builds the right team.
One bar, two locations
US team
peer nodeInternational team
peer nodeShared operating standard
Output is reversible. Operating systems compound.
Skill matrix
Capability-by-seniority grid that defined the gap before any hire.
Spec-free hiring loop
Scored demonstrated capability instead of filtering on credentials.
Career ladder
Written level definitions and the coaching language for growth.
Critique culture
Weekly crit that taught the readiness bar in public.
JTBD framework
Shared decision language across design, product, engineering, QA.
Mentorship framework
Pair structure that compounded coaching across the team.
Not six documents. One operating system. Each artifact feeds the next, which is why the whole thing held after I left.
What changed
The change I care about is not that design got better screens out the door. It is that JTBD stopped being a design research method and became the language product, engineering, and QA all argued in, so decisions got made against customer value instead of opinion. Design moved from a late-stage review gate to a co-decision partner at the start of each initiative, and that shift is what accelerated the product organization. Late-stage rework fell too, because the hard calls happened together and upfront instead of surfacing in a review at the end.
Two people who worked with me name the same thing from different seats. Bailee Warsing, a designer on the team, wrote that I "collaborated frequently with Product Management and Engineering leadership to build a robust design playbook." That is the inside-the-team view of the cross-functional standard the Head of Product describes from the leadership side.
The international group stood up on that same standard, training, and culture, so global expansion never carried a quality cliff at the boundary. And the whole operating system kept running after my tenure. That is the artifact that mattered: not the screens, but the machinery that made better screens possible without me in the room.
Reflection
1. I would push JTBD outward earlier. I ran the workshops and coaching, but let the design function consolidate for a stretch before extending the methodology to product and engineering. Starting both threads at once would have compressed the culture-change curve and given the rest of the org more reps with the framework before it had to carry real product decisions.
2. Building the international team as peers cost me speed early, and I would pay it again. I stood the group up on the same hiring bar, ladder, and critique culture as the US team instead of as a faster, cheaper delivery arm. That was slower to staff and slower to ramp, and for a stretch a delivery-arm model would have shipped more, sooner. But a peer node holds the standard when no one is watching, and a delivery arm does not. Wrong call for the next two quarters, right call for a function that outlasts my tenure. <!-- TODO(mohsin): the named international peer story is stronger than this redacted version; surface it once consent clears (see TODO(consent) marker in "What I did"). -->
