Read the Job Description: Start by carefully reading the job description. Make sure you understand what the job involves.
Check Your Skills: Compare the skills they're looking for with what you know how to do. Figure out where you're strong and where you might need to learn more.
Check Eligibility Criteria: Look at the qualifications they want, like education and experience. Make sure you have what they're asking for.
Update Your Resume and Cover Letter: Change your resume and cover letter to match the job. Highlight the things that make you a good fit.
Learn About the Company: Take some time to find out about the company you want to work for. Understand what they do and what they care about. This helps you show you're interested in them.
In the software team at Micron, you will have a wide variety of opportunities starting from driver and tools development to validating the entire software stack which shall be used by many functional teams like firmware, validation, quality & reliability, and field engineering. It would be an exciting place to enable validation teams with automation frameworks, with tweaks to drivers at user and kernel space on both Windows, Linux and other real-time operating systems. Innovations and open-source contributions are possible at various levels in the software stack. Starting from understanding the product requirements, to tools requirements from different functional teams, to developing effective and efficient solutions, it’s the right place to start, right out of college in a fast-paced environment with wide knowledge of SSDs, SSD firmware and validation capacities. In this role, you would be responsible for design, development and maintenance of SSD Management applications and frameworks.
Responsibilities:
- Develop (C/C++) code to manage NVMe/SATA storage devices
- Develop code for different operating systems (Windows, Linux, VMWare and Free BSD)
- Debug complex issues in involving different device drivers, operating systems, platform architectures and device firmware
- Understand and develop vendor specific NVMe/SATA commands to perform operations on SSD or to get data from SSD
- Develop code to issue vendor specific commands to get data from different controller vendors
- Review Code developed by peers
- Assist in DevOps processes for build and test automation
- Design and Develop APIs for 3rd party integrations
- Design and develop a framework/component stack in layered architecture to build various software solutions
- Design and develop abstraction layers for different OS platforms and SSD controller vendors
- Design and Develop APIs for easy integration with different technologies like CLI/GUI/REST API
Requirements:
- Knowledge of C/C++
- Good understanding of Python and C/C++ interactions
- Expert knowledge of Design Patterns and Data structures
- Knowledge of Device Drivers, system programming and multi-threading
- Understanding of Storage Devices, NVME/SATA
- Understanding of Windows and UNIX / Linux server storage environments
- Knowledge on building applications for Windows, Linux using different tool chains
- Excellent debugging and problem-solving skills
- Team player with excellent written and verbal communication skills, ability to participate of team discussions and taking decisions
- Good Knowledge of software engineering best practices, application development life cycle, source control management (git), build processes (Jenkins, Makefiles, MSBuild), testing and release
Eligibility Criteria:
1)Bachelor’s/Master’s Degree in Electrical, Electronics or Computer Science Engineering
2)CGPA requirements = 7.0 CGPA & Above
3)Year of Passing: 2014 to 2024
4)Location: Hyderabad, Bangalore