At Ocado Technology, we craft products tailored to meet the unique needs of our partners worldwide. From e-commerce software and automated warehouse solutions to robotics and optimized delivery, we're reshaping the online grocery space and beyond through innovation.
In Poland, we are a local team of technologists with a global scale. In the hearts of Wrocław and Kraków, we have gathered over 700 tech wizards - and let them do their magic.
ROLE
We’re looking for an experienced Android Software Engineer to join our company. In this role, you will work on a range of software development projects, with a focus on writing robust, efficient code and developing, maintaining, deploying, and supporting high-quality software systems. You will play an active part in meeting business needs and supporting organisational goals as a member of the Ocado Technology team.
Key Responsibilities:
-
Development of the mobile Android application (mostly new features).
- Writing and maintaining automated tests suites.
-
Work collaboratively inside and outside the team to achieve business objectives.
DEPARTMENT
Ecommerce is about building shopping experiences for our retail partners’ customers, providing the tools to enable personalised omni-channel experiences. Our smart technology enables the most optimised and profitable checkout experience with low abandonment and effective order processing.
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, and optimisation.
You are also responsible for:
- Constantly improving 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.
- Making sure that our software is testable and properly tested, preferably in an automated way.
- Designing and implementing software and the underlying architecture so that they can be tested, deployed, and scaled independently.
- Gathering data to verify our assumptions in production and providing immediate feedback to all stakeholders.
- Implementing monitoring and alerting to ensure immediate awareness when issues arise.
- Constantly looking for improvements and learning from our mistakes.
- Working closely Engineering Managers to set the technical direction within the team and to ensure the software developed is of consistently high quality, cohesive, and meets business objectives.
- Assisting all team leaders to ensure projects are accurately estimated and delivered on schedule.
- Collaborating closely with the Engineering Manager on issues related to requirements and design.
- Mentoring colleagues and actively participating in their development.