JAVA Developer on Fees & Ops Applications
Summary
Java engineer at private bank UBP in Geneva who takes ownership of the Tariffication (fees/pricing) application from a retiring developer. Day-to-day: build backend services with Java/Spring, REST/SOAP APIs, Oracle/SQL Server databases, YAML CI/CD, plus production support and knowledge documentation.
Mission
- Take ownership of the Tariffication application and lead a structured knowledge-transfer process with the retiring Java developer.
- Design, implement, and operate backend services and APIs using Java 17/11/8, Spring 4/5, and Spring Boot 2.x/3.x.
- Build and maintain REST and SOAP APIs; manage HTTP layers and API specifications using OpenAPI/Swagger.
- Develop supporting front-end and administrative consoles in Vue.js or Angular where relevant to platform operations.
- Integrate with Oracle and Microsoft SQL Server using JPA/Hibernate; contribute SQL and PL/SQL and manage schema changes through Liquibase.
- Implement and maintain YAML-based CI/CD pipelines with Maven and Git, including quality gates and automated testing.
- Apply secure authentication and authorization patterns, including Kerberos and OAuth2/OIDC, and follow AppSec best practices such as OWASP guidance, input validation, and secure secrets handling.
- Contribute to test strategy and automation using JUnit 5, Mockito, Cucumber for BDD/ATDD, and Jest for front-end unit tests.
- Support production operations by troubleshooting incidents, analyzing performance, and driving reliability improvements.
- Document APIs, architecture decisions, runbooks, operational procedures, and application knowledge; track work in JIRA.
- Collaborate with application, platform, QA, security, and business stakeholders to align software architecture with business goals and platform standards.
Key Responsibilities During Knowledge Transfer
- Build a clear understanding of the Tariffication application's business rules, pricing and fee logic, integrations, data model, deployment model, and operational dependencies.
- Capture undocumented knowledge, known limitations, recurring incidents, support procedures, and critical troubleshooting steps.
- Review existing source code, architecture documentation, database objects, CI/CD pipelines, monitoring, and release processes.
- Establish and maintain practical runbooks for incident response, deployment, rollback, batch or interface failures, and common production issues.
- Identify technical debt, operational risks, security gaps, and opportunities to improve maintainability and resilience.
- Become a dependable point of contact for the Account & Fees team and related support teams after the transition.
Key Qualifications
- 7–15 years of professional software engineering experience, with a proven track record supporting production systems.
- Strong backend development experience with Java 8 or later; Java 17 or the latest LTS is the target for all applications.
- Hands-on experience with Spring 4/5 and Spring Boot 2.x/3.x.
- Experience designing and maintaining REST and SOAP APIs, HTTP layers, and OpenAPI specifications.
- Exposure to Vue.js or Angular for operational and administrative user interfaces.
- Experience with Oracle and Microsoft SQL Server, including JPA/Hibernate, SQL, database performance fundamentals, Liquibase, and beginner-level PL/SQL.
- Practical CI/CD and DevOps experience with Git, Maven, YAML-based pipelines, and test automation integration.
- Knowledge of Kerberos and OAuth2/OIDC, together with secure coding and AppSec practices covering SQL injection, XSS, RCE, input validation, and secrets management.
- Experience with JUnit 5, Mockito, and Cucumber for BDD/ATDD; Jest experience for front-end unit testing.
- Ability to understand software architecture and document it clearly.
- Fluent English; French is useful.
- Organized, reliable in production support, and able to communicate clearly across teams.
Nice to Have
- Experience with rule engines or BPMN tools, such as Drools; beginner level is acceptable.
- Node.js experience for tooling or auxiliary services.
- End-to-end testing experience with Cypress, Protractor, Selenium WebDriver, or Playwright.
- API or load-testing experience with JMeter; availability of the tool may vary by environment.
- Familiarity with vulnerability scanning tools such as Checkmarx or Fortify.
- Strong sensitivity to code quality, Sonar rules, Clean Code, and OWASP guidelines.
- Experience working in regulated environments, preferably banking or financial services.
Mindset & Soft Skills
- Ownership mentality and practical problem-solving under production constraints.
- Clear communication and effective collaboration with developers, QA, security, platform, and business stakeholders.
- Attention to detail in security, documentation, operational readiness, and code quality.
- Pragmatic approach to process, with comfort operating in an environment that may not have full agile maturity.
- Curiosity and willingness to learn the business domain and preserve critical application knowledge.
Technology Environment
Languages: Java 17/11/8; Node.js optional
Frameworks: Spring 4/5; Spring Boot 2.x/3.x
Frontend: Vue.js; Angular; Jest
Databases: Oracle; Microsoft SQL Server; JPA/Hibernate; SQL; beginner-level PL/SQL; Liquibase
APIs & Security: REST; SOAP; HTTP; OpenAPI/Swagger; Kerberos; OAuth2/OIDC
DevOps & Quality: Git; Maven; YAML-based CI/CD; automated testing; Sonar; Clean Code
Tools & Process: JIRA; BDD/ATDD with Cucumber
AI: Internal framework accessible from the development platform
What we offer
- The opportunity to build and operate production services with real impact in a leading bank.
- A role at the intersection of software engineering, business-critical fee and tariff processing, and production reliability.
- Collaboration with experienced application, platform, QA, and security engineers.
- Professional development and training support.
- Pragmatic work practices focused on delivery, knowledge continuity, and reliability.
Location & Eligibility
Swiss residency close to Geneva is mandatory for this role.
Success in the Role
Success will mean that the Tariffication application remains stable and well-supported, critical knowledge is documented and shared, production incidents are handled effectively, and the platform continues to evolve in line with business, security, and architectural standards.
Skills
- Agile
- AI
- Angular
- API
- Authentication
- Automation
- BDD
- BPMN
- CI/CD
- Cucumber
- Cypress
- DevOps
- Git
- Hibernate
- Java
- Jest
- Jira
- JMeter
- JPA
- JUnit
- Maven
- Mockito
- Node.js
- OAuth
- OpenAPI
- OpenID
- Oracle
- OWASP
- Playwright
- PL/SQL
- Secrets Management
- Secure Coding
- Selenium
- SOAP
- Spring
- SQL
- SQL Server
- Swagger
- Test Automation
- Unit Testing
- Vue
- Vulnerability Scanning
- YAML