About The Role
GreyMatter Config Manager (GCM) is the system of record for how every GreyMatter installation is configured — what parameters are set, what features are enabled, what hardware profiles are active. Today, configuration changes are applied manually via SSH by engineers, creating a security risk, an audit gap and a reliability hazard. The GCM squad's mission is to close that gap: a governed, validated, auditable configuration platform that eliminates manual SSH-based changes and makes configuration a first-class engineering artifact. As an SDE3 you are the senior engineer in this squad, working closely with the GCM PM to drive technical delivery. The work is deep: rule engines, validation systems, data taxonomies, batch-apply APIs and change-alerting pipelines. Getting this right de-risks every other Foundry pillar.
What You'll Do
- Build the configuration rule engine — Implement a rules-based validation system: data-type constraints, mutual-exclusivity guards, cross-parameter consistency checks and conditional requirements; expose it as a reusable library consumed by GCM APIs and CI pipelines.
- Design the GMR / GMC taxonomy — Drive the decomposition of GreyMatter Router and Controller configuration into a clean namespace hierarchy; separate operational from infrastructure config; surface shared configs without duplication.
- Implement the batch-apply / apply-diff API — Build the API that computes the delta between a desired configuration state and the live state, validates the delta, and applies it atomically; support dry-run, rollback and staged rollouts.
- Build the feature-abstraction layer — Implement the abstraction that maps low-level Erlang configuration parameters to high-level, human-readable feature toggles; define the schema and the code-generation tooling.
- Add change alerting and audit — Build the pipeline that detects out-of-GCM configuration changes (SSH bypasses), alerts the owning team and records an audit event; integrate with OneUptime and Grafana.
- Define and enforce coverage as a release gate — Work with the GCM PM and platform teams to integrate GCM coverage checks into the CI/CD pipeline; a configuration that is not in GCM cannot be promoted to production.
- Drive technical design — Author detailed design documents, lead design reviews, and make defensible decisions about data modelling, API design and system boundaries.
- Mentor junior engineers — Review code, pair on complex problems, and raise the engineering quality of the squad.
Minimum (required) Qualifications
- 7–14 years professional backend engineering.
- Experience building validation, rules or policy engines.
- Strong API design skills (REST and/or gRPC); versioning, backward compatibility.
- Solid data-modelling and schema-design skills.
- Experience with Erlang, Elixir or another functional language — or eagerness to learn; GCM configurations are Erlang terms.
- Track record of driving technical delivery on complex, ambiguous problems.
- Experience writing comprehensive tests: unit, integration, contract.
Preferred Qualifications
- Direct experience with configuration management systems (Ansible, Puppet, Chef, custom rule engines).
- Experience building audit trails or event-sourced systems.
- Familiarity with GreyMatter or comparable warehouse-control systems.
- Experience with feature-flag systems or feature-abstraction layers.
- Prior SDE3 / senior scope with design-document authorship.
- Exposure to REGO / OPA or other policy-as-code frameworks.
- Experience building developer tooling or CLIs.
Technical Qualifications
- Languages: Java (primary) or Go; Erlang / Elixir reading ability required.
- Rule engines: custom implementation in Java / Go; familiarity with Drools, OPA/REGO, or similar.
- APIs: REST (OpenAPI 3.x), gRPC / Protobuf; HATEOAS for resource navigation.
- Databases: PostgreSQL with JSONB for flexible config storage; event-log tables for audit.
- Messaging: Kafka or GCP Pub/Sub for change-alert events.
- Infrastructure: Docker, Kubernetes (GKE), Terraform; GCP Secret Manager for credential management.
- Testing: JUnit / testcontainers; property-based testing (QuickCheck-style) for rule-engine correctness.
- Observability: structured logging with correlation IDs; Prometheus counters for rule violations; Grafana alerts; OneUptime for on-call routing.
- Monorepo tooling: GitHub Actions CI; CODEOWNERS; Backstage TechDocs for the GCM API.
How We Work
GCM is a P0 squad with a firm dependency from the Emulator milestone. You are the senior technical voice in a squad that also includes the GCM PM and will grow to include a junior engineer. You are expected to drive the technical roadmap, unblock the PM on technical trade-offs, and represent GCM in the weekly cross-squad sync. On-call responsibility grows as GCM coverage becomes a release gate.