Data Architect (Scala/Java)
- 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.
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
- 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
- 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
- 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
- Actively contributes to corporate knowledge base;
- Carry out all other related tasks.
Bachelor’s degree in Computer Science or any other related field.
Minimum 5 years experience in Developer and/or Architecture within a professional IT environment.
- Excellent knowledge and experience of programming Scala / Java within a Linux
- Excellent knowledge on source control tools and continuous integration such as Git
- 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;
- Experience with deploying, hosting and application in cloud (AWS)
- 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.