As a backend engineer at UserIQ, you will be helping scale our analytics backend that handles thousands of events per second. All of our data has users in mind so retrieving analytic analysis quickly and without interrupting other services is of paramount importance. Our event pipeline utilizes many new technologies which include Apache Kafka, Cassandra, Redis, distributed Postgres, Apache Spark, and others. These systems allow us to evaluate and get actionable information for web application and mobile users in near real time. This provides our customers an opportunity to engage with their users in the moment and with context. Our system handles both a mix of web, mobile, and synthetic data via a unified API.
Purpose for this role
We’re looking for a self-starter who can take a set of requirements and prototype, test, profile, and iterate on ideas efficiently. You are a team player and are comfortable asking questions and collaborating on ideas, but also like to work autonomously on provided tasks or requirements and see it through to the end. You are also passionate about delivering on a provided deadline. As a backend engineer we’re looking for you to build upon and maintain our backend API as well as design and optimize performant database operations as required by design specifications and system load. You will design new data models and system architecture based on the load and requirements for our distributed systems.
Requirements, Skills, Traits & Competencies
- BS in Computer Science, Engineering, or Mathematics
- Strong technical knowledge of data structures and algorithms
- Strong technical knowledge of ANSI SQL
- Strong technical knowledge of distributed systems
- 5+ yrs of industry experience
- Self-starting, motivated, and determined individual
- Ability to use all available resources (books, stackoverflow, google, etc.) to identify and test solutions to problems you haven’t seen before
- Maintain, test, and build upon our backend systems to support both our analytics pipelines and web application
- Develop, profile, and optimize new data structures in both our relational (SQL) and NoSQL databases
- Support and efficiently debug issues that are brought forth by both our Sales and CS teams