Junior Software Engineer - Virtual Instruments

San Jose, CA, US

At Virtual Instruments, we help our customers by transforming the way they are managing physical, virtual and cloud computing environments. Hundreds of customers use our Load Generation appliance to validate their storage systems, proactively diagnose performance bottlenecks, troubleshoot and test storage protocol implementations.

The Network Framework team is responsible for the core subsystems which storage protocols implementations in Load Generation appliance are built upon: we have proprietary TCP/IP network stack including device drivers, interprocess synchronization, scheduling and memory management mechanisms, etc.

We strive to make Virtual Instruments a great place to work by giving engineers the opportunity to directly interact with customers who are using their code in mission critical environments. We also have a focus on building an engineering culture centered on making every engineer successful through improvement not blame, and by directly empowering each person to make the maximum contribution through their unique experience and ability to innovate.


Software Engineer with 1+ years of experience.
Feel comfortable with C/C++.
Have a theoretical understanding of network protocols: Ethernet, TCP/IP.
Prior experience with kernel development preferred, especially in networking and memory management areas.
Have experience with at least some form of scripting (python or shell scripting preferred)
A solid foundation in Computer Science fundamentals such as data structures, algorithms, operating systems, object-oriented design and systems architecture.
Possess basic knowledge of storage protocols (iSCSI, NFS, SMB, S3, Fibre Channel, etc.).
Feel comfortable working in a startup or startup-like setting.
Communicate at both a tactical and strategic level as needed for project excellence.
Excellent written and verbal communication skills in English.
Like to challenge yourself, troubleshoot and solve difficult problems with limited supervision.
Solicit and incorporate feedback from multiple sources into your process.


B.S. or M.S. degree in Computer Science or related field.