Skip to content

Senior Software Engineer – Java
Company | MarketAxess |
---|
Location | New York, NY, USA |
---|
Salary | $150000 – $225000 |
---|
Type | Full-Time |
---|
Degrees | |
---|
Experience Level | Senior, Expert or higher |
---|
Requirements
- 7+ years of engineering experience
- Expertise in Java and Python
- Experience with AWS cloud platform and containerization (Docker/Kubernetes)
- Knowledge of distributed data systems: Spark, distributed databases, event sourcing, CQRS patterns
- Experience building high-throughput, low-latency services that handle enterprise-scale data volumes
- Understanding of data formats and serialization: Avro, Protobuf, JSON Schema
- Experience with REST API development and service-to-service communication patterns
- Experience building platform services that other engineers consume (APIs, SDKs, shared libraries)
- Knowledge of data modeling for both operational and analytical use cases
- Understanding of DevOps practices: CI/CD, infrastructure as code, monitoring and alerting
- Familiarity with agile development practices and working in cross-functional teams
- RFC writing experience
- Ownership mindset
- Cross-functional collaboration experience
Responsibilities
- Implement data catalog APIs, schema registry services, and metadata management systems
- Build high-throughput Kafka consumers/producers, stream processing applications with Flink/KStreams, and real-time data transformation services
- Code the APIs and microservices that enable teams to publish, discover, and consume data products independently
- Implement the foundational services that enable domain teams to create and manage their data products
- Build connectors and adapters that integrate legacy systems with the modern Data Mesh architecture
- Implement metrics, logging, and health check systems for distributed data platform components
- Create CLI tools, SDKs, and automation that make the platform easy for other engineers to adopt
- Write RFCs for complex technical decisions, proposing solutions for cross-team challenges and platform evolution
- Take full responsibility for services from design through production deployment, monitoring, and ongoing maintenance
- Lead RFC discussions, propose architectural improvements, and influence platform direction through well-researched technical proposals
- Own the operational excellence of your services – you build it, you run it, you support it
- Take ownership of technical challenges that span multiple teams, driving solutions that benefit the entire platform
- Set the bar for code quality, testing practices, and operational excellence within the platform team
Preferred Qualifications
- Strong Kafka experience: Building producers/consumers, stream processing applications, managing topics, partitions, and handling failures
- Proficiency with streaming frameworks: Kafka Streams, Apache Flink, or similar technologies
- Experience with Data Mesh, Data Lake, or modern data platform implementations
- Knowledge of schema evolution and backward compatibility strategies
- Experience with financial services data and regulatory requirements
- Contributions to open source projects in the data/streaming space