Staff Backend Engineer

Remote
Engineering - Europe /
Contract /
Remote
People.ai is an AI-powered foundational data platform that helps customers unlock go-to-market success & growth by providing teams with solutions built specifically for their needs. Providing enhanced pipeline visibility, more actionable insights, and a single source of truth for all sales activities. People.ai’s unique dataset, consisting of trillions of sales activities, millions of deals, 160 million business contacts, and 69 approved patents related to AI-based business insights, sets the company apart. Companies such as Verizon, IBM Red Hat, Snowflake, Zoom, and Palo Alto Networks rely on their enterprise-ready, patented AI technology. 

At People.ai, we believe that people enrich the world around them in countless ways. We believe that the more time they spend applying their creativity, resourcefulness, and critical thinking to activities that matter most in their professional life, the more effective a professional they become. Our team is a diverse, outspoken group of creatives and critical thinkers, hyper-focused on driving change and growth. We embrace different. We applaud non-traditional career paths. We're inspired by people who have made processes their own. 

As a Staff Software Engineer on the data team, you will design and implement the most critical components of our Revenue Intelligence System to deliver to our product and technology vision. The data infrastructure team is responsible for data ingestion from 3rd-party systems, it's processing, and storage. We use Spark as the execution engine and Amazon S3 and Riak for storage.
At the same time, you will shape the Engineering culture at the company through a mixture of your experience and leading by example. You will also be responsible for shaping the roadmap of the components you own. 

We value ownership highly—the ability to take an idea through all the stages from conception to shipping a product. This reflects throughout our company, but is especially true in engineering. As an engineer at People.ai, you'll be a part of a highly independent and autonomous team. Since we're building out a robust data layer that needs to be presented elegantly to the end-user, you'll be working with a large array of different technologies and fields. Expect lots of interesting challenges.

Requirements

    • 10+ years of professional experience working on backend systems in an enterprise environment
    • 3+ years experience programming in Python 2.x/3.x Scala or Java
    • Experience with an enterprise-grade stack for scalable apps including messaging broker, in-memory storages, NoSQL, and key-value databases
    • Strong knowledge of TDD, Unit, and automated tests paradigms
    • Strong skills in SQL and RDBMS solutions
    • Understanding of SOA, microservices, and event-driven architecture
    • Experience with containerized applications, Docker, and Kubernetes is appreciated
    • Possess a DevOps mindset, AWS experience is a plus
    • Strong knowledge of HTTP stack and REST principles for integration with 3rd-party vendors
    • Bachelor’s Degree in Computer Science, Computer Engineering, or in a closely related discipline

Responsibilities

    • Design, implement, test, and maintain features in the following core systems within our platform:
    • A scalable, fault-tolerant system for synchronizing tens of billions of sales data records into Customer Relationship Management (CRM) systems.
    • A social graph of the world’s sales data, incorporating hundreds of millions of records relations sales, people, companies, and deals to create actionable advice for sales and marketing teams.
    • An intelligent system for matching sales activity (e-mails, calendar data, calls) with sales data records from Customer Relationship Management (CRM) systems, incorporating both complex business rules and using Machine Learning to leverage the company’s social graph.
    • Our core infrastructure, including areas such as user management, authentication, and authorization within our product.
    • Build monitoring and alerting tools to prevent our application from being unavailable; be part of weekly on-call rotations to quickly resolve any infrastructure issues whenever our application becomes unavailable.