Abnormal AI is a company that focuses on building tools and infrastructure for developers. As a Software Engineer 2 in the Dev Accelerator team, you will design and evolve the internal developer platform, working with various technologies to enhance the development experience for product teams and AI agents.
Responsibilities:
- Build and evolve developer CLI tooling
- Extend our primary developer CLI to scaffold new component types and services end-to-end (service manifests, container/build configs, deployment charts, build files, API definitions, starter code, alerts, runbooks)
- Improve environment and credentials tooling to make local development setup fast and reliable
- Own core CI/CD and linting infrastructure
- Design and maintain the backend CI workflow used by backend services
- Evolve linting, formatting, and typing tools to enforce architectural and code-quality guardrails across the monorepo
- Debug and fix CI issues that block engineers, and proactively reduce flakiness and runtime
- Steward shared Go and Python ecosystems
- Own key shared Go libraries (auth, caching, clients, configuration, cryptography, logging, metrics, domain/realm, server, etc.) and their usage across many applications
- Maintain and evolve Python shared libraries and frameworks in our core libraries, gRPC helpers, utilities, and standardized components
- Strengthen test and release safety
- Extend automated canary analysis with new metric types, backtesting, and safer defaults
- Build and improve test automation tooling, bad-test detection dashboards, and dependency-analysis utilities to keep main green and tests reliable
- Contribute to automation that classifies CI failures and summarizes them for engineers (including LLM-assisted workflows)
- Drive platform-level design and abstractions
- Design abstractions that balance simplicity for product engineers with enough power for advanced use cases
- Collaborate with PM/TPM, infrastructure, and product teams to scope and deliver multi-team initiatives (e.g., prompt-to-product workflows, typing and linting initiatives, test automation)
Requirements:
- Strong experience with Python 3.x: CLI development (e.g., Click or similar)
- Strong experience with Python 3.x: YAML/Jinja2-style templating
- Strong experience with Python 3.x: Modern type hints and typing discipline (e.g., typing, dataclasses / attrs, Pydantic-style patterns)
- Strong experience with Python 3.x: Testing with pytest or similar
- Solid experience with Go: Shared library and service development (gRPC/HTTP)
- Solid experience with Go: CLI patterns (e.g., Cobra/Viper or equivalents)
- Solid experience with Go: Testing with Go testing frameworks (e.g., Ginkgo/Gomega or the standard library)
- Protobuf/gRPC: Schema design and evolution
- Protobuf/gRPC: Cross-language client/server generation and integration
- Bazel in a large monorepo: BUILD rules and dependency management
- Bazel in a large monorepo: Working with code generation for APIs and clients
- Containers & orchestration: Docker image builds
- Containers & orchestration: Kubernetes concepts (Helm-style values, service deployments, readiness/liveness/health checks)
- Cloud infrastructure (AWS preferred): Experience with a meaningful subset of: object storage, relational databases (e.g., Postgres), key–value/document stores, search, streaming/ingest services, Kafka, Redis, IAM
- Modern CI systems (e.g., Git-based CI/CD platforms): Authoring non-trivial pipelines (matrix builds, reusable workflows, secrets/permissions)
- Infrastructure-as-Code mindset: Comfortable working with service manifests (YAML), Terraform/Terragrunt-like patterns, or internal equivalents
- Linting & static analysis: Hands-on experience configuring and tuning linting and typing tools (e.g., pylint, ruff, mypy, golangci-lint)
- Monorepo experience
- Worked in a large, shared codebase with complex dependency graphs and shared frameworks
- Familiar with dependency graph analysis and strategies to keep builds/tests fast
- Built or maintained CLI tools, scaffolding systems, or internal frameworks used by other engineers
- Thoughtful about ergonomics, documentation, and guardrails
- Exposure to canary analysis / progressive rollout systems (e.g., Prometheus/PromQL, Grafana, automated deployment checks)
- Experience with test data management, integration/E2E test infrastructure, or bad-test detection
- Experience with Kafka (topic design, producers/consumers, observability, error handling)
- Experience or strong interest in using LLMs to improve developer workflows (e.g., failure summarization, smart code generation, AI-native CLIs)