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.
- 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
- 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
- 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