Job Description
Perforce is a community of collaborative experts, problem solvers, and possibility seekers who believe work should be both challenging and fun. We are proud to inspire creativity, foster belonging, support collaboration, and encourage wellness. At Perforce, you’ll work with and learn from some of the best and brightest in business. Before you know it, you’ll be in the middle of a rewarding career at a company headed in one direction: upward.
With a global footprint spanning more than 80 countries and including over 75% of the Fortune 100, Perforce Software, Inc. is trusted by the world’s leading brands to deliver solutions for the toughest challenges. The best run DevOps teams in the world choose Perforce.
Position Summary:
We are seeking a Senior Software Engineer to join our Continuous Data development team at Delphix which is part of Perforce. As part of this team, you will be responsible for the core software platform of our application, focusing on product security, hardening, diagnosability, and supportability. Examples of current projects and recent projects delivered by the team include the development of features enabling protection from, and recovery of production data following ransomware attacks, providing Oauth2 authentication for product APIs, adding support for managing credentials with password vault technologies, and enabling remote monitoring with fluentd.
We are a geographically diverse team that fosters a collaborative and inclusive work environment. As part of the broader Delphix engineering community, you will have the opportunity to drive process improvements, help develop and drive adoption of best practices, and contribute new ideas to help make Delphix and its products better.
Responsibilities:
-
- Architect, design and implement large scale components of the product
- Deliver complex projects by defining structure in areas of uncertainty, identifying and expressing discrete deliverables, and managing interactions between different teams
- Respond to time sensitive issues within multiple familiar software modules or subsystems, root cause issues, and proactively improve robustness of individual features
- Proactively help team by establishing best practices
- Assess the impact of issues to identify and drive systematic improvements within an area
- Work with engineering teams, product management, sales, and customers to understand requirements and develop solutions
- Work with support, the field and customers to collect relevant data to come up with solutions and/or workarounds on complex, critical customer problems
Required Skills and Experience:
-
- 6 to 9 years of experience building enterprise products using Java, with hands-on experience with industry best practices
- Experience in analysing, debugging and diagnosing complex software systems - considering complexities like Performance, Scale, Interaction with Operating Systems, Multi-threaded interactions, etc.
- Excellent analytical and problem-solving skills
- Ability to handle critical situations involving high priority customer issues, manage multiple priorities and meet deadlines
- Excellent written, verbal communication, and interpersonal skills
- Prior experience of working with teams in the US or other countries
- Minimum undergraduate college/university degree in computer science
Desired Skills and Experience:
-
- Understanding of file systems and operating systems
- Prior experience in Unix/Linux systems
- Prior experience working in security, performance, monitoring and scalability
- Extensive experience in web application security, including expertise in certificates, ciphers, SSL/TLS protocols, and related security concepts
- Good to have QA experience & working knowledge of Python