Développeur logiciel : Service Serveur (Software Developer : Server Service)

Montréal
Interactif (Interactive)
Full-time
English version below.


En tant que membre de l’équipe interactive, le développeur logiciel participe au développement et au maintien d’outils logiciels visant le bon fonctionnement d’installations multimédia complexes; celles-ci requièrent la communication de plusieurs éléments matériels et logiciels, à travers divers médiums et protocoles. Ceux-ci peuvent être des produits reconnus dans l’industrie ou des solutions développées à l’interne. 

Il peut aussi être appelé à développer des outils spécialisés pour aider à l’intégration de composants dans une installation multimédia. Il est alors responsable de produire une estimation et de livrer les outils selon les requis du projet. Le développeur se déplace ensuite sur le site de l’installation afin de les mettre en oeuvre. 

Le développeur logiciel doit pouvoir produire une documentation expliquant en détail la composition et le fonctionnement des scripts et logiciels développés au sein de l’installation ainsi que former, au besoin, de nouvelles ressources internes si nécessaire. Il doit également avoir un bon sens de l’analyse et du diagnostic afin de dépanner en cas de problème sur l’installation.


FONCTIONS ET RESPONSABILITÉS

1.    Développement logiciel
- Aider avec la fondation d’un tout nouvel environnement ainsi que contribuer aux systèmes actuels;
- Programmer des solutions logicielles spécialisées permettant une intégration de contenus à l’environnement;
- Concevoir des tests unitaires, de régression et d'intégration; 

2.    Recherche et développement
- Utiliser les dernières techniques et les meilleures pratiques de développement logiciel (multimédia, logiciels, intégration);
- Participer aux ateliers de discussion de projet ou de développement de solutions puis fournir des rapports de situation;
- Rechercher et valider l’utilisation de nouveaux procédés et de nouvelles technologies; 

3.    Support et documentation
- Produire de la documentation de conception;
- Élaborer de la documentation concernant l'opération des systèmes (dans le code ou à l’extérieur) pour usage interne ou visant les clients;
- Fournir un soutien technique aux groupes de projets et d'exploitation pour le dépannage des problèmes des clients sur le terrain.


EXIGENCES DU POSTE & QUALITÉS REQUISES

ÉDUCATION/EXPÉRIENCE
- Diplôme Universitaire de 1er cycle en génie ou en informatique ou l’équivalent;
- Expérience de travail de 4 à 7 ans en développement logiciel orienté produit;
- Maîtrise professionnelle du français et de l’anglais, autant à l’oral qu’à l’écrit;
- Connaissances dans plusieurs paradigmes de programmation (orientée objet, fonctionnelle, ‘data flow’);
- Expérience prouvée en développement logiciel de qualité commerciale;
- Expérience avec le cycle de vie complet d’une solution logicielle;
- Expérience de 2 ans minimum en développement d’expérience avec node.JS ou Python;
- Expérience avec les protocoles de communication (TCP/IP, Websocket, HTTP, MQTT, etc); 

QUALIFICATIONS
- Expérience dans un ou plusieurs des domaines suivant est requise:
 Développement logiciel utilisant node.js, C#, Python ou HTML5/Javascript;
 Développement d’applications client/serveur dans des environnements multi-utilisateurs;
 Développement dans un environnement avec intégration continue (CI) et tests automatisés;
- Expérience dans un ou plusieurs des domaines suivant est un atout:Serveur de gestion de médias;
 Déploiement (Docker, services sur site et Cloud)Software-as-a-Service (SaaS);
 Serveurs transactionnels à haut débit (node.js);
 Gestion de données incluant les bases de données relationnelles (Postgres, MySQL) et les données en temps réel;
 Logiciel applicatif (de préférence multimédia - Unity, Unreal, max/MSP, etc);
- Permis de conduire et passeport valide. 

