Software Engineering - Golang - Networking

About Us

Signal Sciences empowers security and engineering teams by providing visible and effective web application security protecting against real-world attacks. With our unique hybrid on-premise and cloud architecture, we process, protect and report on billions of requests per day for some of the most sophisticated companies in the world ranging from Adobe to Vimeo, Taser to Under Armour. Our goal is making a more secure Web, with tools that people love to use, written by people who love to make them. Join us.

The Job

  • Is in the engineering group.
  • Located in Los Angeles, CA, although exceptional candidates a few time zones away will be considered.
  • Is an individual contributor job (not people management).

Problems

How fast and efficiently can data be sent between two processes?

Our unique and (patent pending) architecture can scale along with some of the largest sites on the Internet. However our customers are always pushing the boundary (both up in scale, and down to very small machines), and thus so must we. To do so we are constantly trying to do more with less, with a balancing act between CPU, memory and networking.

Solutions

We have some interesting variations on this, but you’ll likely be well versed in the following:

  • TCP/IP and Unix Domain Sockets
  • Connection pooling and multiplexing
  • Memory management
  • Concurrency primitives and lock-less data structures.
  • Data Serialization formats, in particular what are the pros and cons of ‘zero-copy’ formats.

While most of the codebase is in golang, we are happy to accept refugees from C/C++ and JVM-based languages.

How to Apply

To apply, please email the following things to careers@signalsciences.com: (1) your resume, preferably in PDF, plaintext or markdown format, (2) your GitHub or other social-coding handle, or a URL to your personal site or blog, and (3) a brief introduction to yourself, and why the job and Signal Sciences are right you. Didn't see quite the right job? Email us anyways as job descriptions don't always match the positions and skills needed.

Apply for This Position

The Job

  • Is in the engineering group.
  • Located in Los Angeles, CA, although exceptional candidates a few time zones away will be considered.
  • Is an individual contributor job (not people management).

Problems

How fast and efficiently can data be sent between two processes?

Our unique and (patent pending) architecture can scale along with some of the largest sites on the Internet. However our customers are always pushing the boundary (both up in scale, and down to very small machines), and thus so must we. To do so we are constantly trying to do more with less, with a balancing act between CPU, memory and networking.

Solutions

We have some interesting variations on this, but you’ll likely be well versed in the following:

  • TCP/IP and Unix Domain Sockets
  • Connection pooling and multiplexing
  • Memory management
  • Concurrency primitives and lock-less data structures.
  • Data Serialization formats, in particular what are the pros and cons of ‘zero-copy’ formats.

While most of the codebase is in golang, we are happy to accept refugees from C/C++ and JVM-based languages.