Software Engineer  (WMS Business Processes)(SCALA)

at Ocado Group

Wroclaw, Lower Silesia, Poland

Job Purpose 

The main purpose of this role is to work on designated software development projects, with an emphasis on writing robust, effective code, and developing, maintaining, deploying and supporting high-quality software systems. To take an active role in supporting business needs and meeting organisational objectives, as part of the Ocado Technology team.

Roles & Responsibilities 

Your main responsibility is to participate effectively in all stages of systems development life cycle including:

  • Requirements analysis
  • Software and data design
  • Software construction (coding)
  • Deployment of production ready code
  • Maintenance and support of existing systems
  • Investigation and resolution of production issues
  • Performance tuning
  • Code review and change control
  • Ad hoc reporting and analysis
  • Research, development & optimisation

You are also responsible for:

  • constantly improving the standards of software craftsmanship by following modern trends in IT, frameworks, tools and techniques, attending conferences, mentoring others, performing code reviews or doing pair programming
  • making sure that our software is testable and properly tested (preferably in an automated way)
  • designing and implementing software and underlying architecture so that it can be tested, deployed and scaled on its own
  • gathering data to verify our assumptions, in production, providing immediate feedback to all stakeholders
  • implementing monitoring and alerting, so that we know immediately when things go wrong
  • constantly looking for improvements and learning from our mistakes
  • working closely with team leaders to set the technical direction within the team and to ensure software developed is of a consistently high standard, cohesive and meets business objectives
  • assisting all team leaders to ensure projects are accurately estimated and delivered to schedule
  • working closely with Team Leader on issues related to requirements and design
  • mentoring colleagues and taking an active role in their development 

You may be asked to perform tasks as required by management deemed as a reasonable request. This job description is a summary of the typical functions of the role, not an exhaustive or comprehensive list of possible role responsibilities, tasks and duties and is subject to review. The responsibilities, tasks and duties of the jobholder might differ from those outlined in the job description and other duties, as assigned, might form part of the job.

Knowledge, Skills and Experience

ESSENTIAL

  • Technical degree or professional experience in software engineering
  • Demonstrable Scala programming ability with in-depth understanding of underpinning techniques
  • Knowledge or willingness to learn functional programming
  • Experience in the full Software Development life-cycle from design to deployment
  • Understanding of relational databases

DESIRABLE

  • Practical knowledge of functional programming
  • Experience working with libraries from the Typelevel and Akka ecosystems
  • Knowledge of Agile methodologies
  • Proven ability of tackling challenging projects
  • Knowledge of the Java programming language
  • Experience and/or willingness to work with libraries like cats, tapir, akka-http, doobie/slick, tagless final

REQUIRED COMPETENCIES

  • Technical Excellence : demonstrates intellectual rigour, possesses relevant abilities & is able to pick up new skills quickly
  • Innovation & Problem Solving: able to solve complex problems, participates in continuous improvement, adapts the ideas of others
  • Productivity, Drive & Achievement: proactive approach, gets things done, demonstrates accountability & ownership, prioritising own workload
  • Business awareness: ability to apply learned skills, willingness to step beyond immediate area/role
  • Adaptability: flexible, positive & focused during times of change, ownership mindset
  • Communication & Impact: strong verbal and written communication in English. Robust interaction with internal/external clients
  • Teamwork: works well with others & actively contributes towards team objectives. Shares their knowledge and looks for advice in times of doubt

Benefits 

  • Permanent Contract
  • Multi Sport Card
  • Medical Insurance
  • Life assurance
  • Lunch Card
  • Training and Development opportunities

 

Apply for this Job

* Required