Traitify is looking for a Senior Engineer to join our 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 Meet. 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.
- Experiment with different data stores.
- Experiment with serverless technologies.
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.
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. This is underway, you'll help us get there faster.
- Investigating NoSQL or de-normalized datastores.
- Discovering and building ways to interpret our personality data and turn them into actionable insights for our customers.
- Building out a data warehouse using AWS offerings.
- Creating a learning service to give customers the best possible insight into their candidates.
- Strong experience in writing production quality code or writing reusable tooling in a dynamically-typed scripting language (Elixir, Ruby, Python, etc). We mostly use Elixir for new services.
- A strong background (at least 3+ years) in writing well used public facing JSON APIs. Knowledge of RESTful practices is a plus.
- Experience working with GraphQL.
- Experience writing software at scale. What sort of scale? We do hundreds of thousands of API calls a day, and expect that to grow exponentially 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 Meet, 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.
- Microservices, in particular experience with messaging services (Kafka, Amazon Kinesis) and RPC frameworks such as gRPC
- Machine Learning and/or Natural Language Processing
- Experience in writing production quality code in a strongly-typed compiled language (Java, Go, C++, etc). We have some services written in Java, it'd be helpful if you could read code and contribute if needed.
- Vision, Medical, Dental
- Company paid vacation
- IRA with Company Contribution
- Ability to Work Remotely
- Quarterly Get Togethers
- New Computer
- Traitify SWAG!