As part of the Datalake team, the Data Architect (Java) designs, develops and implements new or existing complex and scalable applications, tools to fulfill business partners objectives. The Datalake team aims to centralize all Ubisoft raw data in near Real-time or Batch, and make that data available for various uses including Data warehousing, analysis by Data Scientists and Data Exploration.
His role is to ensure the testing and maintenance of the applications, actively participate in the requirements, architecture and design specifications. He also determines relevance and potential value of new technologies to support business operations and strategy to create best practices and knowledge sharing.
The main and routine tasks of this position are to:
- Analyze the data sources and perform data exploration;
- Develop and maintain real-time and batch data ingestion pipeline.
- Shares acquired skills with team members through formal and informal channels;
- Proposes ideas of improvement of the applications, procedures and technologies used;
- Ensures reporting to his/her manager and communicates and escalades warnings;
- Maintains excellent knowledge on the domain activity;
- Design, code and test technical solutions while seeking optimal performance and structuring that answer best clients’ needs;
- Support the good working of developed applications in all environments through interaction with Ops teams and/or set up of continuous integration and deployment tools;
- Adheres to the standards and best practices in department and company;
- Understands technical and functional design requirements, proposes alternative options to improve applications or reduce effort or reduce technical debt;
- Identifies and troubleshoots system deficiencies and recommends solutions;
- Increases applications operating efficiency on a regular basis;
- Establishes responsible deadlines and personal work plans and manages time effectively;
- Execute assigned tasks and communicate status to Scrum Master showing progress against milestones, status, issues, risks and dependencies;
- Creates technical documentation, is quality driven in term of deliverables;
- Effectively communicates relevant project/team related information to superiors;
- Informs team members about the decisions that can have an impact upon their projects;
- Actively contributes to corporate knowledge base;
- Suggests system improvements and offers alternative solutions to the different problems that may appear;
- Carry out all other related tasks.
Bachelor’s degree in Computer Science or any other related field.
Minimum 7-10 year’s experience in Developer and/or Architecture within a professional IT environment.
- Strong understanding of object-oriented programming (adheres to a solid and reusable object oriented design);
- Excellent Knowledge and experience of programming Java and/or Scala within a Linux environment;
- Excellent Knowledge of Java framework (ex; Spring, Hibernate etc.);
- Git or TFS source control usage;
- Knowledge or interest on Big data technologies (HDFS, Hive, Impala, Kafka, Spark etc.) is an asset;
- Understanding of web services & APIs (REST, SOAP).
- Fluent in English (French is an asset);
- Strong analytical skills;
- Excellent communication and organization skills;
- Responsible and accountable for his/her actions;
- Problem solving and questioning skills;
- Persevering, autonomous, takes initiative;
- Capacity to multitask and perform on strict deadlines;
- Quality, services and result oriented;
- Easily adaptable to changes and proposals;
- Good team player, able to accept constructive criticism and give feedback, facilitates effective team interaction;
- Creative & innovative.