Java Developer (Regular/Senior)
Ogłoszenie wygasło. Aplikowanie wyłączone.
Regular
Java
- Kraków
Nie
---
---
---
Background
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.
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.
What we do and we would like you to do
We like Agile at Ocado and we are pretty good at it. We also believe that Agile is a bit
more than backlog in Jira and daily standups, so we expect our developers to constantly
observe, fine tune and adapt the development process to current needs. The process may
change because of many factors. These could be: the nature or phase of the project, the
maturity of the team, or the technologies used etc. Every project/team member should be
able to spot the changes, suggest improvements and evaluate them after they have been
applied.
We write software to solve the business problems of our customers. Usually, the problems
are very complex and involve many projects and systems to deliver the solution. It is
crucial to be able to share the knowledge and cross-team vision, to propose solutions that
span across multiple systems and the whole organisation. It is very important to be able to
explain technical aspects (pros and cons, work estimates, technical debt) to a less
technical audience like Product Owners, UX Team, business representatives.
We believe that if we do not make mistakes, it means we are not moving fast enough. But
to move fast, you have to eliminate all unnecessary risks. To achieve that, we do the
following:
● try our best to deliver systems, APIs and data, that are easy to use, understand
and maintain
● 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 (this is done by using commercial tools like New Relic, custom solutions or
simply by proper logging and clever scripts)
● always have a Plan B when things go wrong (use stability patterns and deployment
strategies that allow things to get back to a safe state in a matter of seconds) and
act immediately to put them right again
● constantly look for improvements and learn from our mistakes
Desired skills & competencies
ESSENTIAL
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
DESIRABLE
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.
BENEFITS
Multisport card
Life insurance and medical care (also for your family)
Training Budget
Employee stock options
Modern, well equipped office located in a center of Cracow (High5ive)
Team budget
Lunching options, fresh fruit
Meetups, tech talks
Foosball table, table tennis, board games
Family and social events
Possibility of international travels