Embedded Software Sr. Engineer

1 week ago


Montreal, Quebec, Canada Caterpillar Financial Services Corporation Full time

Career Area:

Engineering

Job Description:

Your Work Shapes the World at Caterpillar Inc.

When you join Caterpillar, you'rejoining a global team who cares not just about the work we do – but also about each other. We are the makers, problem solvers, and future world builders who are creating stronger, more sustainable communities. We don'tjust talk about progress and innovation here – we make it happen, with our customers, where we work and live. Together, we are building a better world, so we can all enjoy living in it.

Why you want the job:

Peck Tech, a Caterpillar Company, specializes in mining information technology and consulting services, providing unparalleled expertise in advanced technology solutions for customers worldwide. We are looking for an exceptional candidate to fill a position as a Senior Software Developer based at Peck Tech's headquarters in Montreal.

You will work with a team focused on advanced sensors, computer vision, and automation projects. We offer an engaging and agile working environment that is both challenging and rewarding, with opportunities to learn and implement new technologies, grow your skills and the possibility to work with industry experts and on state-of-the-art technologies.

Job Summary:

Designs, develops, implements, and tests new Software products, tools, or technologies across various digital platforms.

Responsibilities:

  • Contribute to defining the architecture and design of the software applications, including stand-alone and embedded software.
  • Plan and execute the implementation of a software application, including time estimates, coding, unit testing, documentation, packaging, and setup.
  • Take ownership of resolving any detected issues and maintaining the software on a continuous basis, providing support to the QA team and for field escalated issues.
  • Work with minimal supervision and a high degree of autonomy and collaboration. Prioritize competing projects and tasks.
  • Develop following Agile methodology and collaborate within multidisciplinary teams. Report progress status and issues and provide or verify work estimates.
  • Recognize the opportunities to improve the performance of software modules, engineering practices, tooling, and other quality system processes and deliverables. Implement support policies, guidelines, standards, and best practices.
  • Collaborate with customers. Translate user requirements into software requirements.
  • Lead and assist our business customers in realizing their strategies by investigating the best suitable technologies, proposing the solutions architecture, and evaluating the required effort.
  • As a project evolves, participate in meetings regarding the client's needs, architecture, test definition, and risk mitigation strategy before you start coding.
  • Travel and field work up to 50% of the time.

Skill Descriptors:

Analytical Thinking : Knowledge of techniques and tools that promote effective analysis; ability to determine the root cause of organizational problems and create alternative solutions that resolve these problems.

Level Extensive Experience:

  • Seeks discrepancies and inconsistencies in available information; explains variances.
  • Organizes and prioritizes the sequence of steps to be taken to remedy the situation.
  • Identifies many possible causes for a problem based on prior experience and current research.
  • Quantifies the costs, benefits, risks and chances for success before recommending a course of action.
  • Approaches a complex problem by breaking it down into its component parts.
  • Chooses among a diverse set of analytical tools according to the nature of the situation.

Decision Making and Critical Thinking : Knowledge of the decision-making process and associated tools and techniques; ability to accurately analyze situations and reach productive decisions based on informed judgment.

Level Extensive Experience:

  • Analyzes and discusses alternatives with multiple stakeholders.
  • Monitors developments in critical-thinking and decision-making models for potential use by organization.
  • Anticipates special issues and considerations for effective decision-making during a crisis.
  • Shares experiences regarding optimal timing and circumstances for refraining from or making decisions.
  • Differentiates between content and context of a decision.

Effective Communications : Understanding of effective communication concepts, tools and techniques; ability to effectively transmit, receive, and accurately interpret ideas, information, and needs through the application of appropriate communication behaviors.

Level Extensive Experience:

  • Reviews others' writing or presentations and provides feedback.
  • Adapts documents and presentations for the intended audience.
  • Demonstrates both empathy and assertiveness when communicating a need or defending a position.
  • Communicates well downward, upward, and outward.
  • Employs appropriate methods of persuasion when soliciting agreement.
  • Maintains focus on the topic at hand.

Product Testing : Knowledge of product testing approaches, techniques and tools; ability to design, plan and execute testing strategies and tactics to ensure product quality at all stages of manufacturing.

