SentinelOne is redefining cybersecurity through AI-powered innovation. The role involves software development primarily using Java and Python, taking ownership of components, debugging production issues, and collaborating with teammates across various departments.
Responsibilities:
- Software Development (70-80% of your time; primarily Java & Python)
- Take ownership of well-defined components and services. Write clean, efficient, and secure code with thorough tests. Debug production issues methodically and ensure long-term reliability in the systems you touch
- Work closely with teammates across engineering, product, and operations. Communicate clearly, ask good questions, and contribute ideas that strengthen our designs and processes
- Actively participate in peer reviews to uphold quality, consistency, and security. Offer thoughtful feedback and learn from others’ approaches
- Contribute to the design and documentation of new features and improvements
- Evaluate trade-offs between implementation options, and document your decisions clearly
- Provide technical input into design discussions with staff engineers and architects
- Participate in on-call rotation, investigate issues, write RCA documents and contribute to post-incident improvements
- Support your teammates. Share knowledge, raise concerns early, and help maintain a culture of technical excellence and trust. Take part in team syncs, demos, and retrospectives
Requirements:
- Solid computer science background with 5+ years engineering experience
- Hands-on experience building and maintaining distributed systems in production
- Strong proficiency in Java (3–5 years of experience)
- Comfortable writing and reading Python
- Experience with containerization tools like Docker, Kubernetes, and Helm charts
- Familiarity with cloud environments (AWS or GCP), CI/CD (Jenkins or GitHub Actions) and cloud data stores (S3, DynamoDB, Redis, RDBMS)
- You value elegant code that is concise and readable
- You're curious and collaborative, and enjoy solving complex problems as part of a team
- You enjoy writing concise, maintainable code and aren't hesitant to invest your time in improving clarity in existing code
- Your passion for understanding and solving complex engineering challenges is matched by your pragmatic approach to problem-solving
- You believe that honing ideas and technical designs with other engineers is crucial for achieving an optimal solution
- You take pride in continuous improvement — both in your own skills and in the systems you help build
- You ask clarifying questions and seek feedback early; you believe that well-understood problems lead to better solutions