data-program-leadership
Data Program Leadership
Use this skill when the technical question is entangled with ownership, sequencing, stakeholder alignment, or adoption risk.
Default procedure
- Determine the current data maturity stage and what the organization can actually operate.
- Identify the immediate business questions that must be answered first.
- Run domain discovery for unknown schemas; prioritize domains where schema is known and business urgency is highest.
- Scope a phase that can show trustworthy results quickly.
- Design multi-team data strategy (Data Mesh Lite for mid-size teams, pure Data Mesh only at 100+ engineers).
- Assign clear owners for architecture, business definitions, validation, and sponsorship.
- Reduce risk by validating numbers with users before broad rollout.
Defaults
- For stage 1-2 teams, prove value with a small reporting slice before broad platform ambition.
- Show results early instead of waiting for the "perfect" platform.
- Gather enough requirements to start, then iterate with users.
- Prefer cutting scope over cutting quality or validation.
- Model for business questions, not as a copy of source schemas.
Common pitfalls
There are 14 documented pitfalls that cause data projects to fail (see references for full detail):
- executives underestimating BI complexity ("it's just a dashboard")
- choosing technology for fashion instead of fit
- collecting too many requirements (analysis paralysis) or too few (building blind)
- showing unvalidated numbers to users (trust destruction)
- inexperienced consultants or offshore teams without oversight
- giving full ownership to external parties with no internal visibility
- no knowledge transfer (bus factor of one)
- budget cuts mid-project (cut scope, not quality)
- hard deadlines forcing rushed discovery and skipped validation
- modeling the warehouse as a copy of source schemas instead of business questions
- poor dashboard performance compared to existing tools
- over-designing or under-designing the architecture
- poor communication between technical and business teams
- failing to define metric ownership
Gotchas
- The first broken dashboard can destroy trust faster than a late dashboard.
- Most failures in data programs come from people and process, not missing tools.
- A tech lead on an early-stage team often has to act as architect, analyst bridge, and delivery owner at the same time.
- If a metric has no business owner, it will drift.
References
- Read references/program-leadership.md when the task involves maturity assessment, team roles, the 14 pitfalls, 6 delivery tips, multi-team data strategy (Data Mesh Lite), domain discovery, phased rollout planning, or stakeholder alignment.
More from jimnguyendev/jimmy-skills
backend-go-testing
Provides a comprehensive guide for writing production-ready Golang tests. Covers table-driven tests, test suites with testify, mocks, unit tests, integration tests, benchmarks, code coverage, parallel tests, fuzzing, fixtures, goroutine leak detection with goleak, snapshot testing, memory leaks, CI with GitHub Actions, and idiomatic naming conventions. Use this whenever writing tests, asking about testing patterns or setting up CI for Go projects. Essential for ANY test-related conversation in Go.
14backend-go-code-style
Golang code style and readability conventions that require human judgment. Use when reviewing clarity, naming noise, file organization, package boundaries, comments, or maintainability tradeoffs in Go code. Do not use this for golangci-lint setup or lint output interpretation; use `jimmy-skills@backend-go-linter` for tooling.
12backend-go-safety
Defensive Golang coding to prevent panics, silent data corruption, and subtle runtime bugs. Use whenever writing or reviewing Go code that involves nil-prone types (pointers, interfaces, maps, slices, channels), numeric conversions, resource lifecycle (defer in loops), or defensive copying. Also triggers on questions about nil panics, append aliasing, map concurrent access, float comparison, or zero-value design.
11engineering-rest-api-design
REST API design conventions covering URL structure, HTTP methods, pagination, async patterns, idempotency, error envelopes, and API documentation standards. Use when designing new endpoints, reviewing API contracts, or establishing API guidelines before implementation in any language.
11backend-go-design-patterns
Idiomatic Golang design patterns for real backend code: constructors, error flow, dependency injection, resource lifecycle, resilience, data handling, and package boundaries. Apply when designing Go APIs, structuring packages, choosing between patterns, making architecture decisions, or hardening production behavior. Default to simple, feature-first designs unless complexity has clearly appeared.
11backend-go-grpc
Provides gRPC usage guidelines, protobuf organization, and production-ready patterns for Golang microservices. Use when implementing, reviewing, or debugging gRPC servers/clients, writing proto files, setting up interceptors, handling gRPC errors with status codes, configuring TLS/mTLS, testing with bufconn, or working with streaming RPCs.
11