Senior Java Developer

Open 19d

Job description

Responsibilities:

  • Be part of week-based sprints executing on the backlog in lockstep with developers as part of an Agile team.
  • Work as an independent contributor collaborating with a team of developers and test engineers.
  • Collaborate with product management, support, and engineering teams in order to establish priorities.
  • Mentoring and code reviewing for a remote team, setting best practices and policies, writing specs, wiki pages, knowledge base articles, and other internal documentation.
  • Work closely with the support team, and communicate with customer sysadmins, DBAs, and developers for troubleshooting.
  • Provide technology recommendations and strategy to support the business requirements.
  • Collaborate with product management, support, and engineering teams in order to establish priorities, understand requirements, formulate test plans, and execute them accordingly.
  • Ability to work on urgent issues.
  • Qualifications:

  • 7+ years of experience in Java development.
  • Solid understanding of object-oriented programming (OOP) concepts.
  • Solid foundation in Java Core and J2EE development fundamentals including best practices and design patterns.
  • Experience in Spring-MVC/Spring-Boot framework.
  • Experience in Java REST web service.
  • Database design fundamentals and knowledge in JPA.
  • Experience in analysis, design, and developing business requirements.
  • Experience with TDD, code testability standards, JUnit/Mockito.
  • Experience developing backend components, services, or APIs in Java or a similar language.
  • Strong skills writing high-performance, multi-threaded, efficient, and maintainable software code.
  • Experience crafting and implementing highly scalable and performant microservices-based applications.
  • Familiarity with HTTP, REST, HTML, JSON, and similar web-based development technologies, and with building complex multi-tier parallel distributed systems that communicate via them (such as the backend of complex websites).
  • Knowledge of SQL and experience working with online data stores (one of MySQL, PostgreSQL, Oracle, MS SQL Server).
  • Experience with building, maintaining, and scaling large scale distributed systems.
  • Ability to identify trade-offs between various implementations and make decisions about which solution would be best for a given situation.