Senior Software Engineer, Distributed Systems

at Censys
  • Remote - United States

Remote

Software Development

Senior

Job description

Company Background

Censys’ mission is to be the one place to understand everything on the internet. Frustrated by the lack of trustworthy Internet intelligence, we set out to create the industry’s most comprehensive, accurate, and up-to-date map of the Internet. Today, Censys delivers real-time Internet intelligence and actionable threat insights to global governments, over 50% of the Fortune 500, and leading threat intelligence providers worldwide.

Location: This position is remote within the United States

Role Summary:

We’re looking to hire a Distributed Systems Engineer to build highly-available and scalable, data-driven services that provide value directly to customers and across our organization. Censys operates distributed infrastructure for Internet-wide scanning, bulk DNS resolution, and X.509 certificate ingestion: your job will be to go below the surface of our data, and help us build the highest quality datasets and APIs.

At Censys, we believe in working iteratively, but we’re always thinking about the big picture. We’re building a platform that enables fast development of future products, and integration with new data collection methods. You’d be great for this position if you’re someone who considers not just initial development, but ongoing maintenance and monitoring. You consider delivery and developer experience, and everything you do can be built upon in the future by others.

What You’ll Do

  • 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.

Skills You Have:

  • 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.

What will make you stand out:

  • Familiarity and comfort working in a Linux based environment.
  • Familiarity with a service-oriented architecture with both synchronous services using gRPC or REST to coordinate and communicate between services and systems, and asynchronous services using message queues to coordinate and process large amounts of data.
  • Familiarity with data serialization technologies such as Protobuf, MessagePack, etc.
  • Experience building, deploying, and maintaining containerized services in a Kubernetes based environment.
  • Experience working with cloud-native technologies and environments, such as AWS, GCP, or Azure.

You also:

  • Collaborate and communicate well with other engineers working on related systems.
  • Enjoy technical architecture discussions and want to drive technical decisions within your team and across the entire engineering organization.
  • Continually improve skills, technical approaches, and familiarity with new technologies to help contribute to the success of the company.

Our target salary range for this role is between $138,000 USD and $180,000 USD + bonus eligibility and equity.

In addition to our great compensation package, our benefits are effective on day one and include but are not limited to: 401k match, health, vision, dental, and more! Please see our careers page for more details.

Our roots are in Ann Arbor, Michigan and our innovation is fueled by the team’s global perspectives. For this role, we are open to remote employees across the continental US.

Note to external recruiters/agencies: We are not currently engaging with third-party agencies for this role and will not accept unsolicited outreach. We kindly ask that you do not submit resumes or candidate profiles to our team.

Share this job:
Please let Censys know you found this job on Remote First Jobs 🙏

Benefits of using Remote First Jobs

Discover Hidden Jobs

Unique jobs you won't find on other job boards.

Advanced Filters

Filter by category, benefits, seniority, and more.

Priority Job Alerts

Get timely alerts for new job openings every day.

Manage Your Job Hunt

Save jobs you like and keep a simple list of your applications.

Search remote, work from home, 100% online jobs

We help you connect with top remote-first companies.

Search jobs

Hiring remote talent? Post a job

Frequently Asked Questions

What makes Remote First Jobs different from other job boards?

Unlike other job boards that only show jobs from companies that pay to post, we actively scan over 20,000 companies to find remote positions. This means you get access to thousands more jobs, including ones from companies that don't typically post on traditional job boards. Our platform is dedicated to fully remote positions, focusing on companies that have adopted remote work as their standard practice.

How often are new jobs added?

New jobs are constantly being added as our system checks company websites every day. We process thousands of jobs daily to ensure you have access to the most up-to-date remote job listings. Our algorithms scan over 20,000 different sources daily, adding jobs to the board the moment they appear.

Can I trust the job listings on Remote First Jobs?

Yes! We verify all job listings and companies to ensure they're legitimate. Our system automatically filters out spam, junk, and fake jobs to ensure you only see real remote opportunities.

Can I suggest companies to be added to your search?

Yes! We're always looking to expand our listings and appreciate suggestions from our community. If you know of companies offering remote positions that should be included in our search, please let us know. We actively work to increase our coverage of remote job opportunities.

How do I apply for jobs?

When you find a job you're interested in, simply click the 'Apply Now' button on the job listing. This will take you directly to the company's application page. We kindly ask you to mention that you found the position through Remote First Jobs when applying, as it helps us grow and improve our service 🙏

Apply