Senior Software Engineer @ Traitify

Traitify · Apr 4th 2018

Apply on

About Traitify

Traitify is revolutionizing the personality assessment industry! Founded in 2011, Traitify has developed a patented methodology by which unique personality profiles are created by users choosing “Me” or “Not Me” when presented with a series of images. Backed by a team of psychologists, we're providing personality based insights to Fortune 100 companies about their customers and employees. Traitify makes personality data accessible to companies looking to better understand their users in order to deliver more personalized recommendations and content.

Who You'll Be Working With

We're a small team of talented software developers, with a diverse background in various industries and technology stacks. We value individual contributions to team success, and it's through collaboration and these contributions that we create the reliable and performant code that makes Traitify a great place to work. We work remotely and stay in contact primarily through Slack, but also have a daily standup with the whole technology team via Google Hangouts. We understand the value of uninterrupted time, so often we're heads down writing code or researching new technologies or solutions. Speaking of new technologies, we value experimentation to solve new problems, or to improve existing solutions. Here's a few examples:

  • Experiment with new languages and platforms to determine direction for future microservices, one of which we're now using in production as a result of this effort.
  • Replaced our existing Java based acceptance testing suite with a Python based framework that we can eventually hand to a dedicated testing team.
  • Replaced some repetitive JDBC and buggy Hibernate implementations with the JOOQ library.

We strive to write well-tested and clean code. We perform peer code reviews via Github to help catch defects and learn from one another.

We also try and get together in person a few times a year, to have face time with each other and the rest of the stellar employees at Traitify.

What You'll Be Doing

As a Senior Engineer on the API team, you'll be helping develop new features for our public facing API. You'll be helping troubleshoot customer issues, as well as working with teams developing internal tools and products here at Traitify. A typical day can include fixing a defect, writing a new API method to search our database of personality assessment results, reviewing a pull request or load testing our Analytics API methods. We're growing fast, so a few things in our future include:

  • Moving the API from a monolith to a microservices architecture.
  • Investigating NoSQL or de-normalized datastores.
  • Discovering and building ways to interpret our personality data and turn them into actionable insights for our customers.
What We Expect From You
  • Strong experience (5+ years) in writing production quality code in a strongly-typed compiled language (Java, Go, C++, etc).
  • Strong experience in writing production quality code or writing reusable tooling in a dynamically-typed scripting language (Elixir, Ruby, Python, etc).
  • A strong background (at least 3+ years) in writing well used public facing JSON APIs. Knowledge of RESTful practices is a plus.
  • Experience writing software at scale. What sort of scale? We do hundreds of thousands of API calls a day, and expect that to grow exponetially in the coming years.
  • Comfortable in a *NIX environment and using a shell (bash, zsh, etc).
  • Excellent written communication skills.
  • Ability to work collaboratively with a remote team. We work primarily via Slack, Google Hangouts, and Github to do our work.
  • You write clean, well tested code.
  • A commitment to mentoring and self-improvement through code reviews and continuous learning.
  • Experience working with cloud based DevOps-managed infrastructure (we use AWS).
  • Strong experience with SQL and other datastores. You should be able to reason about ACID and transaction isolation levels, and have a grasp of the CAP theorem.
Bonus Skills!
  • GraphQL
  • Microservices, in particular experience with messaging services (Kafka, Amazon Kinesis) and RPC frameworks such as gRPC
  • CQRS
  • Machine Learning and/or Natural Language Processing
  • Experience designing and scaling full-text search services
Benefits and Perks
  • Vision, Medical, Dental
  • Equity
  • Company paid vacation
  • IRA with Company Contribution
  • Work Remotely
  • Quarterly Get Togethers
  • Choose Your Machine (We primarily use Macs, but if you want a Dell running Linux, do your thing)
Sounds Like A Good Fit?

Apply to the position, then we'll schedule a phone interview with the team you'll be working with. We'll ask you about your experience, professional goals and any fun hobbies you have. We'll try and tell you anything you want to know about the team, technologies and projects you'll be working with.

If everything seems good, we'll give you a short programming assignment to work on. We don't expect it to take a long time to complete. We'll set you up in a chat with part of our team so you can ask questions and collaborate, matching it as close as we can to our daily workflow. Once you're done we'll do a follow-up and discuss your assignment. If everything goes well, we'll schedule another interview to make an offer. We hope you'll be as excited to work with us as we are with you!

Apply on