Lead Software Engineer - Content Understanding
San Francisco OR Remote US/Canada
Engineering – Content Engineering
At Scribd (pronounced “scribbed”), we believe reading is more important than ever. Join our cast of unique characters as we build the world’s largest and most fascinating digital library: giving subscribers access to a growing collection of ebooks, audiobooks, magazines, documents, and more.
In addition to works from major publishers and top authors, we also create our own original content exclusively for Scribd users.
Our community includes over 1M subscribers in more than 190 countries. Join us in turning screen time into quality time!
The Content Understanding team's mission is to build metadata from and produce insights into the subject matter of, topics and categorization of, inter-corpus relations of each individual piece of content on Scribd. The work includes:
• Maintaining metadata extraction pipelines, storage of document metadata, and APIs exposing metadata to other Scribd systems.
• Analyzing uploaded documents for copyright infringement, spam, and other quality checks.
• Maintaining systems that link documents to Scribd’s taxonomy and other classification systems.
• Exposing all documents to search indexers through sitemaps.
Scribd's ability to surface more relevant, topical, and personalized content to our users hinges on our ability to understand the content of each book, audiobook, article, and uploaded document. The output and success of the Content Understanding team is a strategic pillar of Scribd's continued and accelerating growth.
The team is split between our San Francisco headquarters and our Toronto office. We use tools that emphasize asynchronous communication (Slack, Gitlab, Jira, Google Docs) but will also pair program or jump into a meeting room when those are the best approaches. Regardless of the medium, solid communication skills are a must. We operate with autonomy (developers closest to the code will make the most well-informed decisions) while holding ourselves and each other accountable for using good judgement when faced with each day's unique challenges.
Our technical work is divided between our user-facing Rails application and our offline data warehouse (where much of our processing is done on top of Spark). Many of the systems we're responsible for span both environments, so engineers regularly work within both. Though the tech stacks differ between environments, the engineering work in both is the same - create data pipelines to ingest, process, clean, and layout the metadata coming from publishers and other external sources, as well as create new metadata from our vast content base.
As the Tech Lead of the Content Understanding team, your job will be to provide hands-on technical leadership across all of the team's in-progress work as well as the team's technical roadmap. The responsibilities include:
• Leading the design, implementation, and delivery of your primary project.
• Consulting on and approving the technical design, project plan, and delivery schedule of all other team projects.
• Ensuring consistency of design, adherence to Scribd engineering principles and practices, and operational excellence across all team work.
• Working closely with the team's Engineering Manager to prioritize technical projects and improvements relative to requested feature work.
• Developing a long term roadmap for evolving team systems to support orders of magnitude growth of Scribd's subscribers, user uploads, and publisher content.
• Being a presence that makes every engineer on the team better.
As the responsibilities demonstrate, the Tech Lead role is more than just an advanced IC role. It is a hands-on leadership role, where you will balance the responsibilities of project work with team technical leadership. Your years of experience allow you to give guidance on projects you aren't deeply familiar with and quickly diagnose the root causes of bugs. You and the Engineering Manager will be a team, whereby your expertise and ability to handle daily technical blockers enables the Engineering Manager to focus on interviewing and hiring, people management, and project planning.
If these responsibilities match your interests (and excludes responsibilities you have no desire to perform) then you should apply!
Office or remote?
In this unprecedented time this role will start as full-time remote, as all of our employees are working from home. When everyone is able to return to the office this role is available at our new office in San Francisco or in our Toronto office. This position can also be fully remote for candidates with experience leading development remotely.
• 10+ years of experience as a professional software engineer
• 5+ years experience working with Ruby on Rails (or similar language + MVC web framework)
• 3+ years experience working with data pipelines
• Deep knowledge of common data architectures and industry technologies
• Bachelor’s in CS or equivalent professional experience