QUALITÉS
- Communique bien et avec respect;
- Motivé à apprendre de nouvelles techniques et à utiliser de nouveaux outils;
- Autodidacte passionné;
- Esprit flexible;
- Capable de bien travailler en équipe et sous pression;
- Possède un bon sens de l’observation et porte une attention particulière aux détails;
- Organisé dans la gestion de sa charge de travail;
- Capable de suivre des instructions, d’accepter les rétroactions et de répondre positivement à la critique. 


CONDITIONS DE TRAVAIL PARTICULIÈRES
- Horaire flexible;
- Déplacements occasionnels. 


Soumettez dès maintenant votre candidature!
Nous communiquerons seulement avec les candidats sélectionnés.

Note : Dans ce texte, l'utilisation du masculin pour désigner des personnes a pour seul but d'alléger le texte et identifie sans discrimination les individus des deux sexes.


///
SOFTWARE DEVELOPER : SERVER SERVICE


As a member of the interactive team, the Software Developer participates in the development and upkeep of software tools to ensure the smooth operation of complex multimedia installations. This requires connecting numerous material and software elements to communicate through various mediums and protocols. These include industry recognized products as well as in-house solutions.
 
The Developer can also be called upon to devise specialized tools to help integrate components into multimedia installations. In these cases, they produce estimates, deliver tools adapted to project needs, and travel onsite for set up.
 
The ideal candidate is able to create documentation explaining the content and operation of installation scripts and software. They also have the capacity to develop new in-house resources when needed. Their strong analytical and problem-solving skills allow them to trouble shoot issues when they occur.
 
ROLES AND RESPONSIBILITIES
 
1.     Software Development
·       Participate in the creation of a brand-new environment and contribute to existing systems.
·       Program specialized software solutions allowing content to be integrated into the environment.
·       Create unit, regression, and integration tests.
 
2.     Research and Development
·       Use the latest techniques and best practices for software development (multimedia, software, integration).
·       Participate in project discussion and solution development workshops and provide status reports.
·       Research and validate the implementation of new procedures and technologies.
 
3.     Support and Documentation
·       Produce concept documentation.
·       Develop documentation for systems operations (within or outside of the code) for internal use or clients.
·       Provide technical support to project and operations groups helping clients troubleshoot issues onsite.
 
DESIRED SKILLS AND JOB REQUIREMENTS
·       Bachelor’s degree in engineering or computer science, or equivalent;
·       4 to 7 years of work experience in product oriented software development;
·       Professional proficiency in French and English (spoken and written);
·       Knowledge of several programming paradigms (product oriented, functional, data flow);
·       Proven experience in commercial software development;
·       Experience with the full life cycle of a software solution;
·       Minimum 2 years’ experience in development with node.JS or Python;
·       Fluency in communication protocols (TCP/IP, Websocket, HTTP, MQTT, etc.).

QUALIFICATIONS
·       Experience in one or more of the following areas is required:
·       Software development using node.js, C#, Python, or HTML5/Javascript;
·       Application development client/server in multi-user environments;
·       Development in an environment with continuous integration(CI) and automated testing.
·       Experience in one or more of the following areas is an asset:
·       Media management server;
·       Rollout (Docker, site services and Cloud);
·       Software-as-a-Service (SaaS);
·       High bandwidth transactional servers (node.js);
·       Data management, including relational databases (Postgres, MySQL) and real-time data;
·       Application software (preferably multimedia – Unity, Unreal, max/MSP, etc.).
·       Valid driver’s license and passport.

QUALITIES
·       Communicate efficiently and respectfully;
·       Motivated to learn new technologies and use new tools;
·       Passionate self-learner;
·       Flexibility;
·       Ability to work well in a team and under pressure;
·       Possess strong observational skills and exceptional attention to detail;
·       Manage workload efficiently;
·       Capacity to follow instructions, accept feedback, and respond positively to criticism.

PARTICULAR WORK CONDITIONS
·       Flexible schedule
·       Occasional travel


Send us your application now!
We will contact you if you are selected.

NOTE: The masculine is used in this publication without prejudice for the sake of conciseness.