
Senior Software Engineer, Distributed Systems
Censys
full-time
Posted on:
Location Type: Remote
Location: Remote • 🇺🇸 United States
Visit company websiteSalary
💰 $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