Channel Fusion powers channel marketing programs for enterprise brands, managing billions in marketing investments. They are seeking a Staff Software Engineer to lead the architectural evolution of their platform, focusing on real-time data processing and modernization of legacy systems.
Responsibilities:
- Design and lead implementation of event-driven architecture patterns to replace batch-oriented processing with real-time, observable data flows
- Architect stream processing and data pipeline infrastructure—queues with proper visibility, retry semantics, ordering guarantees, and dead letter handling
- Partner with the Principal Engineer (Database) to design integration patterns between evolved architecture and existing database layer
- Establish architectural patterns that enable incremental migration—strangler fig, anti-corruption layers, event sourcing where appropriate
- Bring modern behavior-driven development (BDD) practices to the organization—establishing specification-first development as the norm
- Build test infrastructure: golden dataset validation for financial calculations, contract testing for integrations, property-based testing for edge cases
- Establish regression testing practices that give confidence to modify legacy code—the platform has significant untested surface area that creates risk
- Create observability infrastructure: distributed tracing, meaningful alerting, and dashboards that surface problems before clients do
- Lead adoption of agentic development practices—leveraging AI coding assistants, automated test generation, and specification-driven development
- Explore and implement MCP (Model Context Protocol) servers for client integrations—enabling intelligent connectivity between Channel Fusion and client systems
- Stay current with rapidly evolving AI tooling and bring practical applications to the team—you should be genuinely excited about how AI is changing software development
- Help the team level up: pairing sessions, architectural reviews, knowledge transfer that raises everyone's capabilities
- Specification extraction from legacy systems, dependency mapping, identifying and remediating architectural risks in the current platform
- Design target-state architecture, build proof-of-concept implementations, create migration paths that don't require big-bang rewrites
- Navigate the tension between these priorities—knowing when to stabilize vs. when to evolve, and how to make progress on both simultaneously
Requirements:
- 8+ years of software engineering with progression to staff/principal level—demonstrated technical leadership and architectural ownership
- Event-driven architecture expertise —you've designed and built systems using message queues, event streaming (Kafka, Azure Event Hubs, etc.), and asynchronous processing patterns
- Data pipeline and stream processing —experience with real-time data flows, ETL/ELT modernization, and high-volume transaction processing
- Fintech or marketing technology background —you've built systems where accuracy matters: financial calculations, compliance tracking, or investment accountability
- Legacy system modernization —you've successfully evolved production systems incrementally, not just greenfield builds
- Both startup and enterprise experience —you know how to move fast AND how to operate systems that can't go down
- .NET ecosystem proficiency —our platform runs on .NET; you should be comfortable in this stack even if it's not your only expertise
- SQL competency —you won't own database architecture, but you need to read and understand complex queries and collaborate on data layer design
- Testing and quality engineering —deep experience with BDD frameworks (SpecFlow, Cucumber, etc.), test automation, and building quality into the development process
- Observability and operations —you've built systems you also had to support; you understand what makes software operable at scale
- Agentic development fluency —active experience with AI coding assistants, interest in MCP and emerging integration patterns, enthusiasm for how AI is reshaping engineering practice
- Hands-on contributor —this is not an architecture-on-paper role; you'll write code, review code, and build the things you design
- Collaborative technical leadership —you'll work closely with the Principal Engineer (Database), engineering leads, and the Director of Product; no solo heroes
- Comfortable with ambiguity —legacy systems mean incomplete documentation, tribal knowledge, and surprises; you navigate this without getting stuck
- Continuous learner —AI tooling is evolving weekly; you stay current and bring practical applications back to the team