Software Principal Engineer
The Software Engineering team delivers next-generation application enhancements and new products for a changing world. Working at the cutting edge, we design and develop software for platforms, peripherals, applications and diagnostics — all with the most advanced technologies, tools, software engineering methodologies and the collaboration of internal and external partners.
Join us to do the best work of your career and make a profound social impact as a Software Principal Engineer on our Software Engineering Team in Bangalore
What you’ll achieve
As a Software Principal Engineer, you will be responsible for developing sophisticated systems and software based on the customer’s business goals, needs and general business environment creating software solutions.
You will :
Design, develop, and maintain Linux kernel, Distro, Storage / Block Layer of the file system Stack for Hardware and Virtualized storage subsystems
Debug and resolve complex performance, data loss, memory corruption issues in production environments
Mentor team members in design collaboration, code reviews, development tools and processes
Take part in the full software development life cycle including development, test, continuous delivery and support
Be an active member of an agile team, collaboratively realizing features through development, test and delivery
Take the first step towards your dream career
Every Dell Technologies team member brings something unique to the table. Here’s what we are looking for with this role :
Essential Requirements
Expertise in Linux kernel and Distro, persistent memory, hardware assisted compression technologies, File System internals, Log structured File Systems
Virtualization and Cloud infrastructure development
8-12 years of C and / or C++ programming skills on Linux / Unix
Experience in designing, implementing, and debugging user / kernel space multi-threaded systems
Strong problem solving, troubleshooting, diagnostic skills with knowledge of performance analysis tools and techniques for multi-threaded distributed systems
Desirable Requirements
Ability to scale algorithms without loss of performance.
Experience in RAID development and experience in NVMe protocol implementation and firmware development related to NVMe devices
Principal Software Engineer • Bengaluru, Karnataka, India