Level Extensive Experience:

  • Coordinates execution of test plans, including resources, strategy, schedules, processes and tools.
  • Collaborates with the design team to ensure testing considerations are incorporated into system design.
  • Recommends tools and techniques for automating, simplifying and enhancing product testing.
  • Compares and contrasts alternative testing methodologies and tools.
  • Matches testing methodology and tools to the product being tested; develops test scenarios and scripts.
  • Estimates time, effort and resources required for thorough testing.

Troubleshooting Technical Problems : Knowledge of troubleshooting approaches, tools and techniques; ability to anticipate, detect and resolve technical problems in a manufacturing environment.

Level Extensive Experience:

  • Consults and coaches others on how to troubleshoot non-recurring and performance-related problems.
  • Establishes best practices for distinguishing software or systems problems.
  • Leads in discussing alternative troubleshooting approaches and their applicability to types of problems.
  • Develops policies and procedures to monitor problem logs, resolutions and lessons learned.
  • Directs the resolution of complex, multi-component failures.

Platform Architecture : Knowledge of technologies and methods to design software products and roadmaps to execute business application systems; ability to design these roadmaps and deploy supportive interfaces for end-users to access related systems, in accordance with standards and processes.

Level Extensive Experience:

  • Monitors the compliance of platform architecture processes and standards and alignment with business objectives.
  • Guides less experienced platform architects on the techniques and approaches used in design processes.
  • Advises others on providing high-quality deliverables of platform architectural roadmaps to fully satisfy client needs.
  • Recommends improvements to the effectiveness and efficiency of platform modelling standard processes.
  • Teaches cross-team technology members about their roles and responsibilities associated with allocating resources to various platforms.
  • Resolves moderately complex issues that occur in platform modelling and roadmaps design processes.

Requirements Analysis : Knowledge of tools, methods, and techniques of requirement analysis; ability to elicit, analyze and record required business functionality and non-functionality requirements to ensure the success of a system or software development project.

Level Intermediate:

  • Plays an active or leading role in recording and storing requirement documents in various forms.
  • Supports successful completion of all major activities, tasks and deliverables pertaining to the requirement analysis stage.
  • Supports the advanced use of requirements analysis tools and services, including prototyping and use cases.
  • Produces detailed functional and information requirements models and documentation.
  • Utilizes automated diagramming tools to ensure traceability of requirements.

Top Candidates will also have:

  • 10+ years' experience in C++. Strong object-oriented programming skills
  • Extensive experience with Python programming
  • Extensive experience with databases and data-centric development, including data management, integration and structure
  • Expert knowledge of the full cycle software development, including software architecture and design, implementation, interface, testing, troubleshooting and maintenance
  • An in-depth knowledge of Windows and GNU/Linux development, including desktop applications and embedded applications
  • Strong analytical and problem-solving skills
  • Comfortable working in a fast-paced environment with short deadlines without compromising quality of work
  • Ability to work in teams or individually, superior communication skills, both spoken and written (English and French required)
  • Experience with multi-tier architectures is an asset.
  • Knowledge of Caterpillar MineStar Technologies is an asset.
  • Experience with the Mining industry and experience with drilling and blasting applications is an asset.
  • Hands-on experience with Socket Programming & IP Communication is an asset
  • Proficiency with Visual Studio and revision control (GIT, SVN) is an asset
  • Experience with Computer Vision, AI, Machine learning, Algorithms and Analytics is an asset
  • Experience with Cloud platform development is an asset

Degree Requirement:

  • Bachelor of Science in Computer Science or Software Engineering.

Additional information:

  • The preferred location for this position is in Montreal.
  • Domestic relocation assistance is not available.
  • This position may require 33% to 50% travel domestically and/or internationally.
  • Sponsorship is not available.
  • English and French required

Description de l'emploi

Peck Tech compagnie de Caterpillar se spécialise dans la technologie de l'information et les services de consultation pour le secteur de l'exploitation minière. Peck Tech offre à ses clients partout dans le monde une expertise incomparable dans les solutions technologiques de pointe.

Nous sommes à la recherche d'une candidate ou d'un candidat d'exception pour pourvoir combler le poste de développeur de logiciels senior, basé au siège social de Peck Tech à Montréal.

