Senior Java, REST Software Developer
We are seeking a highly motivated individual to join our development teams as a Senior Software Engineer, focusing on backend development with expertise in Java EE. The ideal candidate will have a passion for solving complex technical challenges and a strong foundation in Java development. This role offers the opportunity to work with cutting-edge technologies and contribute to the development of robust, scalable web applications.
- Design and develop backend solutions using Java EE technology.
- Implement Object-Oriented analysis and design principles to ensure code quality and maintainability.
- Solve technical challenges and debug issues in a timely manner.
- Develop REST APIs and ensure web application security through proper design and testing practices.
- Deploy and manage applications on web/application servers.
- Utilize Maven for project build management and ensure continuous integration using tools like TeamCity.
- Write unit tests using JUnit to ensure code reliability and maintainability.
- Collaborate with team members to perform database modeling and optimize database performance.
- Work with Docker for containerization of applications.
- Contribute to the adoption of best practices and innovative technologies within the team.
- Minimum of 6 years of experience in Java development.
- Proficiency in Object-Oriented analysis and design using common design patterns.
- Strong technical problem-solving and debugging skills.
- Solid understanding of Java 8 API.
- Knowledge of Java EE, including multithreading concepts.
- Experience designing, implementing, and testing REST APIs and web application security.
- Hands-on experience with major web/application servers such as WebSphere, WildFly/JBossAS.
- Proficiency with build management tools like Maven and continuous integration tools like TeamCity.
- Experience with database modeling and hands-on experience with Oracle and/or Microsoft SQL Server.
- Familiarity with Docker for containerization.
nice to have
- Experience with Pair Programming, Test-Driven Development (TDD), or Behavior-Driven Development (BDD).
- Familiarity with data grid frameworks such as Ignite, Coherence, or Hazelcast.
- Proficiency in mocking frameworks like Mockito and database testing frameworks like DBUnit.
- Knowledge of cloud platforms, particularly Microsoft Azure.
- Understanding of static and dynamic code analysis using tools like SonarQube or similar.