
Senior Java Software Developer
FreeBalance7 months ago
Kraków, PolandSenior
Responsibilities
- Design, develop, maintain, and optimize secure, scalable, high-performing back-end software solutions using Java, Spring, and Hibernate.
- Participate in software lifecycle activities including analysis, requirements, detailed design, architecture, coding, integration, and performance optimization.
- Design and implement APIs, web services, database integrations, and robust API contracts with front-end developers.
- Contribute to architecture decisions, coding standards, application specifications, technical planning, and product modernization.
- Mentor and coach software developers, conduct code reviews, provide technical guidance, and promote knowledge sharing.
- Collaborate with Functional Analysts, QA, front-end developers, project managers, stakeholders, and customers to deliver product enhancements on schedule.
- Champion automated testing, quality assurance, performance profiling, maintainability, and continuous engineering improvement.
- Prepare technical documents, user guides, training materials, and customer-related deliverables.
Requirements
- University degree in Computer Science, Software Engineering, or a related computing technology discipline.
- Minimum 10+ years of progressive experience designing and developing Java applications for enterprise-scale web environments.
- Advanced expertise in Java/J2EE, Spring Framework, Spring Boot, Spring Core, Spring Data, Spring Security, and Hibernate ORM.
- Experience with relational databases, transaction management, query optimization, application integration patterns, and web service architectures.
- Strong understanding of SOLID principles, enterprise design patterns, and layered, hexagonal, and Domain-Driven Design architectures.
- Proficiency with Git, branching workflows, Maven, and Gradle.
- Experience with automated unit and integration testing using JUnit and Mockito, debugging, and back-end performance profiling.
- Familiarity with Jenkins-based pipelines, containerization, and modern software delivery practices.
- Experience mentoring software developers or providing informal technical guidance on engineering teams.
- Proven experience designing and developing complex, scalable web-based applications.
- Preferred experience in public-sector or government systems, ERP, GRP, IFMIS, or large-scale financial business applications.
- Preferred experience with microservices architectures, cloud-native application environments, Docker, Kubernetes, core product modernization, and relevant AI tools and technologies.
- Strong collaboration, communication, analytical, problem-solving, organizational, and prioritization skills, including excellent written and verbal English.