For over 10 years
Zscaler has been disrupting and transforming the security industry. Our 100% purpose built cloud platform delivers the entire gateway security stack as a service through 150 global data centers to securely connect users to their applications, regardless of device, location, or network in over 185 countries protecting over 3,500 companies and 100 Million threats detected a day.
We work in a fast paced, dynamic and make it happen culture. Our people are some of the brightest and passionate in the industry that thrive on being the first to solve problems.
We are always looking to hire highly passionate, collaborative and humble people that want to make a difference.
We are seeking a self-driven, innovative, hands-on Principal Software Engineer to join our our engineering team, building the backend of the Zscaler cloud-based zero trust security platform.
The successful candidate will :
Have at least 3 years of related experience.
Thrive in an energetic, highly collaborative workplace; actively engage in all phases of the development process
Design excellent, scalable, sustainable software systems and components
Identify gaps or deficiencies in the existing product and advocate for the necessary changes to address them
Document, socialize, and prioritize architectural and non-functional requirements
Must be comfortable with modern Java stack : Java 11, Spring, Spring Boot, Hibernate ORM, JPA, JDBC, FlywayDB
Other languages are a plus : Python, Go, Scala
Able to follow best practices and write clean robust code :
e2e and Unit testing
Code coverage and static analysis
Code reuse across the team
Quality over quantity of Java development experience
Working knowledge :
Relational and NoSQL / document DBs - PostgreSQL, MySQL, MongoDB, DynamoDB, RethinkDB, Redis
Stream processing and message bus technologies Kafka, RabbitMQ, AMPQ, NATS
Amazon Web Services - at the very minimum - EC2, S3, RDS, ELB
Integration of backend services with UI frameworks (AngularJS, ReactJS, EmberJS)
Ideally familiar with :
Scalable cloud based application design - service discovery, microservices architectures, cloud-native design patterns - autoscaling, circuit breakers, sharding, load balancing, fault tolerance
Docker container ecosystem, deployment using containers, clustering - swarm, Kubernetes, Mesosphere.
High volume data streaming - Kafka, Amazon Kinesis, Storm, Spark Streaming
Search engines - Elastic
JVM performance and GC tuning for server applications
Approaches to monitoring, performance measurements and instrumentation at high scale
Build processes for modern Java stack - gradle, maven, Jenkins pipeline
Recent C++ experience
Linux and Windows kernel level experience
Education Requirement :
Bachelor's degree or equivalent required