Ocado Technology provides the platform that powers a highly successful, online only, grocery delivery business. Unlike its competitors, Ocado does not pick groceries from store shelves. Instead highly automated fulfilment centers are used as part of a fully integrated e-commerce operation. This operation is powered by a set of state of the art software systems. Ocado Technology responsible for their continued development, ensuring industry leading service and efficiency through cutting edge technology and continuous innovation.
This technology platform is developed in house and the division has a strong emphasis on software engineering. The working environment at Ocado combines informality in areas such as dress and management style with a strong commitment to professionalism and quality.
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 improve the standards of software craftsmanship by following the latest trends in IT, frameworks, tools and techniques, attending conferences, mentoring others, performing code reviews or doing pair programming
- make sure that our software is testable and properly tested (preferably in an automated way)
- design and implement software and underlying architecture so that they can test, deploy and scale on their own
- gather data to verify our assumptions, in the production, provide an immediate feedback to all stakeholders
- implement monitoring and alerting, so that we know immediately when things go wrong
- constantly look for improvements and learn from our mistake
- work closely with team leaders to set 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 take 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.
Typical outcome of your work
- Source code (i.a. systems, supporting tools, scripts)
- Presentations (i.a. describing best practices, how to use supporting tools)
- Various documents:
- design of solutions
- analysis and recommendations that influence software architecture
- technical documentation of tools/systems
Desired skills & competencies
- Technology or similar technical degree
- Demonstrable Java programming ability with in-depth understanding of underpinning techniques
- Experience in the full Software Development life-cycle from design to deployment
- Understanding of databases
- Strong verbal and written communication in English
- Knowledge of SCRUM or other Agile methodologies
- Proven ability of tackling challenging projects
- Masters or other postgraduate qualification in Computer Science, Software Engineering or equivalent.
- 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, prioritises own workload
- Business awareness: ability to apply learned skills, awareness beyond immediate area/role
- Adaptability: working under pressure, flexible, positive & focused during times of change
- Communication & Impact: strong verbal and written communication in English. Robust interaction with internal clients
- Teamwork: works well with others & actively contributes towards team objectives
About Ocado Group
When our journey started, we were all about changing the way people shop for groceries. 20 years later, we’re developing our own ground breaking technology, opening multiple sites at an accelerating rate and engaging in exciting new business partnerships around the world!
Transforming an industry also means transforming the way we do business. As we continually develop new technologies and customer propositions, we’re looking for the Everyday Pioneers to lead us into the next stage of our evolution: enhancing our capabilities, inspiring our teams and developing new ways of working.
Changing the way the world shops, for good.