Company Description
Arista was founded by Andy Bechtolsheim who also founded Sun Microsystems and was one of the original investors in Google. Arista is a profitable, publicly quoted company, growing rapidly with over 3000 customers including 7 out of the 8 largest cloud titans which include eBay, Facebook, Microsoft, Netflix, PayPal, Spotify, and industry partners such as VMware, Dell, F5, HP, Infinera, Nuage, Palo Alto Networks, Supermicro, Inc and Rackspace. Arista is headquartered in Santa Clara, California and has development offices in the US, Canada, India and now Ireland.
Arista recently acquired the Awake Security NDR (Network Detection and Response) platform and would like to accelerate the delivery of a further performanced optimized verson of the proprietary deep-packet inspection engine that provides the data that powers the platform. This work will ensure that the platform can support the needs of even the most demanding customer environments.
Job Description
You would be joining our protocol analysis team, which is responsible for the forensic packet storage, deep packet inspection, and traffic correlation/aggregation components of the solution. Your primary initial responsibility would be to expand the characterization of the performance of the existing implementation in collaboration with our QE team and propose both targeted performance optimizations to accelerate it and architectural changes that could dramtically improve it. Over time there would be opportunities to branch out into other related protocol work as well as work on EAQL, our adverserial modeling language, that leverages the extracted data to detect threats in our customer’s networks. Our team is currently based in the US; we will consider non-US applicants with a strong background but we will prefer US candidates if all other things are equal.
We use Haskell and Nix extensively. This position is an excellent opportunity for those interested in building professional experience using Haskell and Nix in production for demanding tasks.
Qualifications
Requirements
This position is for a senior software engineer. We enjoy training and mentoring each other, but we expect senior members of the team to work through issues independently (even if more slowly) when others are not available.
Proficiency in C++ is required. Parts of our low-level infrastructure are written in or integrate with C and C++ code. The runtime system for Haskell, which significantly affects performance, is also implemented in C. It is expected that you would be reading and interfacing with this code extensively in this role.
Proficiency with Haskell is greatly preferred, including performance analysis/optimization.. The ideal candidate will have significant experience with Haskell in some prior capacity. An open source Haskell portfolio is an acceptable substitute for professional experience. Experience specifically with performance analysis and analysis of Haskell code, whether from professional or personal open source experience, is highly desired.
Responsibilities
Enhancing deep packet inspection performance. The primary responsibility of this position will be investigating and enhancing the performance of the deep packet inspection component of the Awake Security platform.
Extending deep packet inspection functionality. The Awake Security platform extracts data from most widely used protocols but customer environments and the threat landscape are continually changing, requiring adjustments to data extracted by the deep packet inspection engine. Assistance with this work will be a secondary responsibility.
Extending our platform’s adversarial modeling language (EAQL). The adversial modeling language is the method by which Awake security researchers and customer can extend the logic for detecting malicious behavior. Familiarity with the deep packet inspection components developed in this position can be leveraged to improve the performance and expressiveness of EAQL implementation with respect to this data.
Values
Compassion.We believe our mission is one of service to others, whether that is protecting our customers from harm or empowering other developers to do work they are proud of.
Reliability. We like to “move fast without breaking things” and believe that typed and functional languages like Haskell empower developers to be productive and write correct software without sacrificing quality.
Responsibility. We bias towards taking ownership, leading, and filling in gaps instead of treating tasks outside our comfort zone as someone else’s responsibility.
Additional Information
All your information will be kept confidential according to EEO guidelines.