Scope

Starting from product requirements or product specification input from the Product Management department, the Product Development team builds the technical design of the product and elaborates the architecture of the solution. It ensures the robustness, reliability, scalability, testability of all building blocks. The Software Engineer develops software modules and interfaces (API). Taking advantage of his/her experience, he/she participates in the different steps of the development process: analysis, technical specification, design, development, unit testing, technical documentation, and maintenance. The Software Engineer is able to work closely with peers in a fast-paced dynamic environment.

Job description

  • Analyze and review product requirements, and discuss the technical feasibility
  • Build technical design proposals
  • Develop new software components or modify existing ones
  • Participate in peer code reviews
  • Plan, define and perform unit testing
  • Create or maintain technical documentation
  • Integrate individual software components developed by yourself and other members of the development team
  • Solve defects reported in the defect tracking system
  • Maintain existing applications
  • Identify risks and discuss them with the Quality Control department for building adequate test plans
  • Make work estimates for the tasks assigned to you
  • Plan, track and report your daily work and your assigned tasks to your direct manager
  • Follow the EVS software development process (Source Control Management, Defect Tracking, Coding Rules, Continuous Integration)
  • Identify and propose process improvements
  • Coach and guide junior team members

Profile

  • Engineer, Bachelor’s or Master’s degree in Engineering or Computer Science (high school or university)
  • Knowledge or experience in Object-Oriented Design and Programming
  • Deep knowledge in .NET and especially .NET Core (DependencyInjection, REST API, async/await, Linq, C# 9, EF Core, …)
  • Solid understanding of microservices architecture and distributed, cloud-native systems
  • Strong refactoring and object-oriented design skills and knowledge of how they relate to software design patterns
  • Thorough understanding of the full software life cycle, including requirements, design, development, testing, and maintenance.
The following technical experiences are not mandatory, and will be considered as an asset:
  • Containerized .NET Core solutions and related deployment
  • Containers / Docker, Kubernetes, and container strategies on-premise or in the cloud
  • Experience in Agile Application Development & Scrum methodologies
  • Client-side solution development with a thorough knowledge of JavaScript, Typescript and React

Soft skills

  • Achieves high-quality results through thoughtful analysis and planning; target driven and result oriented
  • Excellent analytical skills, strong object-oriented design skills
  • Focus on quality, detail-minded, willing to take care of customer point of view
  • A critical but constructive mindset focused on delivery constraints and pragmatism
  • Open for changes and continuous learning
  • Capable of executing tasks autonomously, of planning and communicating planning and progress, of getting help where needed
  • Shows initiative, is curious and communicates well about initiatives
  • Good written and verbal communication skills share information actively; response properly, reports on time; accept criticism and other opinions, addresses criticism constructively
  • Excellent team player
  • High-stress resistance; does not give up in crisis situation; does not lose control under pressure
Languages
  • Fluent in French
  • Working knowledge in English
Offer
 
You will benefit from working in a friendly, lively environment having ambitious commercial objectives. Our dynamic and young team brings the best out of motivated potentials. In addition, you will receive a competitive salary and a range of other employee benefits.
Apply for this job