Senior Java Developer
Summary
Senior Java Developer builds, tests, and refactors a high-scale web app using Java, Spring, Hibernate, and React, while driving Agile processes and clean-code practices in Krakow.
Project description
Team: Highly open minded, progressive and professional team. Technologies: Highly scalable and flexible web application based on state-of-the-art technologies like Java, JSF, JUnit, Mockito, PowerMock, JBehave, Grails, Spring, Hibernate, Sybase, Maven, TeamCity, GitHub, Liquibase, AppDynamics, JMeter, Sublime, React, Cucumber. Process: Agile process implemented, including artifacts as product backlog refinement, sprints, product backlogs, retros, velocity, and getting feedback from end users. Quality is everything. UI/ UX developer and TDD/ BDD approaches with extended OOP/ clean practices on the board. Business trips: occasional business trips to London where key end users and main stakeholders are located in mostly on project requirements and architecture. Infra: Superb infrastructure for development and communications. On-going learning: Regular business trainings from real market operators from NY and London. Innovation: open forum with top-down and bottom-up ideas for technical and organizational improvements. Moreover towards Release When Ready, Release on Demand, Molecular Platform with Kafka, Flink, ElasticSearch, Docker for AI and Azure cloud adoption.
Responsibilities
- Development
- Refactoring
- Unit and Integration testing
- Estimations
- Investigations
- Research
- New initiatives/ ideas
- Active participation in distributed agile process.
SKILLS
Must have
- At least 8 years of practical experience in writing readable code and commercial software design
- Experience in Java 8
- Experience in using clean code principles, design patterns, system architecture
- IntelliJ
- Unit testing (assertj or hamcrest, mockito)
- OOP & OOD
Nice to have
• Experience in TDD • Integration testing • UNIX • SQL • Maven • Spring (boot) • Spring integration • JMS • ReactJS • Teamcity • JPA • Hibernate • Microservices Design Patterns • Experience with distributed systems