FamilySearch is seeking a Machine Learning Engineer in Software Development to help in indexing historical global records.
This is an expert, professional-level position that requires vast knowledge of industry practices, organizational policies and good judgment in selecting methods and techniques for designing, defining, developing, testing, purchasing, implementing, and analyzing of technical products and systems of diverse scope. This position recommends system purchases for high value projects. This position is responsible for technical leadership in architecture, design, implementation, and on-going engineering support of the organization's technology applications.
This individual works with divine guidance to provide or support technology that furthers the mission of the Church and reflects the eternal impact of the gospel.
This unique position will have the opportunity to bless the lives of literally millions of our Heavenly Father's children by helping them find their ancestors in the billions of currently unindexed document images on FamilySearch's site. Even at the Church, there are few jobs with such a huge potential for positive impact! This position will be challenging and provide opportunities to learn and apply machine learning to automatically index millions of records.
What will you be doing?
- Creating services to make available machine learning technologies from our Research team.
- Applying software development skills, machine learning and data science knowledge to enhance our machine learning and record publication capabilities.
- Helping build the future of machine learning tools and services to support the purpose of FamilySearch.
- Learning machine learning and data science and it's application in records production.
- As a member of a ML software engineering team, participate in team meetings, team planning sessions, setting team goals, and all other team activities
- Estimate the time to develop and deliver features as defined by product management
- Participate in peer reviews of project software design and coding
- Develop source code and unit tests according to technical designs
- Self-directed and can provide classroom instruction in the areas of Church software development processes, industry best practices, and new technologies being adopted for the organization
- Provide training, mentoring, or pair programming with other less experienced engineers
Bachelor's degree in related field or equivalent experience; Master's preferred
- 8 years software development experience including Java back end development
- 3 years machine learning experience including development and deployment of machine learning models. Experience with training and testing models in a production environment.
- Keen interest in foreign languages and scripts
- Fluency in at least one non-English language a plus
- Ability to think about language structurally (sentence diagramming, etc.)
- Paleography (transcription of historical scripts) experience a plus
- Passion for Family History
Machine Learning Data Science:
- Track record of active involvement in the Big Data field (e.g. Kaggle competitions, etc.)
- Experience working with Big Data tools such as Spark, Hadoop, etc. across large compute clusters
- Solid understanding of applied mathematics, statistics, and probability
- Mastery of essential Linux data manipulation tools like sed, grep, sort, regexes, etc.
- Familiarity with common ML frameworks including TensorFlow and Keras
- Solid understanding of theory and mechanics of deep learning techniques including:
- Convolutional Neural Networks (CNNs)
- Recurrent Neural Networks (RNNs) including Long/Short Term Memory (LSTM) networks
- Solid experience with machine learning in an applied production setting, including:
- Large scale data collection, annotation, and verification
- ML dataset management tools
- Management and cost-optimization of ML training and inference infrastructure
- Monitoring, evaluation, and ongoing tuning of production ML models
- Computer Science and programming fundamentals
- Solid Java and Python programming skills
- Track record of creating reliable, maintainable and performant code in a large scale production ecosystem
- Basic web development skills
- Experience architecting both synchronous and asynchronous systems in an SOA environment
- Experience collaborating across multiple teams to provide working solutions
- Experience leading both technical and non-technical staff
- Excellent communication skills
- Comfortability working with academic researchers and engineers alike
This job operates in a professional office environment
To successfully perform the essential functions of the job there may be physical requirements which need to be met such as sitting for long periods of time and using computer monitors/equipment
Must be a member of The Church of Jesus Christ of Latter-day Saints and currently temple worthy.
Posting Notice/More Info.
Please Note: All positions are subject to close without notice (Tech123)
Find out more about the many benefits of Church Employment at http://careers.churchofjesuschrist.org.
Apply on company website