Intelletec has partned with a vibrant and exciting new social platform that's often been called "Minecraft for Messaging"! You'll be part of an ambitious team, merging the best new technologies with modern design, building an immersive new experience, that fundamentally changes the way we socialize online.
They are an agile team, backed by investors in San Francisco, CA.
This is a remote or on-site role. As a member of their team, the Principal Engineer will be responsible for and lead all phases of their backend software development
including ideation, prototyping, design, and implementation. This role is 95% hands-on development, as well as a mix of lead/architecture work and strategic planning.
As the Principal Engineer, you will have a considerable impact on the team, their culture, their architecture, and methodology. Helping steer the right technology choices, standards and supporting the growth of our engineering team, the Principal Engineer will be an integral part of the company for many years to come.
They are looking for someone who has a true passion for consumer products and is looking to play an integral part in the development of this fun and exciting company.
This role will give you the opportunity to tackle challenging problems, including...
- Building performant systems in a high-latency environment. This involves a combination of aggressive caching strategies, targeted denormalization, and outside-the-box thinking to create a smooth, continuous user experience.
- Maintaining code flexibility as the project evolves. They move fast, and the code needs to keep up. This involves a solid understanding of abstract programming patterns and data structures, clear and structured thinking around code design, identifying and simplifying code complexity, and the ability to adapt to ever-changing requirements.
- Measuring "connectedness" between two nodes in a graph. their social network is modeled as a graph. The decision about which newsfeed items to show a user, and how to rank those newsfeed items, often boils down to the user's "connectedness" to other users and to the items they post. This measure extends to friend recommendations, events you might find interesting, and much more.
To be successful in this role, we'd expect you to have...
- 7+ years of Node.js development
- Experience with GraphQL, Apollo, TypeORM, Postgres
- Experience with Apollo Subscriptions, Websockets
- Experience building REST API Endpoints and WebSockets
- Experience working with large, complex applications
- Experience supporting mobile application architectures, push notifications, etc.
- Previous experience building messaging and/or social application backends
- Proficiency with Typescript
- Experience with State Machines, Behavior Trees
- Experience with Serverside image processing and manipulation
- Experience with Firebase Cloud Firestore, Real-Time Event Systems
- Experience with Redis, aggressive caching for high performance systems
- Experience with Functional Programming patterns (e.g. functors, monads, lenses, composition)
- A desire to to tackle tough problems
As a bonus, we'd love you to have…
- Experience with React, React Native, Web development
- Knowledge of Graph Theory, Graph Analytics, Markov Models
- Knowledge of Data Science / Machine Learning algorithms
- Experience with MMO games
- Experience with GitLab CI/CD, AWS
- Experience with Unit testing and TDD