Senior Java Developer / Platform Engineer
Senior Java Developer / Platform Engineer
As a Senior Java Developer / Platform Engineer on the data team you will help design and develop data oriented services based around a broad set of data platforms that span a semantic web data platform that drives editorial processes, big data analytics exposed as microservices such as real time recommendations services and various integrations with data providers.
Your initial focus will be leading and evolving the services driving the ecommerce proposition, these are java based microservices deployed on AWS using an RDF graph database, Elasticsearch and various technologies such as Redis that provide the data layers.
Key Job Responsibilities
•Be the technical authority within the team and lead data engineers
•Build shippable software following Engineering standards in place.
•Build and maintain key Engineering blocks that other teams can rely upon (such as APIs and Big Data implementations).
•Work on ad-hoc R&D projects.
•Ensure the deliveries are on time and of the required quality.
•Follow the Agile methodologies implemented in the Engineering team.
•Help to design and build solid, efficient, stable APIs.
•Help to maintain the high standard of the code by following TDD and BDD.
•Keep up to date with the latest technologies and methodologies to ensure they stay ahead of the game.
•Ensure a globally robust and highly scalable approach to development to support our growing number of global users and services.
•Passionate about the craft of software development and the delivery of quality digital product. Is able to enthuse others aligning them to adopt and embrace the same characteristics.
•Has direct experience of software delivery within a high web traffic/high volume transactional online / digital / media environment
•Experience with software design concepts, practices, modern development methodologies, particularly agile, CI/CD and common architectures
•Demonstrable experience in fast-paced development delivery - that balances frequency and very high quality product
•Capable of starting/building things/processes from scratch and seeing them through.
•Excellent communication skills (oral and written) to both a technical and non-technical audience
•Extensive knowledge / experience of core Java (4-5 years) design and development.
•Strong understanding of Agile practices (TDD, Pair Programming, Continuous Integration...)
•Working knowledge of SOA/microservices (ESB, REST, SOAP, messaging) is desirable
•Experience with API Development build for third parties is desirable
•Experience with API construction using current best practice (defensive coding, Authentication, versioning, documentation) is desirable
•Background in designing and programming on large-scale/distributed systems is desirable
•A strong knowledge of HTML with some front end development experience
•Knowledge of other languages and frameworks - Scala, Ruby,, Node, Apache Camel and Spring Boot are an advantage
•Knowledge of cloud technologies and designing applications for IaaS and PaaS cloud environments such as AWS or Google Compute are an advantage, including serverless or lamba architectures
•Passion for Data
•Any exposure to semantic technologies RDF, OWL, SPARQL, triple stores, text mining and NLP is hugely beneficial
•Any big data experience is highly valued
•Experience of cloud based development, particularly Google and/or Amazon
•Knowledge of machine learning would be valued
•Ability to work independently within the team
Over time you will also be cycled into other initiatives that are based on Google Cloud Services (GCP). These initiatives include the design, development and evolution of services that classify content and users, multiple recommenders optimised for different use cases and various integrations with data consumers and third party APIs.
The team is multi-skilled with team members that specialise in data modelling, analysis, engineering and architecture. This is a senior engineering role using Java, SQL, and semantic web technologies such as SPARQL, although the latter is less common and we are happy to work with someone that is willing to learn these semantic web skills on the job. As the initial focus will be a Java based project, good java skills are critical.
As its working in a data engineering team it requires someone with a strong interest in BigData, semantic data and or related subjects such as machine learning and recommendation systems, and you will also be expected to deliver simpler ETL processing where necessary.
You would also lead on and evolve our development standards, CI and CD platforms, testing practices and where appropriate provide expertise to inform the technical architecture. It is a fantastic opportunity for a talented senior software engineer with a keen interest in data to learn new skills and help redefine the world of news through data.