Software Engineer

New Yesterday

Job Summary
The Software Engineer is responsible for implementing high performance storage algorithms for the next generation of NVME over Fabrics storage solutions in collaboration with peer engineers. This is an opportunity to learn advanced algorithms and performance techniques to match the performance of next generation solid state storage technologies. The position requires an understanding of software development fundamentals, such as algorithmic complexity and complex data structure design.
The Software Engineer must have the technical ability to understand requirement documents and system level test plans and collaborate with engineers during the implementation. This position participates in the development and monitoring of automated tests, and all aspects of product development from implementation to deployment.
Base pay range: $130,000 - $145,000 (based on relevant experience).
Essential Duties & Responsibilities Algorithm and protocol design and implementation and optimization in C/C++. Control plane design and implementation in Golang. Write efficient, organized, readable, and well documented code. Participate in automated test planning and implementation as part of a continuous deployment environment. Participate in all product and component design reviews to suggest improvements. Use scripting languages to automate tasks and gather data. Debugging highly available, complex distributed systems
Minimum Requirements Bachelor’s Degree in computer science or a related field; equivalent and relevant experience considered in lieu of degree. Strong technical background with both the ability and desire to continuously improve the overall storage software product, in terms of quality, features, and design 2+ years of experience in programming or equivalent educational experiences, ideally with specific experience in C/C++/Go coding and debugging. Linux-based system and OS experience a big plus. Ability to write readable code that continuously improves the codebase. Abstract understanding of computer hardware, algorithm, data structure, and protocol performance. Ability to discuss, design and debug abstract and concrete systems. Strong attention to detail. Good communication skills – both written and verbal. Desire to research, experiment, design, redesign, write code, and refactor code to develop a deep understanding of algorithmic correctness and performance Must be a self-starter and self-motivated with the ability to work independently and efficiently. Familiarity with DevOps patterns and methodologies is a plus. Experience in an Agile environment or having worked in an Agile managed team is a plus. Familiarity of concepts or experience in CI/CD is a plus.
Working Conditions Standard office environment or remote
Location:
Irving

We found some similar jobs based on your search