WEX is a company that provides fleet management and mobility payment solutions. They are seeking a seasoned Senior Backend Software Engineer to design and maintain backend services, develop APIs, and collaborate with cross-functional teams to implement new features.
Responsibilities:
- Design, develop, and maintain robust, scalable, and high-performance object oriented code in our backend services
- Develop public REST APIs using Java and internal gRPC APIs for inter-service and inter-system communication
- Craft systems designs, lead design decisions, and drive alignment with other senior engineers
- Write automated unit tests, integration tests, end-to-end tests, concurrency tests, load/performance tests
- Analyze existing systems to identify bottlenecks, tech debt, and implement scalability, and stability improvements
- Implement automation for testing, monitoring, healing, and scaling applications, continuous integration and deployment to reduce time to market
- Collaborate with cross-functional teams, including product managers, designers, and other engineers, to define and implement new features
- Conduct code reviews (comment, approve, seek revisions, merge), mentor junior and mid-level engineers, and actively promote engineering best practices
- Dive deep and troubleshoot complex issues, devise fixes, author root cause analysis documents, and ensure lasting performance and reliability
- Conduct objective and comparative analyses of competing technologies to advise the team of pros and cons of a technology solution
- Maintain robust documentation (design docs, run books, change management docs, and readiness plans)
- Provide live-site support for production applications by monitoring systems, ensuring rapid incident resolution, and driving continuous improvement
- Drive cross-team projects as a single-threaded-owner (STO) or tech lead, and actively unblock other engineers to make progress
Requirements:
- Bachelor's degree in Computer Science or Software Engineering
- 5-8 years of professional experience in software engineering
- Strong understanding of data structures and algorithms, object-oriented design, and problem-solving skills
- Expertise in designing and developing internet-scale services with scalability, availability, security, and reliability design tenets
- Excellent written and verbal communication skills, and a collaborative and empathetic mindset
- Proficiency in backend development, with proficiency expertise in Java or C#, and frameworks like SpringBoot, building and optimizing RESTful APIs, ODATA framework, and SQL
- Master's degree in computer science or software engineering
- 8 years of experience in software engineering
- Experience with event-driven architecture and tools like Kafka
- Experience working on card payments
- Familiarity with cloud-native architecture (containerization using tools such as Docker and Kubernetes)
- Awareness of API security and PCI DSS compliance requirements
- Ability to work on existing codebase, contribute improvements, and adapt to legacy systems' constraints