Job Openings Développeur-euse IoT Cloud sénior-e / Senior IoT Cloud Developer

About the job Développeur-euse IoT Cloud sénior-e / Senior IoT Cloud Developer

FAITES CONNAISSANCE AVEC PBSC

PBSC Solutions Urbaines est le leader mondial dans les solutions de vélopartage et de mobilité urbaine (Familier avec BIXI? C’est notre première installation!). À travers nos technologies et nos 4 modèles de vélos, nous changeons le monde, une ville à la fois et nous en sommes à +95 000 vélos déployés dans +43 villes partout sur la planète, pour un total de 500 millions de trajets.

ONE TEAM

Notre famille grandit et nous sommes à la recherche de gens comme vous qui sont les meilleurs dans leur domaine et qui ont envie de voir concrètement les résultats de leur travail. Les avantages de faire partie de notre One Team passionnée et créative sont nombreux. En voici quelques-uns :

·       Flexibilité pour le télétravail;

·       Formations diverses – Campus PBSC;

·       Assurances collectives;

·       Clinique de santé virtuelle et compte santé;

·       Stationnement inclus et facilité pour les transports en commun;

·       Rabais d’abonnement avec BIXI et accès à notre réseau privé de vélos en libre-service à la station du métro Longueuil;

·       Service de changement des pneus de votre voiture sur place;

·       Zones de détente avec console de jeux, tables de billard, de ping-pong et de babyfoot;

·       Café, chocolat chaud, fruits frais, barres tendres, 5@7 virtuels, cadeaux et tirages;

·       Club de course à pied, douches sur place, diverses activités sociales et plus encore!

 

VOTRE MISSION

Notre directeur, ingénierie logicielle est à la recherche d’un(e) DÉVELOPPEUR-E IOT CLOUD SÉNIOR-E qui veillera au développement de nos systèmes de kiosques et de paiement pour nos services de vélopartage en utilisant la méthodologie Agile avec des sprints. Vous participez également aux choix de conception et d’orientations techniques de la prochaine génération de nos systèmes intégrant divers composants. Vous assurerez une communication efficace entre ces composants, tout en optimisant la mémoire et le CPU.

 

VOTRE QUOTIDIEN

·       Développer l’architecture, coder, tester et documenter les fonctionnalités et nos systèmes avec une grande autonomie; 

·       Assurer la maintenance du système nuagique actuel (analyser la problématique, reproduire la situation, apporter la correction, effectuer les release et envoyer au QA pour validation);

·       Création de services basés sur des événements capturant toutes les activités en provenance des terminaux (5-10K points de contact);

·       Communiquer les changements apportés dans le système aux membres de l’équipe, ainsi qu’aux membres de l’équipe d’assurance qualité et de gestion de projets; 

·       Analyser et trouver des solutions créatives aux problèmes complexes rencontrés qui peuvent avoir des impacts sur différents composants; 

·       Participer à définir la vision ainsi que la feuille de route technique;

·       Rencontrer régulièrement les membres de l’équipe, afin d’optimiser les plateformes embarquées sous tous les aspects : consommation d’énergie et de bande passante, coûts de maintenance opérationnelle, amélioration des processus, etc.;

·       Participer aux réunions de développement et de révision du code; 

·       Rédiger les tests unitaires et fonctionnels pour les fonctionnalités développées ou la refactorisation grâce à notre plateforme de test; 

·       Participer activement aux rencontres Agile, respecter les dates de livraison et être heureux(euse) d’argumenter autour d’un café; 

·       Être en mesure de fournir des estimés réalistes pour le développement de fonctionnalités; 

·       Rester à jour sur les avancées technologiques et les normes de l’industrie, apporter des recommandations d’amélioration et partager ces informations;

·       Offrir votre soutien aux équipes de DevOps et d’opérations dans le déploiement des fonctionnalités et des composants que vous aurez développés, ainsi que de trouver des mesures d’atténuation immédiates, le temps que vous puissiez apporter les correctifs nécessaires le plus rapidement possible;

·       Contribuer à la création des plans de tests et aider à définir les zones qui sont plus critiques dans votre code.

·       Toutes autres tâches connexes ou pertinentes aux activités de ce secteur, selon l’évolution des affaires et/ou l’émergence de nouvelles opportunités.


COMMENT AVOIR DU SUCCÈS DANS CE RÔLE

·       Détenir un Diplôme en Génie logiciel, informatique (Maîtrise, un atout), ou une expérience équivalente;

·       Avoir au moins sept (7) années d’expérience pertinente dans le développement de systèmes complexes, dont au moins une (1) année en systèmes nuagiques (AWS IoT) ou dans un poste similaire;

·       Expérience dans la structuration des données (BI);

·       Avoir participé à la mise en place de services basés sur le stockage de données dans AWS S3;

·       En mesure de traiter les données en provenance des terminaux IoT par le biais de mécanismes de publication et d’abonnement (tel que MQTT);

·       Bonne connaissance dans l’intégration de flux de données (AWS Kinesis, un atout);

·       Expérience avec les langages de programmation Java et Python;

·       Avoir les connaissances appropriées pour travailler avec Git et les stratégies de branching;  

·       Souci de la qualité du code qui doit être efficace, fiable et facile à maintenir;  

