Senior Machine Learning Engineer
Job Description:
Pluralsight is hiring a Senior Machine Learning Engineer in our Draper, UT office. The role can also be US-based remote.
The Opportunity
In this role you will be a part of a product development team that delivers personalized experiences to Pluralsight's learners. You'll help our learners discover content that is relevant to their interests and goals, provide them with a homepage tailored just to their needs, and ensure they are receiving the right communication and assistance with their learning journey at the right time. You’ll be a part of a team that is user focused, has a mentality for experimentation, and iterates quickly. As an experienced machine learning engineer, your expertise will be vital to solving sophisticated problems and building the algorithms and frameworks that accelerate our personalization capabilities.
Who you are committed to being:
Some of the technologies that we love are: Python 3, Tensorflow, Airflow, Kafka, Typescript, Express, PostgreSQL, AWS, Kubernetes, Dask
Attention to detail - we want to be proud of our work
Test Driven Development - We maintain a suite of good tests for all production code.
Pair programming as well as individual with code reviews - we value collaborative development
Continuous Delivery - teams independently ship code to prod every day
Agile - we reduce the time to learn by having short feedback loops
Continual improvement - we take time to sharpen the saw and adjust how we work
Autonomous & responsible teams - we’re empowered to make our own product and development decisions to do the job
Cross-functional teams - collaborating through all phases of the product dev process
Customer research - we build what our customers actually want
Leaders who trust- teams build without top-down feature requirements
What you’ll own:
Develop robust, scalable production machine learning algorithms and recommendation systems. Evaluate trade-offs and do performance tuning for production traffic.
Work closely with Data Scientists to take prototype algorithms and models and turn them into customer-facing solutions.
Use your engineering expertise to help build solutions to novel problems in software development, data engineering, and machine learning.
Provide technical leadership and mentoring to more junior MLEs, knowing both when to step back and when to step in.
Build data pipelines. Transform and convert data streams into structures needed for algorithm input.
Collaborate with Product Managers and UX Designers to better understand the customer, provide valuable input into functional design and usability
Evaluate the efficiency of user experiences and ML algorithms, determining what data is needed and how to collect it, with an understanding of how these metrics are connected the desired outcomes
Apply your experience to make intelligent, forward-thinking, technical decisions to our development process, including implementing new standards, tools, APIs, and workflows.
Experience you'll need:
You have a passion to use machine learning to deliver product personalization at scale and the skills to go with it.
You have several years of experience building production machine learning systems services as part of a product development team, ideally in the context of recommendations and/or personalization.
You have worked in a collaborative development environment and have experience with continuous integration and delivery.
You are a strong Python developer, know your way around TensorFlow, and have a proficiency in data structures and database fundamentals. Experience with Node and Typescript are helpful.
You have a solid base in Computer Science and Math, and an understanding of the fundamentals of Machine Learning. Regardless of your formal training, you get excited on reading up on modern machine learning techniques and applications.
You care about writing good code and building great software. You understand the trade-offs when we have to move faster, but you know what quality means and how to get there when we need to.
You are comfortable moving up and down the stack. It matters less that you know the exact frameworks and tools that we use, but you must be willing and able to learn very quickly. We also mean full stack across other functions - you should be excited to understand the entire business and learn from customers.
You are good at breaking down sophisticated features into smaller more manageable tasks. You have the ability to explain machine learning solutions to developers and other team members, regardless of their technical background.