Senior Software Engineer - Machine Learning

Software Engineering Santa Barbara, California

Who we are:

Over ten years ago, we launched AppFolio(NASDAQ: APPF) to revolutionize the way small and medium-sized businesses grow and compete. Today our software solutions serve the property management and legal industries.  At the heart of our products and services is a talented and agile team that understands the importance of a 100% customer focus.

With offices in Santa Barbara, Dallas, and San Diego, our business is built for long term success fueled by happy, loyal customers and a team of AppFolians who contribute to our great culture every day.

To learn more about AppFolio, our company values, and our engineering team check out our profile onThe Muse and our Engineering Blog.

Why AppFolio?

  •     Competitive Compensation
  •     Medical, Dental, Vision, and a 401k Match
  •     Amazing company culture: focus on a complete lifestyle
  •     Recharge: 20 Days PTO + 9 Paid Holidays
  •     Built to last: Grow your career in an innovative, public company
  •     Make an impact: your work plays a key role in transforming our customers’ businesses
  •     Love your team members: co-workers are often friends too
  •     Offices stocked with healthy snacks, games, and goodies
  •     A commitment to health/wellness including onsite fitness classes
  •     Give back to your team and your community

Who we are looking for:

We are hiring a Sr. Machine Learning Software Engineer to contribute to our rapid product development pace.  Our Engineers work collaboratively to set the technical direction for our SaaS products, developing easy-to-use solutions for our customers.

We are looking for machine learning engineers to help us bring next-generation products to market.  The ideal candidate will be a curious, rigorous, team-player who is passionate about bringing real AI products to life.  The ideal candidate will also be versatile and able to apply a wide variety of technical skills to solve problems.

This opening is on our AppFolio Property Manager product development team, working closely with our CTO.  


  • Work with our product development teams to design and develop machine learning and deep learning systems to build customer facing products and features
  • Work closely with, and incorporate feedback from other engineering team members, QA, and product owners, and our customers
  • Leverage both AppFolio’s structured and unstructured datasets to build new features and products that customers love
  • Exploring and visualizing complex data sets in order to gain insights.
  • Analyzing multiple ML algorithms that could be used to solve a given problem and use your seasoned intuition to rank their likelihood of success.
  • Leverage agile practices, encourage collaboration, prioritization, and urgency to develop at a rapid pace
  • Train models and tune their hyperparameters
  • Implementing preprocessing and feature engineering
  • Deploying models to production: You know basics of important industrial programming and deployment techniques such as unit tests, continuous integration and good monitoring
  • Research, share, and recommend new technologies and trends

You know you’re the right fit if…

  • You’re experienced with all parts of the model building ecosystem: You can go from raw dirty data to a well performing model that runs on-demand in production.
  • You have hands-on experience developing real products that are enabled by machine learning technology, preferably in a SaaS environment
  • You love learning about new technologies, but love building real products more.
  • You have high degree of initiative, creativity, persistence and a strong focus on producing tangible results
  • You have the ability to take academic or commercial models and concepts (including from other fields) and translate them into working code to solve problems
  • You are comfortable working in a Linux command line and have programming skills in Python, Java, or closely related object-oriented language
  • You care about work life balance and want your company to care about it to; you'll put in the extra hour when needed but won't let it become a habit.

Additional Skills and Knowledge:

  • Programming skills in Python or similar object-oriented language
  • Experienced user of SQL, Git and Linux
  • BS in Statistics, Computer Science, Data Science or other quantitative field.
  • Applied Machine Learning fundamentals such as decision trees, neural networks, statistical modeling, and/or clustering

 Nice to Have:

  • PhD or MS in Statistics, Computer Science, Data Science or other quantitative field.
  • Experience working across all levels of the development stack
  • Experience with AWS, Spark, Docker, TensorFlow or pytorch
  • Publicly verifiable work on Github or in Kaggle competitions

If you are interested in creating exceptional SaaS products, and contributing to a successful company, apply today!