Backend Engineer

Boston, MA
Engineering
Full-time

Experience: 3+ years professional experience

Overview
indico is a machine learning company turning unstructured text and image data into actionable insight. We are looking for an experienced backend developer that wants to make a difference in a challenging domain and help apply indico’s machine learning technology at scale.

About the position
As backend engineer at indico, you will be writing the software that powers the indico API and keeps our servers up and running smoothly.  You will aggregate data from a wide variety of sources, and use that data in conjunction with our machine learning APIs to build robust products on top of our core tech. You will also be responsible for building out the backend APIs that our front-end engineering team uses to help users visualize and understand their data.

About you
You are a friendly and enthusiastic person whose dedication to easily maintainable code is rock solid. This is shown by your ability to think creatively about a problem while evaluating what solution will benefit indico’s stack most in the long term rather than the short. You enjoy helping make software architecture decisions. You automate tasks that you notice are repetitive. You're invested in having a life outside of work that is bolstered by a fulfilling job, not dominated by it. You look out for others and it shows in your willingness to sit down and hear out whatever needs or feedback other team members have in order to foster constructive conversation about personal and professional growth. With all that in mind, most importantly you have fun with it!

Responsibilities

    • Write long running services to help indico monitor the web for important news events
    • Build out internal APIs to power indico’s frontend data visualization tools
    • Manage database schema design and migration
    • Use the suite of indico APIs to solve real world problems
    • Help maintain and improve the client libraries for the indico API
    • Find and address API performance bottlenecks
    • Package and release new machine learning APIs into the wild
    • Build internal tools to help keep the rest of the indico development team productive

Requirements

    • Self-directed and active learner
    • Python experience
    • Understand the need for testing and do so regularly
    • Prioritizes clean, maintainable code
    • Excellent communication and teamwork skills
    • Database expertise
    • Experience with cloud hosting platforms
    • Distributed systems expertise
    • Experience working in a multi-threaded / asynchronous environment

Bonus

    • An interest in machine learning
    • Likes to laugh
    • Tornado web framework experience
    • Familiarity with Redis / PostgreSQL / Elasticsearch
    • Docker experience
    • Strong knowledge of linux
    • Experience in API design and documentation
    • Previous experience with AWS, GCP, Azure or deployment automation tools
    • Expertise in load balancing, network security, or fault-tolerant systems