Software Engineer, Senior
Technology, Data & Digital · Software & Web Development · Software Engineering · Embedded Systems · DevOps
In short
Qualcomm is looking for a Senior Software Engineer in Toronto, Ontario, Canada, to design, develop, and validate embedded and cloud edge software. The role requires a Bachelor's degree and 2+ years of experience with programming languages like C++, Python, and JavaScript. You will collaborate with various engineering teams to build tools and systems that accelerate product development and testing.
Responsibilities
- Design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs.
- Collaborate with systems, hardware, architecture, test engineers, and other teams to design system-level software solutions.
- Develop tools that accelerate firmware development, chip characterization, test execution, software development kit (SDK) delivery, and graphical user interface (GUI) development.
- Perform full stack development using JavaScript (React, Node, NextJS), Python, C, and C++, MongoDB and Postgres.
- Build CI/CD systems (Gitlab/Github/Jenkins and custom).
- Build GUIs to support silicon for internal teams.
- Build CLIs to automate tasks and streamline processes and internal workflows.
- Define schemas and data organization to centralize data collection and viewing across different semiconductor technologies, product lines, and hardware tests.
- Architect software development kit and regression infrastructure.
- Develop test strategies, automated regression and QA tools, and performance visualization of silicon.
- Collect and analyze data on software infrastructure to define KPIs for improvement.
- Troubleshoot and triage issues related with new SW updates.
- Collaborate with other teams to collect requirements and build new tooling.
- Track execution with standard software ticketing systems like Linear, Jira, Confluence and Git/Github/Gitlab.
Requirements
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
- OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 1+ year of Software Engineering or related work experience.
- OR PhD in Engineering, Information Systems, Computer Science, or related field.
- 2+ years of academic or work experience with Programming Language such as C, C++, Java, Python, etc.
- Student of B.Sc. or equivalent experience in Computer Science / Software Engineering / Computer Engineering / Electrical Engineering / Communication Engineering with 2+ years of professional experience in software development with JavaScript, React, Redux, Python, and C/C++.
- Knowledge in Linux, software deployment, CICD and testing strategies.
- Knowledge in basic networking.
- Creative, motivated and value driven person.
Desired Qualifications
- Experience with multi-platform systems, both in HW/FW/SW.
- Knowledge of Verilog/SystemVerilog.
- Knowledge of communication protocols like Ethernet and PCIe.
- Experience building open source projects.
Benefits
- Competitive annual discretionary bonus program.
- Opportunity for annual RSU grants.
- Highly competitive benefits package.
#Software Engineering#Embedded Software#Cloud Edge Software#Semiconductors#Hardware#Software Infrastructure#Firmware#Tools Development#Chip Characterization#Test Execution#SDK Delivery#GUI Development#Silicon Validation#Product Engineering#DevOps#Full Stack Development#CI/CD Systems#Automation#Data Organization#Regression Infrastructure#Test Strategies#Performance Visualization#Data Analysis#KPIs#Troubleshooting#Requirement Gathering#Tooling#Ticketing Systems#Linux#Software Deployment#Networking#Multi-platform Systems#Open Source