Summary
SingleStore is a cloud-native distributed SQL database company serving real-time applications, analytics, and AI. The Software Engineer Intern will design, implement, test, and improve production-quality database software while contributing to projects involving query processing, storage, distributed systems, reliability, and performance.
Responsibilities
- Developing new features and improvements across the SingleStore database
- Working on SQL query processing and query optimization
- Improving storage engines, indexing, and data management
- Building reliable distributed-system components
- Working with concurrency, multithreading, and fault tolerance
- Investigating performance, scalability, and correctness issues
- Writing production code, tests, documentation, and technical designs
- Collaborating with engineers, product managers, and cross-functional partners
Skills
- Currently pursuing a bachelor's or master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field
- Strong foundation in data structures, algorithms, operating systems, and computer architecture
- Understanding of concurrency, multithreading, and server-based systems
- Programming experience in C++ or C
- Strong analytical and problem-solving skills
- Ability to communicate clearly and collaborate effectively with teammates
- Curiosity, ownership, and willingness to learn
- Prior professional experience is not required
- We welcome candidates who have developed their skills through coursework, research, projects, internships, or open-source contributions
- Coursework or project experience in databases, distributed systems, operating systems, compilers, networking, or storage systems
- Experience debugging or optimizing systems-level software
- Familiarity with Linux or Unix-based systems
- Experience with performance profiling, memory management, or low-level programming
- Experience contributing to production software or substantial technical projects
Qualifications
Must Haves
- Currently pursuing a bachelor's or master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field
- Strong foundation in data structures, algorithms, operating systems, and computer architecture
- Understanding of concurrency, multithreading, and server-based systems
- Programming experience in C++ or C
- Strong analytical and problem-solving skills
- Ability to communicate clearly and collaborate effectively with teammates
- Curiosity, ownership, and willingness to learn
- Prior professional experience is not required
- We welcome candidates who have developed their skills through coursework, research, projects, internships, or open-source contributions
Nice to Haves
- Coursework or project experience in databases, distributed systems, operating systems, compilers, networking, or storage systems
- Experience debugging or optimizing systems-level software
- Familiarity with Linux or Unix-based systems
- Experience with performance profiling, memory management, or low-level programming
- Experience contributing to production software or substantial technical projects
Benefits
- Hands-on experience building software for a production distributed database
- Mentorship from experienced database and systems engineers
- Exposure to database internals, query processing, storage, reliability, and performance engineering
- Opportunities to collaborate across engineering and product teams
- A supportive environment focused on technical growth and meaningful ownership
- A deeper understanding of how software is designed, tested, released, and operated