Jobs · Engineering · California

Software Engineer

Sandisk · Milpitas, CA · Today
On-siteEngineeringFull-time
Sandisk understands how people and businesses consume data and we relentlessly innovate to deliver solutions that enable today’s needs and tomorrow’s next big ideas. With a rich history of groundbreaking innovations in Flash and advanced memory technologies, our solutions have become the beating heart of the digital world we’re living in and that we have the power to shape. Sandisk meets people and businesses at the intersection of their aspirations and the moment, enabling them to keep moving and pushing possibility forward. We do this through the balance of our powerhouse manufacturing capabilities and our industry-leading portfolio of products that are recognized globally for innovation, performance and quality. Sandisk has two facilities recognized by the World Economic Forum as part of the Global Lighthouse Network for advanced 4IR innovations. These facilities were also recognized as Sustainability Lighthouses for breakthroughs in efficient operations. With our global reach, we ensure the global supply chain has access to the Flash memory it needs to keep our world moving forward. Description The Software Engineer E105 is an entry-level engineering professional who applies foundational software-engineering and formal-methods knowledge to small, clearly defined assignments. Working under close supervision and with detailed guidance, the engineer contributes to TLA+ and/or PlusCal related projects by creating, updating, reviewing, and validating specifications, codes and supporting artifacts within established team practices. The role is designed for a curious, disciplined learner who can deliver reliable work, document solutions, ask effective questions, and steadily develop problem-solving and problem-prevention judgment. Key Responsibilities Complete small-scope software or formal-specification assignments with well-defined inputs, outputs, interfaces, and success criteria. Create or modify TLA+ specifications and/or PlusCal algorithms under the guidance of experienced engineers. Run model-checking workflows using team-approved tools, analyze generated results, and document findings clearly. Translate clearly bounded behavioral requirements, state transitions, invariants, and safety or liveness expectations into reviewable formal artifacts. Write and maintain supporting scripts, codes, tests, examples, documentation, and reproducible issue reports for assigned work. Identify straightforward defects or inconsistencies, resolve them with guidance, and escalate unfamiliar or complex issues promptly. Follow established software-development practices for source control, code or specification review, testing, traceability, and documentation. Participate in team meetings and reviews, share progress, ask for feedback, and incorporate technical direction constructively. Explore approved AI-assisted engineering tools with guidance, validate or verify outputs before use, and follow applicable security, privacy, confidentiality, and intellectual-property requirements. Deliver assigned work reliably and contribute to team velocity and quality through dependable execution. Qualifications Minimum Qualifications Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, Electrical Engineering, or a related technical field, with 0-2 years of relevant experience, or equivalent practical education and experience. Academic, internship, research, open-source, or professional experience using TLA+ and/or PlusCal in at least one project. Foundational understanding of state-machine based modeling, concurrent or distributed-system behavior, invariants, safety properties, and liveness concepts. Ability to read, write, and debug software in at least one general-purpose programming language. Foundational knowledge of algorithms, data structures, software testing, debugging, and version-control workflows. Ability to explain technical work in clear written documentation and participate effectively in technical reviews. Ability to work within defined priorities, follow detailed instructions, seek guidance when needed, and respond constructively to feedback. Preferred Qualifications Hands-on experience with the TLA+ Toolbox, TLC model checker, or command-line TLA+ tooling. Experience defining or checking invariants, temporal properties, fairness assumptions, refinement mappings, or counterexample traces. Coursework or project experience in formal methods, distributed systems, concurrent programming, operating systems, storage systems, protocols, or reliability engineering. Experience with Git-based collaboration, automated testing, CI pipelines, issue tracking, or technical documentation. Experience connecting a formal specification to implementation behavior, test scenarios, design reviews, or requirements traceability. Familiarity with Python, Java, TypeScript, C, C++, Rust (preferred), or another language used for tooling or systems development. Evidence of curiosity and learning, such as a capstone, thesis, publication, conference presentation, portfolio, open-source contribution, or well-documented personal project involving TLA+ or PlusCal. Additional Information Sandisk is committed to providing equal opportunities to all applicants and employees and will not discriminate based on their race, color, ancestry, religion (including religious dress and grooming standards), sex (including pregnancy, childbirth or related medical conditions, breastfeeding or related medical conditions), gender (including a person’s gender identity, gender expression, and gender-related appearance and behavior, whether or not stereotypically associated with the person’s assigned sex at birth), age, national origin, sexual orientation, medical condition, marital status (including domestic partnership status), physical disability, mental disability, medical condition, genetic information, protected medical and family care leave, Civil Air Patrol status, military and veteran status, or other legally protected characteristics. We also prohibit harassment of any individual on any of the characteristics listed above. Our non-discrimination policy applies to all aspects of employment. We comply with the laws and regulations set forth in the Equal Employment Opportunity is the Law poster. Sandisk thrives on the power and potential of diversity. As a global company, we believe the most effective way to embrace the diversity of our customers and communities is to mirror it from within. We believe the fusion of various perspectives results in the best outcomes for our employees, our company, our customers, and the world around us. We are committed to an inclusive environment where every individual can thrive through a sense of belonging, respect and contribution. Sandisk is committed to offering opportunities to applicants with disabilities and ensuring all candidates can successfully navigate our careers website and our hiring process. Please contact us at jobs.accommodations@sandisk.com to advise us of your accommodation request. In your email, please include a description of the specific accommodation you are requesting as well as the job title and requisition number of the position for which you are applying.