Censys

Senior Software Engineer, Distributed Systems

Censys

full-time

Posted on:

Location Type: Remote

Location: Remote • 🇺🇸 United States

Visit company website
AI Apply
Apply

Salary

💰 $137,000 - $165,000 per year

Job Level

Senior

Tech Stack

AWSCassandraCloudGoHBaseKafkaPythonRustScala

About the role

  • Design and build services that power existing and future products at Censys by continuing to improve and expand our Internet Map.
  • Build and extend large scale, real-time streaming services and applications which leverage our massive datasets to power internal product APIs and external applications.
  • Leverage a multitude of software architectures and techniques, including messaging queues, eventual consistency semantics, distributed locking, clustering, CQRS, and others.
  • Interface with a polyglot codebase, including working with existing Scala and Go applications.

Requirements

  • 5+ years of software engineering experience writing distributed and streaming applications.
  • Familiarity with functional programming and reactive programming techniques,
  • Familiarity with object-oriented programming techniques and languages such as Go, Rust, or Python. Go is highly preferred.
  • Experience with message queue technologies such as Kafka, Google Pub/Sub, AWS Kinesis and delivery semantics such as Exactly-once and At-least once.
  • Proficiency with distributed databases, such as BigTable, Cloud Spanner, HBase, Cassandra, with an understanding of trade-offs on consistency, durability, and replication of using such technologies.
  • Ability to build horizontally scalable systems, with a high degree of availability and fault-tolerance leveraging techniques such as distributed locking, load-shedding, etc.
  • Design automated solutions for building, testing, monitoring, and deploying data streaming pipelines in a continuous integration environment.
  • Interested in solving problems, not completing tasks
  • Ability to write understandable, testable code with an eye towards maintainability
  • Have strong communication skills and can explain complex technical concepts to other engineers, designers, and product managers.
Benefits
  • 401k match
  • health, vision, dental
  • and more!

Applicant Tracking System Keywords

Tip: use these terms in your resume and cover letter to boost ATS matches.

Hard skills
distributed applicationsstreaming applicationsfunctional programmingreactive programmingobject-oriented programmingGoRustPythonmessage queue technologiesdistributed databases
Soft skills
problem-solvingcommunicationcode maintainability