Position: Java Engineer
Company: NerdySoft
Category: Java
Experience required: 2y
English level: intermediate

** Requirements:** 
● 3+ years of software development in commercial projects
● Strong Java skills
● Knowledge of Java development technologies, libraries and frameworks (Spring, Hibernate, etc.)
● Understanding of relational databases design, experience with MySQL
● Good understanding of OOD/OOA principles
● Knowledge of design patterns, experience in system architecture development
● Strong understanding of unit testing as part of the software development cycle, following Test-Driven development
● Experience in a variety of software development approaches including Agile
● English level — intermediate

** Nice to have:** 
● Experience in software development for financial businesses
● Experience in development of distributed software systems with strong performance and reliability requirements
● Experience with AWS

** Responsibilities:** 
● Active participation in product development
● New features development and implementing AWS, Amazon Aurora, Java 13, Spring, Hibernate, GitHub, Jenkins
● Writing reusable, testable and efficient code
● Performing code reviews
● Third-party integrations (payment providers)
● Take responsibility for back-end development and successful delivery
● Be ready to become a mentor to the juniors colleagues
● Participation in daily meetings
● Demo presentation (back-end) to the client

** We offer:** 
● Paid vacations (18 working days) and all national holidays
● Regular salary review based on employee performance
● Working hours are flexible as long as you get the work done
● Parking place
● 50% compensation of certifications, conferences, training courses and other working events
● Paid sick leaves
● Regular corporate events