Principal Software Engineer
At Deem, we create products that give employees everything they need to make better travel decisions, wherever they are. With the most intuitive, secure, and powerful travel solutions, companies save money, their employees stay connected, and everyone gets more done. That’s why more businesses are embracing Deem.
Deem is used by more than 50,000 corporate customers and plugs into the world’s largest travel management companies and expense providers. The company is headquartered in Silicon Valley, California, with offices in Bangalore, India and Dublin, Ireland.
Deem is wholly owned by Enterprise Holdings, the world’s largest car rental provider, and an industry leader in mobility and technology. Enterprise Holdings is one of the top global travel companies, ranking ahead of all other car rental companies, many airlines and most cruise lines, hotels, tour operators and online travel agencies, based on its annual revenues.
Be one of the first engineers to join Deem’s Innovation Center in Dublin, Ireland! Deem’s newest Innovation Center is focused on transforming the future of travel for companies and their business travelers around the world. Deem’s team of elite engineers is dedicated to improving the traveler experience with product and feature innovations, and extending our simple, reliable and robust technical architecture.
If you are looking for an opportunity to design simple, scalable, easy-to-maintain solutions for complex problems and deliver world-class software in an innovative, fun and friendly environment, you’ve found the perfect place! We are seeking engineers at all levels who thrive in an agile environment, can successfully partner with small, cross-functional teams, and who want to be empowered to make a difference to their team, to our company and to corporate travel managers and travelers everywhere.
- Design and develop new services, applications, and database components as part of the next generation platform for Deem
- Take ownership of one or more core microservices on an iterative development model from concept to completion
- Collaborate with cross-functional teams: Product Management, Project Management, Engineering, QA, and DevOps, both onsite and remote to deliver scalable solutions
- Analyze business requirements, and create technical design documents in accordance with Deem's architecture standards
- Assist in preparing accurate estimates for software development work, track progress, and course-correct accordingly
- Lead and work closely with a small team of engineers to deliver high quality releases
- Interview and help hire other engineers on the team
- Maintain high coding standards, participate in design and code reviews
- Write unit and integration tests to ensure quality and test coverage
- Debug and troubleshoot issues across all layers of the solution stack
- Keep up to date on the newest technological innovations and work on continuously applying those to existing and new software solutions
- 9+ years of experience building complex, scalable, distributed web-based applications
- Deep understanding of microservices design patterns and service-oriented-architecture
- Excellent programming skills in one or both of Java and Golang
- Experienced with open-source tools and libraries like Spring and Hibernate
- Proficient in a relational database like Oracle or MySQL, experience with NoSQL DB
- Background in Travel domain with understanding of booking tools & processes highly desirable
- Expertise in creation and consumption of RESTful web services or gRPC based services
- Knowledge of the DevOps philosophy and working with Docker, Kubernetes, and continuous integration services & techniques
- Good understanding of Git
- Excellent problem solving and troubleshooting skills
- Excellent communication and documentation skills
- Understanding of and experience with Agile engineering practices and modern development methodologies
- Experience leading, hiring, mentoring small engineering teams
- Frontend development experience using React or Angular gets extra points
- Bachelor’s Degree in Computer Science or related fields
- Familiarity with monitoring at the system and application level plus