Staff Engineer - CPU DSP System
Qualcomm
Bengaluru, Karnataka, India
Job description 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 4+ years of Software Engineering or related work experience. OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience. OR PhD in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience. • 2+ years of work experience with Programming Language such as C, C++, Java, Python, etc. Preferred Qualifications: • Master's Degree in Engineering, Information Systems, Computer Science or related field. • 8+ years of Software Engineering or related work experience. • 3+ years of experience with Database Management Software. • 3+ years of experience with API. • 1+ year of work experience with Git, Perforce, or Source Code Management System. 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. • 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. Level of Responsibility: • Works independently with minimal supervision. • Decision-making is significant in nature and affects work beyond immediate work group. • Requires verbal and written communication skills to convey information. May require basic negotiation, influence, tact, etc. • Has a moderate amount of influence over key organizational decisions (e.g., is consulted by senior leadership to make key decisions). • Tasks often require multiple steps which can be performed in various orders; extensive planning, problem-solving, and prioritization must occur to complete the tasks effectively.