
Senior Software Engineer, Payments
Coinme
full-time
Posted on:
Location Type: Remote
Location: United States
Visit company websiteExplore more
Job Level
Tech Stack
About the role
- Enable Coinme and customers to manage their flow of funds
- Build software and integrations for accepting, disseminating, and liquidating funds needed to fulfill customer transactions
- Design solutions for complex technical and business problems
- Develop software systems and components for our rapidly growing business
- Write performant, maintainable code while iterating and shipping rapidly
- Work within our backend architecture and technology stack based on:
- Java 17 or higher with Project Reactor (Reactive Java)
- Spring Boot
- Command and Query Responsibility Separation (CQRS) architecture and Event Sourcing (ES)
- Full microservice environment
- RESTful APIs for synchronous flows
- Event-driven design (powered by CQRS and ES) for async flows
- Webhooks and Server-sent events
- Axon Framework for intra-domain event-driven design
- Kafka for inter-domain event-driven design
- Kubernetes, Helm charts, Argo platform
- MySQL DB
- Mongo DB
- AWS solutions (EC2, RDS, etc.)
- Author and maintain unit and integration tests
- Work with your Scrum team to plan sprints and delivery of features
- Drive engineering excellence, operational stability and security into all layers of the platform
- Participate in design and architecture discussions and planning
- Drive the execution and delivery of features by collaborating with cross functional stakeholders
- Work with Engineering Leadership to drive best practices in software development, testing, and production operations
- Mentor other engineers, helping them grow in their careers
- Contribute to recruiting efforts to continue to build your team
Requirements
- Bachelor's degree in Computer Science, Software Engineering, or equivalent experience
- 5+ years of experience as a software developer
- Experience building scalable services and distributed systems in Java or similar object-oriented language
- Experience driving technical designs within a team
- Experience writing code that is readable, scalable, and instrumented
- Experience working in a fast-paced Agile development environment
- Experience in communicating with users, other technical teams, and product to understand requirements, describe software product features and technical designs
- Passion for cryptocurrency and blockchain technology
- Required technology skills
- Java & Spring Boot expertise
- Experience with a microservice environment
- Kafka, RabbitMQ, ActiveMQ or similar tech
- RESTful APIs for synchronous flows
- MySQL DB
- Mongo DB or similar NoSql database
- Experience with Kubernetes or any cloud development platforms
Benefits
- health insurance
- retirement plans
- paid time off
- flexible work arrangements
- professional development
- bonuses
- stock options
- equipment allowances
- wellness programs
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard skills
Java 17Spring BootCQRSEvent SourcingmicroservicesRESTful APIsAxon FrameworkKafkaMySQLMongoDB
Soft skills
communicationcollaborationmentoringproblem-solvingAgile developmentengineering excellenceoperational stabilitysecuritydesign discussionsteam leadership
Certifications
Bachelor's degree in Computer ScienceBachelor's degree in Software Engineering