
Senior Java Software Engineer – Backend
Mercury
full-time
Posted on:
Location Type: Remote
Location: Turkey
Visit company websiteExplore more
Job Level
About the role
- Be a part of the cross-functional agile team contributing to the implementation of Mercury’s next-generation shipment platform by designing, documenting, coding, maintaining, refactoring, fixing, testing, and enjoying what you build.
- Work closely with a team of Product Managers and Architects to design and implement a scalable, secure, maintainable, and well-documented API platform for our clients.
- Work with DevOps engineers to design and test build pipelines, and to design and help code tools and scripts for deployment processes.
- Collaborate with Architects and DevOps engineers to design and/or code event data collection, notifications, and filters for observability.
- Work with architects and front-end developers to establish microservices and APIs.
- Collaborate with the QA team to determine the best testing strategy, toolset, and QA practices for your backend production.
- Work in the Backend Chapter to ensure you continuously improve implementation practices, tech stack, standards, and third-party tools across all production teams.
- Collaborate with the Product Team in Boston, MA, to influence product requirements and the roadmap.
- Work with the Engineering team to ensure technical needs are met while maintaining a strong focus on usability.
- Conduct developer research with the client developers of the platform and our internal team.
- Advocate for and be the voice of Mercury’s customers in our product development process.
- Distill complex problems and propose simple, elegant solutions.
- Create a signature experience for the Mercury shipping platform that is aligned with our brand values.
Requirements
- Fluent in English.
- Bachelor's degree in a software-focused engineering field such as Computer Engineering, Software Engineering, Electrical and Electronics Engineering, Computer Science and Engineering, Electrical and Computer Engineering, or Information Systems Engineering.
- +6 years of experience in backend development with Java, with at least 2+ years using version 9+
- Strong core Java fundamentals.
- Minimum 2 years of recent experience with Spring Boot / Spring.
- Proficiency with Spring Data, Hibernate, and JPA.
- Experience with unit testing and test-driven development.
- Experience in code review (both as a reviewer and developer) and a willingness to participate.
- Familiarity with Git and distributed version control systems.
- Knowledge of RESTful API design and implementation.
- Knowledge of backend architectural design concepts.
- Proven experience with microservices architecture.
- Experience with Kafka for messaging and streaming.
- Understanding of database technologies, particularly PostgreSQL.
- Profound understanding of basic development technologies like OAuth, REST, JWT.
- Understanding of OOP principles and solid algorithms and problem-solving skills.
- Experience building large-scale backends with supporting developer portals/marketplaces.
- Good understanding of lean/agile values, principles, and associated practices.
- Good understanding of Linux operating system shell commands and scripting.
- Familiarity with CI/CD pipelines and DevOps practices.
- Optimize application performance, scalability, and reliability.
- Mentor and guide junior engineers, fostering a collaborative and knowledge-sharing environment.
- Excellent problem-solving skills and the ability to work independently and in a team.
- Ability to prioritize customer needs and deliver promptly.
Benefits
- Private health insurance covers you and your immediate family.
- 20 days of paid holidays including the first year of employment.
- Having your birthdays off work.
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard Skills & Tools
JavaSpring BootSpringSpring DataHibernateJPARESTful APImicroservicesKafkaPostgreSQL
Soft Skills
problem-solvingcollaborationmentoringcustomer focusindependenceteamworkcommunicationagile valuesleadershipknowledge sharing