Dice logo
Dice
Posted 10 days agoVerified live 1d ago

Software Engineer - CLI Tools Building

Brief overview

Remote
UndergradOr in progress
3+ yrsMinimum
C++PythonGoCommand-Line Interface (CLI) DevelopmentData Processing PipelinesProtocol BuffersJSONTextFormatStubby/gRPCREST APIsAPI Rate LimitingExponential Backoff

About the company

Dice is the go-to career marketplace for tech professionals.

Job description

Summary

Dice is hiring a Software Engineer to build CLI tools, data pipelines, and automated evaluation systems for its PII Rewrite Service. The role focuses on developing regression test harnesses, provisioning tools, high-volume data ingestion workflows, and resilient integrations with backend and downstream APIs.

Responsibilities

  • **Golden Dataset & Auto-Evaluation Pipeline**
  • **Dataset Conversion Tooling:** Build the conversion tools required to transform human-rater annotated evaluation results into a structured, machine-interpretable "Golden Dataset" using Protocol Buffers
  • **Regression Test Harness:** Build an Auto-Eval Harness that treats this dataset as a regression test suite to automatically evaluate the Rewrite Service and calculate key metrics like PII Recall, PII Precision, and Rewrite Consistency
  • **Multi-Format & Multi-Language Scaling:** Ensure the extraction pipeline and evaluation harness support core Workspace assets (Docs, Sheets, Slides, Gmail, PDFs, MS Office, Calendar, Chats) across multiple languages (English, Spanish, Portuguese, Japanese, Korean)
  • **OTA Provisioning & Data Ingestion Automation:**
  • **CLI Tool Development:** Develop the smb ota_provisioner, a robust command-line tool (in C++, Python, or Go) to orchestrate OTA check, creation, and data upload workflows
  • **Automated Provisioning:** Interface with backend systems via Stubby (e.g., TestaccountService) to dynamically create and assign Prod Gaia OTAs and Workspace (Dasher) accounts
  • **High-Volume API Ingestion:** Ingest sanitized SMB data from Colossus (CNS) and upload it to the OTAs in parallel by leveraging and extending the internal ota_lifecycle tool
  • **Rate Limiting & Resilience:** Implement robust error handling and retry policies with exponential backoff to respect strict write limits on downstream APIs (Gmail, Drive)

Skills

  • Strong programming experience in C++, Python, or Go
  • Experience building robust, fault-tolerant Command Line Interface (CLI) tools and data processing pipelines
  • Familiarity with defining and parsing structured data schemas (e.g., Protocol Buffers, JSON, TextFormat)
  • Experience working with RPC frameworks (e.g., Stubby/gRPC) and REST APIs
  • Solid understanding of system design principles, particularly around handling API rate limits and implementing exponential backoff mechanisms

Qualifications

Must Haves

  • Strong programming experience in C++, Python, or Go
  • Experience building robust, fault-tolerant Command Line Interface (CLI) tools and data processing pipelines
  • Familiarity with defining and parsing structured data schemas (e.g., Protocol Buffers, JSON, TextFormat)
  • Experience working with RPC frameworks (e.g., Stubby/gRPC) and REST APIs
  • Solid understanding of system design principles, particularly around handling API rate limits and implementing exponential backoff mechanisms

Benefits

  • Remote work arrangement in the USA, with EST or PST time-zone options

More jobs like this