Company:
Qualcomm Technologies, Inc.
Job Area:
Engineering Group, Engineering Group > Software Engineering
General Summary:
As a leading technology innovator, Qualcomm pushes the boundaries of what's possible to enable next-generation experiences and drives digital transformation to help create a smarter, connected future for all. As a Qualcomm Software Engineer, you will design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs that launch cutting-edge, world class products that meet and exceed customer needs. Qualcomm Software Engineers collaborate with systems, hardware, architecture, test engineers, and other teams to design system-level software solutions and obtain information on performance requirements and interfaces.
Minimum Qualifications:
• Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 8+ years of Software Engineering or related work experience.
OR
Master's degree in Engineering, Information Systems, Computer Science, or related field and 7+ years of Software Engineering or related work experience.
OR
PhD in Engineering, Information Systems, Computer Science, or related field and 6+ years of Software Engineering or related work experience.
• 4+ years of work experience with Programming Language such as C, C++, Java, Python, etc.
We are looking for an energetic engineer with solid hands-on software design and development experience on complex embedded computing platforms.
- Candidate should have good knowledge in the wired peripheral interfaces like PCIe, USB, SPI/UART/I2C and has experience developing device drivers in QNX, Linux or other RTOSs.
- Modifies existing software to correct errors, allow it to adapt to new hardware, or to improve its performance.
- Analyzes user needs and software requirements to determine feasibility of design within time and cost constraints.
- Confers with systems analysts, engineers, programmers and others to design system and to obtain information on project limitations and capabilities, performance requirements and interfaces.
- Stores, retrieves, and manipulates data for analysis of system capabilities and requirements.
- Designs, develops, and modifies software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design.
Preferred Qualifications:
- 5+ years of relevant experience in technology domains listed below.
- Solid hands-on software design and development experience on complex embedded computing platforms.
- Strong working knowledge of operating systems like QNX, Linux and other RTOSs
- Demonstrated system software development experience including kernels, device drivers and board-support packages.
- Working knowledge of peripherals and interfaces e.g., PCIe, SPI/UART/I2C, USB, Ethernet etc.
- Strong programming experience in C/C++ , as well as hands-on experience debugging complex embedded software.
- Experience using industry standard development tools - e.g. tool-chains, IDEs, configuration management etc.
- Ability to contribute to all phases of software development - bring-up, design and deployment.
- Demonstrated ability to work with engineers, partners and customers, and across the different geographical sites and technology domains.
- Excellent verbal and written communication skills.
- Deep understanding of OS internals scheduler, cache/memory handling, interrupt processing, MMU/SMMU, IPCs, virtualization/hypervisor etc.
- Experience designing complex fault-tolerant safety systems, and designing in accordance to industry standard specifications(eg. ISO26262, ASPICE).
Principal Duties and Responsibilities:
- Leverages advanced Software knowledge and experience to design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs.
- Design, develop, code, test software modules
- Gather customer requirements, distill requirements to software architecture, create software architecture documents.
- Analyzes user needs, software requirements, and time and cost constraints to design and customize software for optimal operational efficiency.
- Designs and implements software modules for large-scale products and systems.
- Participates in and leads design, coding, unit testing, debugging, and integration efforts to ensure projects are completed to specifications and schedules.
- Performs complex code reviews and regression tests as well as triages and fixes issues to ensure the quality of code.
- Collaborates with individuals outside the software function (e.g., Hardware, Systems, and Test engineers) to ensure solutions work with other components of a specific project.
- Writes detailed technical documentation for complex Software projects.
Qualcomm is an equal opportunity employer. If you are an individual with a disability and need an accommodation during the application/hiring process, rest assured that Qualcomm is committed to providing an accessible process. You may e-mail disability-accomodations@qualcomm.com or call Qualcomm's toll-free number found here. Upon request, Qualcomm will provide reasonable accommodations to support individuals with disabilities to be able participate in the hiring process. Qualcomm is also committed to making our workplace accessible for individuals with disabilities. (Keep in mind that this email address is used to provide reasonable accommodations for individuals with disabilities. We will not respond here to requests for updates on applications or resume inquiries).
To all Staffing and Recruiting Agencies: Our Careers Site is only for individuals seeking a job at Qualcomm. Staffing and recruiting agencies and individuals being represented by an agency are not authorized to use this site or to submit profiles, applications or resumes, and any such submissions will be considered unsolicited. Qualcomm does not accept unsolicited resumes or applications from agencies. Please do not forward resumes to our jobs alias, Qualcomm employees or any other company location. Qualcomm is not responsible for any fees related to unsolicited resumes/applications.
EEO Employer: Qualcomm is an equal opportunity employer; all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or any other protected classification.
Qualcomm expects its employees to abide by all applicable policies and procedures, including but not limited to security and other requirements regarding protection of Company confidential information and other confidential and/or proprietary information, to the extent those requirements are permissible under applicable law.
Pay range and Other Compensation & Benefits:
$180,000.00 - $270,000.00
The above pay scale reflects the broad, minimum to maximum, pay scale for this job code for the location for which it has been posted. Even more importantly, please note that salary is only one component of total compensation at Qualcomm. We also offer a competitive annual discretionary bonus program and opportunity for annual RSU grants (employees on sales-incentive plans are not eligible for our annual bonus). In addition, our highly competitive benefits package is designed to support your success at work, at home, and at play. Your recruiter will be happy to discuss all that Qualcomm has to offer – and you can review more details about our US benefits at this link.
If you would like more information about this role, please contact Qualcomm Careers.