·       Capacité de prendre des décisions éclairées et immédiates avec un minimum de répercussion à long terme;

·       Approche stratégique de la résolution de problèmes, dans le but de corriger à la source;

·       Bonne capacité à évaluer le temps de développement et les livrables sont toujours rendus dans les temps avec la qualité attendue;

·       Expérience en développement d'intégration et de déploiement continus (CI/CD) (un atout).


LES INCONTOURNABLES

·       Votre devise est la satisfaction du client, qu’il soit interne ou externe;

·       Être une personne d’équipe qui croit que le succès nécessite l’apport de tous;

·       Excellentes qualités relationnelles et compétences de communication;

·       Leadership dynamique, proactif et innovateur, qui amène les différentes équipes à faire les choses différemment;

·       Cherche constamment à se dépasser, à se développer et à partager;

·       Vous naviguez bien dans les zones grises et les changements;

·       Partager nos valeurs : Passion, Imagination, Innovation et One Team;

·       Avoir une approche CSE - Communiquer, Simplifier, Exécuter;

·       Excellente maîtrise du français et de l’anglais, tant à l’oral qu’à l’écrit.

**************************************************************

GET TO KNOW PBSC

PBSC Urban Solutions is the world leader in bike-share and urban mobility solutions (do you know Montreal’s BIXI? That’s our first system!). Through our technology, we’re changing the world, one city at a time, and we are at +95,000 bikes deployed in +43 cities around the world, for a total of 500 million rides. 

ONE TEAM

We're in growth mode and looking for people like you who are at the top of their game and want to see the results of their work in practice. There are many advantages of being part of our passionate and creative One Team, such as:

·       Remote work flexibility;

·       Various training opportunities – PBSC Campus;

·       Complete insurance;

·       Virtual health care clinic also wellness account;

·       Parking included and easy access to public transit;

·       discounted BIXI membership and access to our private bike-share network at the Longueuil metro station;

·       On-site tire change service for your car;

·       Recreational zones with gaming consoles as well as pool and foosball tables;

·       Coffee, hot chocolate, soft bars, fresh fruits, virtual happy hour, gifts and draws;

·       Running club, showers, social activities and more!

 

YOUR MISSION

As a SENIOR IOT CLOUD DEVELOPER, you will work in the team that oversees the development of the kiosks four our bike-share systems and use Agile methodology with sprints. You will also help design and craft the technical processes for our next-gen products. Your challenge will be to work within a complex ecosystem that requires effective communication amongst these various hardware components while optimizing memory and CPU time.

 

YOUR DAILY LIFE

·       Independently develop the architecture, code, test and document the functionalities of our systems;  

·       Maintain the current cloud system (analyze problems, replicate problematic situations, provide solutions, carry out releases, send to QA for validation)

·       Build event-based services capturing all activities coming from 5-10K endpoints;

·       Communicate system changes to team members also members of the QA and Product Management teams

·       Come up with creative solutions to problems impacting hardware

·       Help define the vision and the technical roadmap;

·       Regularly meet with the team members in order to optimize the embedded platforms: energy and bandwidth consumption, operational maintenance cost, process improvement, etc.;

·       Participate in dev and code-review meetings;

·       Write unit and functional tests for the developed functionalities or refactoring using our test platform;  

·       Participate actively in Agile meetings, respect delivery dates and be happy to argue over coffee  

·       Be able to provide realistic estimates for the development of functionalities;  

·       Stay up to date on technological developments and industry standards, make recommendations for improvements and share the information;

·       Offer your support to the DevOps and Operations teams in the deployment of the functionalities and components you have developed and find immediate mitigation measures, while you can make the necessary corrections as quickly as possible;  

·       Contribute to the creation of test plans and help to define the most critical areas in your code;

·       Any other tasks related or relevant to the activities of this sector, according to the evolution of the business and/or the emergence of new opportunities.

 

HOW TO BE SUCCESSFUL IN THIS POSITION

·       Bachelor’s degree in software or computer engineering, or equivalent experience;

·       Minimum of seven (7) years of relevant experience in complex systems development, including at least one (1) year in cloud systems (AWS IoT) or in a similar position;

·       Experience in data structuring (BI);

·       Experience with building services based on storing data in AWS S3;

·       Able to process data from IOT endpoints via publish and subscribe (such as MQTT) mechanism;

·       Knowledge of how to integrate data streams into a capture system (AWS Kinesis as an asset);

·       Strong experience with Java and Python;

·       Know how to work with Git and branching strategies;  

·       Concern for the quality of the code, which must be efficient, reliable and easy to maintain;  

·       Ability to make informed and immediate decisions with minimal long-term impact;

·       Strategic approach to problem-solving, with the goal of correcting at the source;

·       Capacity to evaluate tasks and meet tight deadlines;

·       Experience in continuous integration and deployment development (CI/CD) (as an asset).

 

THE MUST-HAVES

·       A client-first attitude, whether internal or external;

·       Be a team player who believes that success comes from working together;

·       Excellent interpersonal and communication skills;

·       Constantly seeks to excel, grow and share;

·       You are comfortable to navigate through grey areas also changes

·       Share our values: Passion, Imagination, Performance and One Team;

·       Have a CSE philosophy: Communicate, Simplify, Execute;

·       Excellent oral and written skills in English and French.