Software Development Engineer - II

Posted:
7/24/2024, 5:00:00 PM

Location(s):
Telangana, India ⋅ Hyderabad, Telangana, India

Experience Level(s):
Junior ⋅ Mid Level

Field(s):
Software Engineering

Worker Sub-Type:

Regular

 Job Description: 

BlackBerry QNX – Power Management Developer 

Overview 

BlackBerry® QNX® is a trusted supplier of safe and secure operating systems, hypervisors, frameworks, and development tools, and provides expert support and services for building the world’s most critical embedded systems.   We are the embedded experts. BlackBerry QNX was born in embedded, and provides time-tested and trusted foundation software, including our deterministic microkernel real-time operating system (RTOS), safety-certified products, middleware, and security solutions, all purpose-built for embedded systems.   

BlackBerry QNX software is trusted by more than 68% of the Electric Vehicle market by volume, 24 of the top 25 EV manufacturers and is running in more than 215 million vehicles globally. Our foundation products have been pre-certified to ISO 26262 ASIL D, and we offer a broad range of board support packages, professional services, AUTOSAR adaptive support and middleware solutions – from acoustic management to digital cockpits to advanced driving assistance (ADAS) - to accelerate development and help OEMs meet Start of Production (SOP) dates. 

Are you the person we are looking for? 

Product Engineering unit is focused on product opportunities as they relate to our markets and the growth of our product portfolio considering the future technology. As a successful candidate, you will be responsible for maintaining and augmenting the QNX Power Management Suspend-to-RAM.  

Using your extensive knowledge of embedded systems and deep system knowledge, you will provide the technology leadership in all aspects of the software solutions from architecture, design, infrastructure costs, tech stack, scalability, reliability, availability, and performance to software quality. You will partner with product managers, architecture teams and customers to discover and deliver the solutions for the problems across multiple industries including our high-profile automotive Tier 1 accounts. 

You must be someone with ideas and real passion for software delivered to maximize reuse, efficiency, and simplicity. Our customers count on us to convert awesome ideas into great products and services. 

 
We thrive in a culture of innovation, technical depth and breadth, exploration and experimentation and provide great career growth opportunities. In return for your skills, expertise, and passion, we will provide you with an attractive compensation & bonus package with excellent benefits. Join us and you will become part of a team that is already leading the way and has even bigger plans for the future. What we are working on is truly ground-breaking! 

Responsibilities 

Develop and maintain Power Management framework and driver components in an open-development environment. 

Experience in using vendor’s SOC technical datasheets, technical reference manuals, and user guides to manage power and port to various hardware platforms. 

Create and document software specifications and designs that address the needs of QNX customers. 

Unit test and debug implementations on all relevant target architectures for the project (ex. ARM and X86). 

Identify, analyze, and resolve potentially complex problems and inadequacies in software. 

Provide project estimates for requirement, design, implementation, and test efforts. 

Maintain an in-depth understanding of current software department approaches and standards through communication with development team members, technical leads, and management. 

Coach and mentor team on engineering best practices such as writing clean code, designing scalable, reliable, and performant software solutions, set and ensure compliance to software quality standards, safety standards etc.  

Qualifications 

Required Qualifications 

Bachelor’s degree in Computer Science, Computer Engineering or Engineering related field, or equivalent practical experience with a proven track record in technical roles 

3+ years of driver development experience in C, C++ and assembly language. 

Solid understanding of Driver and low-level CPU programing of suspending and resuming drivers and CPU context 

Demonstrated knowledge on PMIC and driver development 

Demonstrated knowledge of ACPI on x86 and PSCI for ARM processors 

Demonstrated knowledge of Secure Monitoring Calls (SMC) 

Demonstrated knowledge of run time power management as in Linux / Android 

Expertise in troubleshooting and debugging (by instrumentation, trace logging, core-analysis, applying various tools to extract information, code-reviews, JTAG, etc.) 

Strong analytical skills and hands-on experience with the tools and techniques necessary to perform root cause analysis, and ability to come up with win-win solutions in complex business situations. 

Excellent communication, interpersonal and collaboration skills to work with a diverse, global set of internal and external stakeholders. 

Challenging self and team, open to giving and receiving feedback and welcome diversity. 

Additional skills 

Understanding of the SOC’s power states, power domains and SOC mechanisms to manage power  

Programming experience in a POSIX environment 

Familiarity with the QNX RTOS 

Imagine what you could do at QNX!  Our customers count on us to convert awesome ideas into great products and services.  We have some of the brightest minds working on cutting edge platforms at QNX.  Join us and you’ll become part of a team that is already leading the way and there is no telling what you could accomplish. 

Scheduled Weekly Hours:

40