Position Title: Senior Software Engineer
LEONARDO DRS; headquartered in Arlington, Virginia and is a leading supplier of integrated products, services and support to military forces, intelligence agencies and prime contractors worldwide. The company is a wholly owned subsidiary of Leonardo, which employs more than 45,000 people worldwide. We offer a competitive compensation package and a business culture that rewards performance. For additional information on LEONARDO DRS, please visit our website at www.leonardodrs.com. We are committed to recruiting and retaining the best talent in the defense and aerospace industry.
DRS Technologies Canada Ltd. (DRS Canada), is a leading mid-tier Canadian defence electronics company specializing in military voice and data communications systems; electro-optics (EO) and infrared search and tracking systems (IRST); command, control, communications, computers and intelligence (C4I) systems integration; deployable flight data recorders; and defence/space electronics manufacturing.
What it’s like working at DRS!
- A motivating team-based environment where your achievements matter
- A chance to work on Industry leading edge technology with exceptional mentors
- Every second Friday off. We care about your work life balance!
- Flexible hours. Work your hours around your schedule
- Recipient of Carleton University’s Co-Op Employer of the Year in 2018
Seasonal company-wide events: free BBQs, Christmas party, Dragon Boat team, Shinny hockey tournament, golf tournament, the Army Run, and more!
This senior to intermediate level position will report to the Software Manager and will require the successful candidate to operate in both team and solo activities. Key activities will involve analysis, design and implementation of software subsystems and modules that have been assigned. The incumbent is also responsible for addressing customer requirements, performing complex development activities requiring extensive research and analysis. As a member of the Software team, the incumbent carries collective responsibility for the successful implementation of the Company’s software product releases and systems.
Major Roles and Responsibilities:
- Comply with company standard procedures and standards
- Conducts analysis of system specifications in developing designs that meet complex client needs on both legacy and new program designs
- Designs and develops source code according to design requirements, unit and integration activities
- Identifies, analyses, and resolves complex software issues
- May lead small team of junior developers and/or co-op, providing guidance, coaching and mentoring as needed
- Participate in product design meetings, preparing requirements and design specifications.
- Makes recommendations and suggests alternatives solutions when needed.
- Maintains project schedules, informs management of unplanned slippage, and proposes corrective measures.
- May participate in design reviews with internal/external customers
- Reviews designs and documents produced by others
- Multiplex between different projects or assignments and delivers on commitments.
- Ability to demonstrate flexibility to meet business demands.
- Makes recommendations for changes to software development processes
- Advocates and promotes for Agile Development process
- Professional attitude
- Ability to produce quality technical work
- Demonstrate effective communication skills (verbal and written)
- Works effectively as a member of a team
- Able to work autonomously on specific tasks
- Organized, proactive and helpful
- Ability to manage multiple tasks and work towards long-term goals
- Demonstrate initiative and willingness to learn new things
- Bachelor’s Degree in engineering, computer science, or equivalent, from a regular or coop program.
- Strong background in software engineering principles and development in a structured environment.
- Experience with developing drivers, BSP.
- 6+ years of C++ or ADA programming experience.
- 3+ years in Agile development experience.
- Strong experience in integration of multiple vendor technologies.
- Experience working with configuration management tools.
- Basic knowledge and application of: communication protocols, real-time operating systems, object-oriented design methods, real-time embedded system design, software configuration management, graphical user interface (GUI) design, build and test automation, concept knowledge of Agile/Scrum/Kanban, software development lifecycle methodologies
- Experience troubleshooting and debugging software on target hardware and in a simulation environment
- Familiarity with estimating, measuring, and optimizing software performance.
- Knowledge of navigation concepts and systems is an asset.