Software Engineer

We’re seeking a Software Engineer to work on problems at the intersection of Data Extraction, Transformation and Loading (ETL), Artificial Intelligence, Data Mining, Data Analysis, and software performance analysis.

In this role you will collaborate directly with Research Scientists, Engineers and Data Analysts to optimize the interaction and sharing of responsibilities between humans and machines.

We’re primarily looking for great software engineers who also have experience with Machine Learning models and techniques (e.g., language and/or perception). But if you don’t have experience in Machine Learning but are a particularly strong software engineer, we’d still like to hear from you.


  • Manage individual project priorities, deadlines, and deliverables
  • Adapt to changes and setbacks in order to manage pressures and meet company requirements
  • Demonstrate and apply principled software engineering practices
  • Be versatile and passionate about tackling new problems and learning new technologies
  • Have a strong sense of ownership and drive
  • Sharp problem solving skills and ability to tackle new problems effectively while hiding complexity


  • Use ideas from every facet of Computer Science (including distributed computing, large-scale design, big and real-time data processing, data storage, machine learning, and artificial intelligence, modern hardware) to solve challenging problems in big heterogeneous datasets
  • Work alongside Research Scientists and Senior Engineers to bring their ideas to life by implementing algorithms, running experiments and building prototypes
  • Work alongside Data Analysts to understand their needs, communicate software capabilities and propose processes and systems to achieve company goals

Minimum qualifications:

  • BA/BS degree in Computer Science, related technical field or equivalent practical experience (based on 3 years of work experience for every 1 year of education)
  • 3+ years professional experience in software development
  • Computer Science fundamentals in object-oriented design
  • Computer Science fundamentals in data structures
  • Computer Science fundamentals in algorithm design, problem solving, and complexity analysis
  • Proficiency in at least one modern programming language such as C++, Java, or Python

Preferred qualifications:

  • Advanced degree (MS/ME) in Computer Science or related technical field
  • Expertise in Map/Reduce systems such as Hadoop/Hive/Flume
  • Large data analysis and visualization experience
  • Exposure to industry or academic research
  • Exposure to Deep Learning, Deep Neural Networks, or related fields and a strong interest and desire to learn about them


  • Flexible

Interested in this position?
Please email your resumé to