Senior Software Engineer, Data Acquisition

Posted 14hrs ago

Employment Information

Education
Salary
Experience
Job Type

Report this job

Job expired or something wrong with this job?

Job Description

Senior software engineer building distributed crawling and ingestion systems for People Data Labs, a provider of people and company data. Improving scalable backend services and data products.

Responsibilities:

  • Contribute to the architecture and improvement of the data acquisition and processing platform, increasing reliability, throughput, and observability
  • Use and develop web crawling technologies to capture and catalog data on the internet
  • Build, operate, and evolve large-scale distributed systems that collect, process, and deliver data from across the web
  • Design and develop backend services for distributed job orchestration, data pipelines, and large-scale asynchronous workloads
  • Structure and model captured data, ensuring high quality and consistency across datasets
  • Improve the speed, scalability, and fault tolerance of ingestion systems
  • Partner with data product and engineering teams to design and implement new data products and improve existing products
  • Learn and apply domain-specific knowledge in web crawling and data acquisition with mentorship from experienced teammates

Requirements:

  • 7+ years of professional experience building or operating backend or infrastructure systems at scale
  • Solid programming experience in Python, Go, Rust, or similar, including async / await, coroutines, or concurrency frameworks
  • Strong grasp of software architecture and backend fundamentals, including concurrency, scalability, and fault tolerance
  • Solid understanding of browser rendering pipeline and web application architecture, including authentication, cookies, and HTTP request/response
  • Familiarity with network architecture and debugging, including HTTP, DNS, proxies, and packet capture and analysis
  • Solid understanding of distributed systems concepts: parallelism, asynchronous programming, backpressure, and message-driven design
  • Experience designing or maintaining resilient data ingestion, API integration, or ETL systems
  • Proficiency with Linux / Unix command-line tools and system resource management
  • Familiarity with message queues, orchestration, and distributed task systems such as Kafka, SQS, and Airflow
  • Experience evaluating and monitoring data quality, ensuring consistency, completeness, and reliability across releases
  • Ability to work independently in a fast-paced, remote-first environment and collaborate asynchronously
  • Ability to communicate clearly and thoughtfully in writing
  • Ability to write and maintain technical design documents, including pipeline design, schema design, and data flow diagrams
  • Ability to scope and break down complex projects into deliverable milestones and communicate progress, risks, and blockers
  • Degree in a quantitative field such as computer science, mathematics, or engineering (nice to have)
  • Experience as a Red Teamer (nice to have)
  • Experience with large-scale data ingestion, crawling, or indexing systems (nice to have)
  • Experience with Apache Spark, Databricks, or other distributed data platforms (nice to have)
  • Experience with streaming data systems such as Kafka, Pub/Sub, and Spark Streaming (nice to have)
  • Proficiency with SQL and data warehousing such as Snowflake, Redshift, or BigQuery (nice to have)
  • Experience with cloud platforms, preferably AWS (nice to have)
  • Understanding of modern data storage and design patterns such as Parquet, Delta Lake, partitioning, and incremental updates (nice to have)
  • Experience building and maintaining data pipelines on modern big-data or cloud platforms (nice to have)

Benefits:

  • Stock
  • Competitive Salaries
  • Unlimited paid time off
  • Medical, dental, & vision insurance
  • Health, fitness, and office stipends
  • The permanent ability to work wherever and however you want