Job Description :
Software Architect / Principal Software Engineer (Data / Platform)
Mountain View · Full Time
We are tackling a security problem that almost every enterprise faces : Their IT infrastructure is constantly under attack and their security analysts have to deal with billions of alerts every day.
How do they know which 20 or 50 they actually need to chase down? This problem causes them to miss really critical breaches and early indicators of a compromise.
Job Description
We are tackling a security problem that almost every enterprise faces : Their IT infrastructure is constantly under attack and their security analysts have to deal with billions of alerts every day.
How do they know which 20 or 50 they actually need to chase down? This problem causes them to miss really critical breaches and early indicators of a compromise.
We are a very young but well funded startup - 8.5M Series A, founded Jan 2016. we are reshaping the Security Intelligence landscape by creating an intelligence automation platform with an All-Star team.
Our team has 15+ years of experience building products in the Security space from companies like ArcSight and Sumo Logic.
There are two really interesting technical challenges here - massive data processing and intelligence automation. Typically enterprises generate terabytes of security data every day from applications, devices, systems and so on.
In order to detect an advanced threat in this sea of data, our systems need to be very performant and scalable. We are always looking at the latest technologies in the data processing space to solve this.
You are a strong software engineer who is passionate about large-scale systems. You care about producing clean, elegant, maintainable, robust, well-tested code;
you do this as a member of a team, helping the group come up with a better solution than you would as individuals. Ideally, you have experience with performance, scalability, and reliability issues of 24x7 commercial services.
Responsibilities :
Design and implement extremely high-volume, fault-tolerant, scalable backend systems that process and manage terabytes of data.
Analyze and improve the efficiency, scalability, and reliability of our backend systems.
Write robust code; demonstrate its robustness through automated tests.
Work as a member of a team, helping the team respond quickly and effectively to business needs.
Requirements :
B.S., M.S., or Ph.D. in Computer Sciences or related discipline.
4+ years of industry experience with a proven track record of ownership and delivery.
Experience in multi-threaded programming and distributed systems.
Object-oriented programming experience, for example in Java, Scala, Ruby, or C++.
Understand performance characteristics of commonly used data structures (maps, lists, trees, etc).
Ability to design and architect end-to-end solutions based on understanding of requirements from the product team a big plus.
Desire to learn Scala, an up-and-coming JVM language (scala-lang.org).
Desirable :
Experience in big data and / or 24x7 commercial service is highly desirable.
Experience building large scale distributed systems.
You should be happy working with Unix (Linux, OS X).
Agile software development experience (test-driven development, iterative and incremental development) is a plus.
Experience with Docker and large scale data processing technology like Spark.
Skills
Java, Data Mining, Machine Learning, Distributed Systems, Scala, Data Processing, QUERY OPTIMIZATION