Web Analytics
May 19, 2020

Software Engineer, Backend

  • Forethought
  • San Francisco, CA, USA
Full time Backend Developer

Job Description

At Forethought, we're solving the world's hardest problems in Natural Language Understanding to build an "answer engine" for the enterprise. Customers use our answer engine to give employees and customers access to the right information at the right time. Our mission is to "enable everyone to become a genius at their job".
Founded in 2017, Forethought is funded by some of the top VC's and Angel Investors in Silicon Valley. (Hint: We're backed by some of the same investors as Twilio, Lyft, and Front)
We're looking for world-class Backend Engineers to join our team! We're looking for folks with a growth mindset, who love to solve the world's hardest problems, and want to have an impact on the world.
As a member of the Backend team, you will be responsible for designing, building, and deploying the features and underlying systems that power our core answer engine. You will interact with everything from our document indexing pipeline to our natural language query infrastructure written in Python and Go. Our tech stack leverages top modern technologies, including Docker, Kubernetes, Kafka, Spark, Redis, AWS S3/EC2/RDS/KMS, MongoDB, and Lucene. As an early member of the team, you will also be building out custom infrastructure and algorithms on GPU/TPUs for Deep Learning & NLP.
What a typical week may look like at Forethought:
  • Develop backend services and infrastructure to expand our answer engine to support 10M+ documents and 100K+ QPS
  • Ship web applications and APIs using Python, Flask, MongoDB, MySQL, Lucene, Spark, React, Go, and/or TensorFlow
  • Optimize the performance of our indexing, processing, and query pipelines
  • Take product ideas from ideation to implementation
  • Read the latest papers in NLP and Deep Learning
  • Implement state-of-the-art algorithms in Question Answering, Machine Reading Comprehension, Text Summarization, in a scalable, production-ready fashion using Tensorflow and Spark
  • Build systems to evaluate and tune performance of a real world deep learning system, from data collection to processing to model implementation to post-processing and visualization
What we value and look for in a Backend Software Engineer:
  • BSc in Computer Science, Mathematics, or a related technical field
  • Proficiency in Python or Go
  • 3+ Experience in Software Engineering
  • Experience building large-scale distributed systems
  • Familiarity with modern Big Data stack (Spark or Hadoop, Kafka or RabbitMQ, ZooKeeper, Redis, Memcache, Lucene, MongoDB, MySQL)
  • Familiarity with containerization and dev-ops (Docker, Kubernetes, Docker Swarms, Jenkins, Phabricator, Continuous Integration, Continuous Delivery) is a plus
  • Familiarity with modern Deep Learning and Natural Language Processing / Natural Language Understanding (NLP, NLU), including Neural Networks, RNNs, seq2seq models, and real world machine learning in TensorFlow (incl. regularization, cross-validation, dropout) are a plus
  • Adaptable, humble, and interested in pushing the boundaries of what's possible
What you get:
  • A fast-paced and collaborative environment
  • Build large scale distributed systems from the ground up
  • Work with world class talent (our team consists of former Facebook, Palantir, Dropbox, and LinkedIn Engineers; we have 2 ACM ICPC World Finalists)
  • A chance to be a defining/founding member of the team, with equity to match
  • Make an impact, and help us in our mission to give everyone the opportunity to be a genius at their job; 
  • Medical, dental and vision coverage 
  • Unlimited PTO policy