Role Description:
An Intermediate Java Software Engineer acts as responsible with proposing suitable technical solutions according with the project’s requirements and the best practices.
The role also includes development, design, and implementation of new or modified software products or ongoing business projects. Engages in mentoring activities with other team members and collaborates with other team managers.
Design and implement the technical solutions together with other experienced colleagues. Gradually expand your knowledge about the software development application lifecycle, code quality, performance and trends in the field.
Responsibilities
Technical
- Develop, design, and implement new or modified software products or ongoing business projects
- Identify properly the components of the application and infrastructure in the domain
- Complete the assigned task within the agreed estimation
- Deliver a high-quality code ensuring the fulfilment of the requirements, taking into consideration also its performance
- Evaluate, assess, and recommend robust software solutions for assigned tasks
- Identify areas of improvement in existing programs and subsequent refactoring
- Continue to learn and refine your skills as software engineer, while having the support of your senior colleagues
Collaboration
- Work closely with other Software Engineers, Product Owners, team managers and clients
- Mentor colleagues that would benefit from your knowledge
- Respect the agreements set up together with the team and clients
- Communicate periodically the progress of work and provide status updates
Job Requirements
- 3+ years of experience in software development
- Good knowledge of Java 8 and the associated patterns (e.g. SOLID principles, Design Patterns)
- Good knowledge of frameworks and adjacent technologies used in projects (e.g. Spring)
- Experience working with databases and web services
- Good troubleshooting and problem-solving skills (debugging, source control)
- Effective communication skills for team and client interaction
- Ability to adjust your strategies and ways of working in accordance with specific contexts
- Team player, being able to collaborate with colleagues and participate in feedback discussions
- German communication skills would be considered a plus