Principal Software Engineer (Cortex Platform Data Lake)

Engineering Santa Clara, California



With Application Framework, we’re building the foundations of the next inflection point in the security industry by combining our deep expertise in security with the state of the art in large-scale infrastructure for data processing and machine learning (Think exabytes of data). 

We are seeking a Senior Principal Software Engineer to design, develop and deliver next-generation technologies within our Application Framework team that bridges cloud-based data processing and security disciplines to solve real-world problems. They build large-scale distributed software systems in Java, Python and other languages using open source technologies like Hadoop, Kafka, Redis, Spark, Flink etc, and other proprietary technologies. 

We need passionate engineers who love to code and build great products. Engineers who bring new ideas in all facets of software development. We are looking for leaders who take ownership of their areas of focus and who are driven to solve problems at every level. Collaboration and teamwork are at the heart of our culture and we need engineers who can communicate at a high level and work well with others towards achieving a common goal.  

This is a unique opportunity to help build the products and practices that will support our growth over the next decade. If you see the potential of how incredible people products can transform a business, this is the role for you. If you have an entrepreneurial spirit, know how to deliver, are deeply technical, highly innovative and long for the opportunity to build pioneering solutions to challenging problems, we want to talk to you. 


  • Design, develop and implement different architectural models for our scalable data processing, as well as scalable data storage
  • Adapt to conventional Big Data frameworks and tools with the use-cases required by the project
  • Work with different development and quality assurances groups to achieve the best quality
  • Suggest and implement improvements to the development process
  • Work with research teams and data scientists, finding bottlenecks and resolving them
  • Build tools for proper data ingestion from multiple heterogeneous sources
  • Interview, mentor and coach new team members 
  • Lead software development projects 


  • Expert-level of experience in design and implementation in an environment with hundreds of terabytes of data
  • Works on significant and unique issues where analysis of situations or data requires an evaluation of intangibles
  • Exercises independent judgment in methods, techniques and evaluation criteria for obtaining results
  • Expert-level of experience with large data processing tools such as Hadoop, HBase, Elastic Search, Flink, Kafka, etc.
  • Expert-level of experience with Java development
  • Fast learner and eager to absorb new emerging technologies
  • Passion for doing research on large data sets containing ill-formatted data
  • Can-do attitude on problem-solving, quality and ability to execute
  • Enjoys working with many different teams with strong collaboration and communications skills
  • High energy and the ability to work in a fast-paced environment 


  • BS/MS in Computer Science/Engineering, or equivalent experience