Java Software Architect

  • ELCA
  • Lausanne, VD, Switzerland
  • 24/09/2021
Full time Data Science Data Analytics Big Data Data Management Statistics Software Engineering

Job Description

In this role

  • You will work with business and software engineering teams to build Java applications from the ground up.
  • You will guide teams on the end-to-end project lifecycle, covering the initial conception, business requirements, software architecture, technical lead, coaching, and flawless delivery
  • You will ensure compliance of development with architecture patterns and ensure quality of design and code through systematic design reviews and code inspections.
  • You will provide technological and architectural support to the development team, give technical recommendations, advise on their execution, setup tools/framework to improve efficiency.
  • You will lead the CI/CD activities to ensure proper deployment of the solution through all our environments as well as the software delivery to our customers.
  • You will review business specification and work in tight collaboration with business analysts to provide them efficient technical solution ensuring the global coherence of the product.
  • You will investigate and diagnose deployment and performance issues related to micro-services architecture on a container platform.
  • You will support pre-sales on tender responses, proof-of-concept work and the design of innovative solutions, with an emphasis on scalability, modularity, flexibility, and performance
  • You will run group-wide thought leadership initiatives to advance our architectural practice and sustain our technical excellence

What we offer

  • A pleasant working environment in an experienced, motivated and uncomplicated team
  • Exciting and innovative projects using the latest technologies and business models.
  • Flat organizational hierarchies and cross-functional teamwork
  • A supportive culture with excellent opportunities for professional and personal training and development

About your profile

  • Master degree in Computer Science / Software Engineering
  • 6+ years of experience in designing and implementing large-scale JAVA applications
  • 4+ years of experience in coaching development teams and supporting business analysts
  • 4+ years of experience in collaboration and development with offshore centers
  • Good communication skills
  • Strong hands-on experience with frameworks such as Spring / Spring Boot, JPA / Hibernate and build tools such as Maven
  • Solid knowledge of integration patterns and best practices such as synchronous vs. asynchronous communications, RESTful APIs, GRPC framework, messaging, publish-subscribe
  • Deep understanding of multi-tier architectures and microservices (load balancers, caching, web servers, application servers, networking, databases, content delivery networks)
  • Good knowledge of domain modeling and domain-driven design
  • Hands-on experience with containers and orchestration platforms such as Docker, Kubernetes or OpenShift
  • Strong knowledge of best practices and tooling for CI/CD pipelines, DevOps, agile methods, automated testing, code quality, such as Jenkins, Jira, JUnit, Fitness, Ranorex, Selenium, SonarQube
  • Experience in monitoring, troubleshooting and profiling containers platform systems.
  • Experience with front-end JavaFX frameworks, front-end frameworks such as React, Angular, Vue.js is a plus
  • Experience with some cloud services such as AWS is a plus
  • A passion for clean code and pragmatic, elegant design
  • Enthusiasm, creativity, flexibility, team spirit, and general awesomeness in software engineering
  • Fluent in French and in English