Vous allez travailler au sein d'une équipe concentrée sur les capteurs avancés, la vision par ordinateur et les projets d'automatisation.

Nous offrons un environnement de travail motivant et agile qui est à la fois stimulant et enrichissant, avec des opportunités d'apprendre et d'implémenter de nouvelles technologies, de développer vos compétences et la possibilité de travailler avec des experts de l'industrie et sur les technologies de pointe.

Sommaire de l'emploi

Programmer des logiciels incluant la conception, l'implémentation, les tests, la documentation et le support pour une variété des plateformes numériques.

Votre rôle

  • Planifier et exécuter la mise en œuvre d'une application logicielle, y compris les estimations de temps, le codage, les tests unitaires, la documentation, le packaging et la configuration.
  • Contribuer aux décisions de conception et aux discussions avec les équipes de projet.
  • Prendre la responsabilité de résoudre les problèmes détectés et maintenir le logiciel sur une base continue, en fournissant un soutien à l'équipe d'assurance qualité.
  • Gérer les priorités et les échéanciers des projets et des tâches à accomplir.
  • Développer en fonction de la méthodologie Agile, contribuer aux sessions quotidiennes SCRUM.
  • Reconnaître et adresser les occasions d'améliorer la performance des modules logiciels, des pratiques d'ingénierie, de l'outillage et d'autres procédés et livrables de systèmes de qualité.
  • Collaborer avec les clients. Traduire les exigences des clients en spécifications logiciel.
  • Collaborer au sein d'équipe multidisciplinaire.
  • Diriger et aider nos clients commerciaux à réaliser leurs stratégies en recherchant les technologies les mieux adaptées, en proposant l'architecture des solutions et en évaluant l'effort requis.
  • À mesure qu'un projet évolue, participez aux réunions concernant les besoins du client, l'architecture, la définition des tests et la stratégie d'atténuation des risques avant de commencer à coder.

Descripteurs de compétences

Pensée analytique :Connaissance des techniques et des outils favorisant une analyse efficace; capacité à déterminer la cause profonde des problèmes organisationnels et à créer des solutions alternatives pour résoudre ces problèmes.

Niveau d'expérience étendue:

  • Recherche les divergences et les incohérences dans les informations disponibles; explique les écarts.
  • Organise et priorise la séquence des mesures à prendre pour remédier à la situation.
  • Identifie de nombreuses causes possibles d'un problème sur la base de l'expérience antérieure et des recherches actuelles.
  • Quantifie les coûts, les avantages, les risques et les chances de succès avant de recommander un plan d'action.
  • Aborde un problème complexe en le décomposant en ses éléments constitutifs.
  • Choisir parmi un ensemble diversifié d'outils d'analyse selon la nature de la situation.

Prise de décision et pensée critique : Connaissance du processus de prise de décision et des outils et techniques associés; capacité à analyser avec précision les situations et à prendre des décisions productives basées sur un jugement éclairé.

Niveau d'expérience étendue:

  • Analyse et discute des alternatives avec plusieurs parties prenantes.
  • Surveille l'évolution des modèles de pensée critique et de prise de décision en vue d'une utilisation potentielle par l'organisation.
  • Anticipe les questions et considérations particulières pour une prise de décision efficace en cas de crise.
  • Partage ses expériences concernant le moment optimal et les circonstances pour prendre ou s'abstenir de prendre des décisions.
  • Fait la différence entre le contenu et le contexte d'une décision.

Communications efficaces :Compréhension des concepts, outils et techniques de communication efficaces; capacité à transmettre, recevoir et interpréter avec précision des idées, des informations et des besoins grâce à l'application de comportements de communication appropriés.

Niveau d'expérience étendue:

  • Examine les écrits ou les présentations des autres et fournit des commentaires.
  • Adapte les documents et les présentations pour le public visé.
  • Fait preuve d'empathie et d'assurance lorsqu'il communique un besoin ou défend une position.
  • Communique bien avec ses collègues, ses supérieurs et les tiers partis.
  • Utilise des méthodes de persuasion appropriées lors de la sollicitation d'un accord.
  • Reste concentré sur le sujet à l'étude.

