Staff Server Software Engineer
Role details
Job location
Tech stack
Job description
What does a successful Staff Server Software Engineer do at Clover? The Point Of Sale squad is dedicated to all aspects related to Order management, Inventory management, Employee management, Full-Service Dining, and more, for our merchants in the Restaurant and Retail space. We also have a squad dedicated to building an Online Ordering platform and integrating with major Online ordering providers, to support this growing need for our merchants.
Our Server Application Engineers are tasked with improving/expanding our platform and product. They work closely with the Infrastructure Team, Product Team, and Design Team. Our engineers are pragmatic in balancing priorities and enjoy working in an iterative model where application features and server improvements are released every other week and bug-fixes are deployed as needed.
On a daily basis, you will spend your time developing new features, investigating/reproducing/resolving bugs, and time driving testing and creating helpful documentation. We are interested in hiring flexible engineers who are not afraid to be involved in product discussions and work with multiple parts of the stack.
What you will do:
- Drive the development of Clover's cutting-edge Point of Sale platform and backend systems.
- Design and implement REST APIs for mobile and web clients including our payment devices, web dashboard, and 3rd party apps
- Identify technical requirements in product meetings and assist the business team with realistic project planning and feature development; translate product requirements into functional, maintainable, extensible software that is in-line with company objectives
- Own your merchant-facing services /features from development through deployment and production monitoring
- Working with other engineers to design your new features, and review code.
- Participating in design and code reviews for your peers and junior engineers
- Mentor junior engineers
- Work with the Infrastructure Team to design data models to support large-scale highly available services
- Work with QA to develop test plans/strategies
- Take part in an on-call rotation to support our systems and ensure high availability.
Requirements
- Bachelor's degree in Computer Science or Engineering field
- 10+ years of hands-on experience in professional software development.
- 5+ years leading technical teams and delivering complex systems to production using Java.
- Strong coding skills on JVM based system; Java is our language of choice
- Strong knowledge of relational databases, e.g MySQL
- Experience with Spring Boot
- Skilled in designing and implementing RESTful APIs and microservices.
- Ability to write clean, testable, high-performance code that scales.
- Superior problem-solving skills and debugging capabilities
- Strong communication skills-you explain ideas clearly and collaborate effectively.
What would be great to have:
- Experience with a cloud platform, preferably Google Cloud
- Experience in Python programming.
- Exposure to POS systems and a curiosity about generative or agentic AI technologies.
- Data analysis experience
- Willingness to travel up to 10%