Senior staff-C++ , Machine Learning
Qualcomm · Hyderabad, Telangana, India
Qualcomm · Hyderabad, Telangana, India
Company: Qualcomm India Private Limited 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 6+ years of Software Engineering or related work experience. - Master's degree in Engineering, Information Systems, Computer Science, or related field and 5+ years of Software Engineering or related work experience. - PhD in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience. - 3+ 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. - 12+ years of Software Engineering or related work experience. - 3+ years of experience with Database Management Software. - 3+ years of experience with API. - 2+ years in a technical leadership role with or without direct reports. - 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 critical 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 sophisticated software for optimal operational efficiency. - Designs and implements software sub-systems for complex, large-scale products and systems. - Leads design, coding, and testing efforts to ensure that projects are completed to specifications and schedules. - Performs highly 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 increase leverage and design solutions that work with other components of a specific project. - Writes detailed technical documentation for highly complex Software projects; reviews technical documentation for junior engineers. Level of Responsibility: - Works independently with minimal supervision. - Provides supervision/guidance to other team members. - Decision-making is critical in nature and highly impacts program, product, or project success. - Requires verbal and written communication skills to convey complex information. May require 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.