Tests de produits :Connaissance des approches, techniques et outils de test de produits; capacité à concevoir, planifier et exécuter des stratégies et des tactiques de test pour garantir la qualité des produits à toutes les étapes de la fabrication.

Niveau d'expérience étendue:

  • Coordonne l'exécution des plans de test, y compris les ressources, la stratégie, les calendriers, les processus et les outils.
  • Collabore avec l'équipe de conception pour s'assurer que les considérations relatives aux tests soient intégrées à la conception du système.
  • Recommande des outils et des techniques pour automatiser, simplifier et améliorer les tests de produits.
  • Compare et contraste les méthodologies et outils de différents test.
  • Adapte la méthodologie et les outils de test au produit testé; développe des scénarios et des scripts de test.
  • Estime le temps, les efforts et les ressources nécessaires pour des tests approfondis.

Diagnostic des problèmes techniques : Connaissance des approches, techniques et outils de diagnostic ; capacité à anticiper, détecter et résoudre les problèmes techniques dans un environnement de production.

Niveau d'expérience étendue :


• Consulte et entraîne ses collègues sur les méthodes de diagnostic de problèmes non-récurrents ou reliés à la performance.


• Établit les meilleures pratiques pour cerner les problèmes de logiciel ou de système.


• Mène les discussions sur les méthodes de diagnostic alternatives et leur applicabilités pour différents types de problèmes.


• Développe des stratégies et processus pour le suivi du registre des problèmes, leur résolutions et les leçons apprises.


• Dirige la résolution de défaillances multi-composants complexes.

Architecture de plate-forme :Connaissance des technologies et des méthodes permettant de concevoir des produits logiciels et des feuilles de route pour exécuter des systèmes d'applications commerciales; capacité à concevoir ces feuilles de route et à déployer des interfaces de support permettant aux utilisateurs finaux d'accéder aux systèmes associés, conformément aux normes et aux processus.

Niveau d'expérience étendue:

  • Surveille la conformité des processus et des normes d'architecture de plateforme et leur alignement avec les objectifs commerciaux.
  • Guide les architectes de plate-forme moins expérimentés sur les techniques et les approches utilisées dans les processus de conception.
  • Conseille les autres afin de livrer des feuilles de route d'architectures de plate-forme de haute qualité pour satisfaire pleinement les besoins des clients.
  • Recommande des améliorations à l'efficacité et à l'efficience des processus standards de modélisation de plateforme.
  • Enseigne aux membres de différentes équipes leurs rôles et responsabilités associés à l'allocation de ressources à diverses plates-formes.
  • Résout les problèmes moyennement complexes qui surviennent dans les processus de modélisation de plateforme et de conception de feuilles de route.

Analyse des exigences :Connaissance des outils, méthodes et techniques d'analyse des exigences; capacité à obtenir, analyser et enregistrer les fonctionnalités commerciales requises et les exigences non fonctionnelles pour assurer le succès d'un projet de développement de système ou de logiciel.

Niveau Intermédiaire :

  • Joue un rôle actif ou de premier plan dans l'enregistrement et le stockage des documents d'exigences sous diverses formes.
  • Prend en charge la réussite de toutes les activités, tâches et livrables majeurs relatifs à l'étape d'analyse des exigences.
  • Prend en charge l'utilisation avancée d'outils et de services d'analyse des exigences, y compris le prototypage et les cas d'utilisation.
  • Produit des modèles et de la documentation détaillés sur les exigences fonctionnelles et informationnelles.
  • Utilise des outils de création de diagrammes automatisés pour assurer la traçabilité des exigences.

Exigences

  • Posséder 10+ années d'expérience en C ++. Maitriser la programmation orientée-objet.
  • Vaste expérience avec la programmation Python.
  • Vaste expérience des bases de données et du développement centré sur les données, y compris la gestion, l'intégration et la structure des données.
  • Connaissance approfondie du cycle complet de développement logiciel, y compris l'architecture et la conception logicielle, l'implémentation, l'interface, les tests, le support, la documentation et la maintenance.
  • Solides compétences analytiques et de résolution de problèmes.
  • Capacité de travailler dans un environnement en évolution rapide avec des délais courts sans compromettre la qualité du travail.
  • Capacité de travailler en équipe ou individuellement, facilité de la communication orale et écrite (anglais et français requis).
  • Une expérience pratique avec la programmation de sockets et la communication IP est un atout.
  • Une expérience dans l'industrie minière et une expérience dans les applications de forage et de dynamitage sont un atout.
  • La connaissance des technologies Caterpillar MineStar est un atout.
  • Maîtriser Visual Studio est un atout.
  • Expérience avec le développement GNU / Linux est un atout.
  • Expérience avec l'IA, l'apprentissage automatique, les algorithmes est un atout.
  • Expérience avec contrôle de révision (GIT, SVN) est un atout.

