Ubisoft Data Architect (Scala/Java) in Montreal, Canada

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.

Responsibilities:

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;

  • 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 process errors 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;

  • Carry out all other related tasks.

Training:

Bachelor’s degree in Computer Science or any other related field.

Relevant Experience:

Minimum 7 years experience in Developer and/or Architecture within a professional IT environment.

Knowledge:

  • Excellent knowledge and experience of programming Scala / Java within a Linux

environment;

  • Excellent knowledge on source control tools and continuous integration such as Git

and Bamboo;

  • Knowledge on Big data technologies (Spark / Spark Streaming, HDFS, Kafka, Hive,

Airflow, MR, etc.);

  • Understanding of web services & APIs (REST, SOAP).

  • Bilingualism is an asset;

Skills

  • 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.