Job Purpose :
The Senior Backend Software Engineer is part of a professional team developing critical business applications for the fund and banking industry. He / she uses current technologies, frameworks and tools in the field, as well as modern paradigms and architecture designs, such as microservices, containers, etc. He / she covers the full software development lifecycle including operations and maintenance and applies proven best practices to develop complex backend functionalities with high quality standards. In addition to new application development, the migration of existing software applications to distributed architectures is a key responsibility. The role requires an agile mindset and DevOps mentality, as well as autonomous coordination on requirements and issues with product management and support.
Main tasks of the position :
- Implementation of change requests and maintenance of a multi-tier Java application
- Developing business processes, complex business logic, and algorithms for the financial / fund industry as part of a software development team
- Performing software analysis, programming, testing, and debugging
- Creating well-defined, efficient and well-testable code
- Creation of unit / integration tests
- Documentation of designs, algorithms, APIs and processes
- Performance analysis and improvement of existing processes on database and Java code level
- Automation of processes through further development of CI / CD pipelines
- Execution of code reviews
- Active participation in architecture and design discussions and optimization as well as stabilization of existing services
- Assuming the role of "lead developer", making technology decisions, solving complex problems and thinking outside the "box".
- Evaluate new technologies, create prototypes, and assess existing software systems
- Assist our project managers / product owners with effort estimates and act as a point of contact for technical questions
- Coaching and guiding less experienced colleagues in general and in their own projects
Side tasks of the position :
Participation in the implementation of division and company-wide initiatives for the strategic further development of processes, products and technologiesFormal Education :
Degree in (business) informatics or a comparable, successfully completed technical education, alternatively corresponding professional experienceAt least 7-10 years of professional experience at a software company or in a comparable positionSuccessful supervision of software development projects as a senior / lead developer and significant contribution to the success of the teamQualifications / Skills / Personality Traits :
Work experience
Experience in software development of multi-tier applications and complex backend workflows using Java 11 and aboveExperience in the development of REST APIsSolid knowledge of frameworks such as Spring, Hibernate (JPA)Knowledge of SQL and DML, PostgreSQL preferredExperience with development tools like git, SonarQube, Jenkins, IntelliJ or EclipseBasic functional knowledge of the financial industryUp-to-date knowledge of topics and trends in the field of software engineering and its constant expansionGood knowledge of software engineering methods (UML, OOA, OOD, data modeling, etc.) and design patternsSound practical knowledge of current container technologies such as Docker, Kubernetes, OpenShift or RancherKnow and understand security challenges in the context of distributed software architectures, and identify and apply the right solution strategiesProfessional expertise and other knowledge :
Very good oral and written English skillsPersonality traits
High quality awareness, open and goal-oriented communication and the ability to quickly familiarize yourself with new topicsFun in software development and willingness to develop further, flexibility and team spiritDevOps mentality and open to collaboration within and across teams, including tasks / tools beyond programming such as deployment, automation and operations.