Jobs
General Profile
We are seeking talented and motivated software engineers preferably with multiple years of experience in developing large scale software systems. The goal of 100X Imaging is to bring a wide range of software technologies to Life Science imaging including: multi-dimensional acquisition, hardware control, synchronization, data management and real-time image analysis.
An ideal candidate should have a BS or MS degree in engineering or science and must have software advanced engineering skills and the ability to independently produce well designed, maintainable, readable and elegant software. The candidate should be able to convincingly demonstrate such ability in the interview process. We believe that any specific technology can be learned on-the-job relatively quickly, while acquiring above mentioned skills can take years and requires talent and dedication.
We develop desktop-based software in C++ (back-end) and Java (front end), while our Internet-based systems additionally require JavaScript, RDBMS systems and server-side scripting. Our software is cross-platform (Windows, Mac and Linux) but we don’t expect that candidates should necessarily have expert knowledge of all three operating systems.
Our software covers very broad range of building blocks (hardware control, concurrent programming, databases, Web middleware, user interfaces) and we therefore strongly prefer people who have experience and interest in multiple fields. Currently we have three tracks of development:
Hardware interfacing and control
Required experience with hardware interfacing, systems programming (threads, timers, etc.) and instrument control. The candidate should be able to demonstrate expert level knowledge of C++, including template programming and standard template library, proficiency with Object Oriented design principles and UML. Familiarity with programming multiple platforms (Windows, Linux or Mac) is a plus. Proficiency in Java is desirable but not required.
The initial focus is on developing core image acquisition software and device adapters/drivers for a very wide range of devices: scientific grade digital cameras, stages, filter wheels, stepper motors, serial ports, USB ports, etc. However, we are seeking software engineers with wide range of interests, willing to engage in other aspects of the image such as: metadata processing, script interpreter design or real-time algorithms.
Desktop applications
Our desktop front-end is based mainly on Java. The experience with Java and SWING is a strong plus. Proficiency in C++ is also desirable but not absolutely required. The candidate should be able to demonstrate expert level knowledge of Java, familiarity with Object Oriented design principles and UML, as well as understanding of fundamental computer science principles: parser and lexical analyzer structure, basic algorithms, concurrent programming, middleware, etc.
The initial focus is on development of advanced image processing and manipulation user interfaces. Tasks may also involve metadata processing and database interfacing.
Internet applications
This track involves building AJAX systems, both client-side and server-side as well as database interfacing. However, general software engineering skills (similar to other tracks) and expert knowledge of Java or C++ are required.
Submitting job proposals
We have openings both in San Francisco and Bangalore offices. An attractive salary, and potentially equity, will be offered based upon experience and skills. We are also open to consulting arrangements. If you don't think that any of the above 'tracks' matches your interests, but you still think that you fit the general profile, contact us anyway. We may be willing to invent a new track for a creative candidate with interesting ideas.
Please email your resume, cover letter and contact information to:
jobs@100ximaging.com