Exigences Diplôme

  • Baccalauréat en informatique ou génie logiciel.

Information additionnelle

  • Basé au siège social de Peck Tech à Montréal.
  • Relocalisation au Canada n'est pas disponible.
  • Le rôle requiert de 33% à 50% de déplacements au Canada ou à l'international.
  • Le parrainage n'est pas disponible.
  • Anglais et français requis.

Posting Dates:

June 5, June 16, 2024

Caterpillar is an Equal Opportunity Employer (EEO).

Not ready to apply? Join our Talent Community .


#J-18808-Ljbffr

  • Montreal, Quebec, Canada Boston Scientific Full time

    Location: Montreal - Quebec, CanadaSalary: CompetitiveType: PermanentMain Industry: Search Information Technology JobsOther Industries & Skills: Finance, Banking & Insurance ManufacturingEmployer: Boston ScientificJob ID: Posted On: 18 May 2024About the Role:The Boston Scientific Electrophysiology Firmware R&D team is seeking an experienced and highly...


  • Montreal, Quebec, Canada Vaco Full time

    We are currently seeking an seasoned Embedded Software Developer with C/C++, Python and experience with real-time operating systems (RTOS). You will be responsible for support the development of formal documentation in a multidisciplinary team environment (systems, digital, RF), collaborate with a team to design, code, test and support the integration of...


  • Montreal, Quebec, Canada Aversan Inc Full time

    Aversan Inc. ) is a reputable engineering company that provides engineering expertise in the aerospace and defense industries. We are currently seeking an Embedded Software developer for our client located in Montreal, Quebec.The main function of an embedded software developer is to document and implement complex flight software modules for various space...


  • Montreal, Quebec, Canada CS GROUP Full time

    Job Description We are looking for a Embedded Software Developer to join a dynamic and multidisciplinary team in charge of the certification of aircraft Electronic Engine Controllers. Responsibilities: The experienced software developer reports to a Team Lead. The tasks associated with the position include: Contributing to the preparation of the...


  • Montreal, Quebec, Canada CS GROUP Full time

    Job DescriptionCS is looking for several Junior / Mid-Level / Senior Embedded Software Engineers. His/her role will be to test embedded safety-critical software applications embedded on Aerospace or Defense Systems. The role may evolve to a leadership or software development role.The role is hybrid Responsibilities:Reporting directly to both the client and...


  • Montreal, Quebec, Canada Fidus Systems Full time

    Are you a skilled Embedded Software Developer looking for an exciting opportunity to work on cutting-edge projects? Look no further Fidus Systems, a leading-edge electronic product development company in the electrical/electronic manufacturing industry, is seeking a talented and passionate individual to join their team as an Embedded Software Developer.Fidus...


  • Montreal, Quebec, Canada Boston Scientific Full time

    Location: Montreal - Quebec , Canada Salary: Competitive Type: Permanent Main Industry: Search Information Technology Jobs Other Industries & Skills: Finance, Banking & Insurance Manufacturing Advertiser: Boston Scientific Job ID: Posted On: 18 May 2024 Additional Locations: Canada-QC-Montreal Diversity - Innovation - Caring - Global Collaboration - Winning...


  • Montreal, Quebec, Canada CS Canada Full time

    Company Description CS Group Canada, a subsidiary of CS Group, is a leader in the development and certification of safety-critical systems in the aerospace, electric and autonomous driving industries. Joining CS Group Canada is a unique opportunity to work on complex high-tech systems for the most prestigious system manufacturers in North America, and our...


  • Montreal, Quebec, Canada Scalian Full time

    Embedded Software Developer Permanent position | Full-Time | Ville-Saint-Laurent, Montreal (QC) Remote work: Hybrid Are you a Embedded Software Developer or would you like to become one? If your answer is yes, it's your lucky day as we are looking for a dynamic and talented person to join our team What will your rolebe? In this project, your main...


  • Montreal, Quebec, Canada Aversan Inc. Full time

    Aversan Inc. ( is a reputable Engineering Company that provides Engineering expertise in the Aerospace and Defence industry. We are currently seeking an Embedded Software Developer for our client located in Montreal Quebec. The main function of an embedded software developer is to document and implement complex flight software modules for various space...


  • Montreal, Quebec, Canada CS Canada Full time

    CS Group Canada, a subsidiary of CS Group, is a leader in the development and certification of safety-critical systems in the aerospace, electric and autonomous driving industries. Joining CS Group Canada is a unique opportunity to work on complex high-tech systems for the most prestigious system manufacturers in North America, and our employees benefit from...


  • Montreal, Quebec, Canada Cisco Full time

    Who We Are Accedian, now part of Cisco, is a leader in performance analytics and end user experience solutions for service providers and mid-to-large size enterprises. The Accedian Skylight service assurance platform offers granular end-to-end visibility within multi-layer, multi-domain, and multi-vendor networks. We are a dedicated and passionate team...


  • Montreal, Quebec, Canada Chewi Creative Full time

    Sr Software Engineer - Real-time ProductionFull-timePLAYHYBRID helps brands break through the media clutter and create authentic and lasting emotional connections with customers through Extended Reality (XR) experiences that drive engagement. Our creative service and technology provides brands with a cinematic, Extended Reality (XR) experience cohesively...


  • Montreal, Quebec, Canada Thorens Solutions Full time $90,000 - $105,000

    Permanent - Full time Our clientis a fast-growing company offering a unique and innovative wireless transceiver technology that achieves superior energy efficiency. As an Embedded Systems Developer, you will be developing and maintaining firmware covering a variety of embedded system applications, including network protocols, core libraries and application...


  • Montreal, Quebec, Canada CS GROUP Full time

    Job DescriptionWe are looking for an Embedded Software Developer to join a dynamic and multidisciplinary team in charge of the certification of aircraft Electronic Engine Controllers.Responsibilities:The experienced software developer reports to a Team Lead. The tasks associated with the position include:Contributing to the preparation of the technical...


  • Montreal, Quebec, Canada ARA Robotics Full time

    EMBEDDED SOFTWARE DEVELOPERWe are looking for a candidate who is passionate about robotics, especially the design of UAVs (drones) and embedded systems. The candidate will be required to participate in UAV design projects, integration of embedded systems in order to collaborate on UAV production projects, integration of payloads on UAVs and other related...


  • Montreal, Quebec, Canada ARA Robotics Full time

    EMBEDDED SOFTWARE DEVELOPERWe are looking for a candidate who is passionate about robotics, especially the design of UAVs (drones) and embedded systems. The candidate will be required to participate in UAV design projects, integration of embedded systems in order to collaborate on UAV production projects, integration of payloads on UAVs and other related...


  • Montreal, Quebec, Canada Macdonald, Dettwiler And Associates Corporation Full time

    For those who dream of advancing our space in the Universe and on Earth, we will take you there. Serving the world from our Canadian home and our global offices, MDA is an international space mission partner and robotics & space operations, satellite systems and geointelligence pioneer with a 50-year story of firsts on and above the Earth. Today, we are...


  • Montreal, Quebec, Canada HaiLa Full time

    HaiLa is building ultra-low power radio communications solutions that will eliminate the need for batteries in wireless communication devices by offering a product that is hyper-power efficient and can run indefinitely from harvested energy. Our mission is to enable Ambient Power IoT with sensing everywhere on existing protocols such as Wi-Fi.This is an...


  • Montreal, Quebec, Canada Vaco Full time

    We are currently seeking an seasoned Embedded Software Developer with C/C++, Python and experience with real-time operating systems (RTOS). You will be responsible for support the development of formal documentation in a multidisciplinary team environment (systems, digital, RF), collaborate with a team to design, code, test and support the integration of...