Software Engineer

Diffbot runs one of the largest web-scale machine learning systems composed of many micro-services that perform crawling, rendering, natural language processing, computer vision, information extraction, and document analysis. The Software Engineer at Diffbot plays a critical role in advancing the efficiency and scalability of this machinery. Diffbot provides experienced software engineers an opportunity to work on web-scale machine learning problems while being part of a small high-impact team.

Responsibilities

  • Measure, optimize, and architect high performance systems that run on hundreds of machines (cloud and custom-assembled hardware)
  • Optimize machine learning software implementations and models to improve machine utilization and efficiency
  • Resolve customer-facing issues and fix bugs 
  • Develop practices to enhance code quality and ease of maintenance

Qualifications

  • BS degree in Computer Science, similar technical field of study or equivalent practical experience
  • Experience in production Java software development
  • Experience working in a Linux environment
  • Experience with high quality code practices and testing
  • Experience with software performance optimization
  • Ability to learn and quickly ramp up on other coding languages as needed

Preferred Qualifications

  • 8+ years of experience in Java software development
  • Master’s, PhD degree, further education or experience in engineering, computer science or other technical related field.
  • Applied machine learning experience
  • Experience with designing and implementing production distributed systems
  • Previous technical leadership role

Apply for this Job

* Required