Java Software Engineer - Scada
Locations: Sofia, Sofia City, Bulgaria
We are Ocado Technology. We are building the software which powers our next generation robotic picking and storage solution. This solution is a core component of our Customer Fulfilment Centres (CFCs) which are offered as part of the Ocado Smart Platform (OSP). OSP is being marketed to retailers globally as a world-class platform for grocery eCommerce.
We are searching for Software Engineers that not only bring our product vision to life but care about the detail and the quality. Key thing we expect from you is that you’re excited about technology, solving problems and learning new things.
Responsibilities you may expect:
- Participate in and improve our end-to-end software development cycle
- Write high quality code using the appropriate technologies and techniques
- Give and receive feedback through code reviews
- Write unit, integration, performance, etc. tests to ensure quality
- Gather data and make data-driven decisions
- Experiment with new ideas to improve our product
- Mentor/coach other members in the team
Scada is an application that visualises and records the status of automated hardware used in Ocado’s warehouses. It’s an event-driven streaming application, which processes events from real-time embedded controllers (PLC’s, robots, and our bots - which run on the storage grids) via a web-based UI. It supports our engineers by helping minimize downtime, and improve the efficiency of our warehouse operations.
Scada forms part of an Engineering Systems suite of applications to ensure our hardware is working reliably, and recovery or maintenance is actioned correctly and in a timely manner.
Our vision is to leverage the use of technology, such as web/mobile apps, augmented reality, in-store GPS, machine learning and intuitive UX, so that engineers can effectively maintain controlled hardware with the minimum of effort.
At the core of our new architecture are modern streaming frameworks like Kafka and Kafka Streams. Our technology stack also includes:
The list of technologies grows and evolves as we adapt to newer challenges.
- Proficient programming skills in Java with an understanding of underpinning techniques
- Knowledge of software engineering from design to support
- Willingness to work across the entire software stack
- Ability to tackle challenging projects
- Demonstrable problem-solving skills
- Desire to learn new programming languages and frameworks
- A passion for software development
Nice to have
- Experience with distributed, scalable and highly available systems
- Experience with Java-based web frameworks
- Experience with streaming frameworks and/or event-driven architectures
- Experience with any of those: Spring, AWS (ECS, DynamoDB, Kinesis, SQS, etc.), React/Angular, PostgreSQL, Kafka/Kafka Streams, Kubernetes, Docker
In return we can offer you:
- Great remuneration package
- 25 days paid leave
- 24/7 Employee Assistance Program
- Life Insurance
- Enhanced Maternity and Paternity Leave policy
- Free Share Plan program
- Share Purchase Plan program
- Work-life balance and work from home practice
- A choice of equipment (MacOS / linux / windows)
- Both in house and external training programs
- Your own training dedicated budget (for conferences, courses etc.)
There’s a lot going on at Ocado Technology! Click to find out more about our values and our recruitment process.
Ocado is an equal opportunities employer and as such makes every effort to ensure that all potential employees are treated fairly and equally, regardless of their sex, sexual orientation, marital status, race, colour, nationality, ethnic or national origin, religion, age, disability or union membership status.