.The Digital Solutions team is seeking an experienced Principal Software Engineer to join our Software Engineering group. We are looking for candidates with a shared passion for building large-scale distributed systems and a keen sense for tackling complexities that come with scaling through multiple orders of magnitude.Current technology stack:Web Apps: React, Apollo Client, Java, GraphQL API, RestFul API, Elastic App SearchInternal Mobile Apps: ReactNative, Apollo Client, GraphQL API, RestFul APIInternal APIs and Core Services: GraphQL, Express (Rest API), Node.Js, Docker, Spring Boot (Framework), JPA/Hibernate (ORM), Liquibase (DB Migrations), Java and DockerEclipse Connector Service: ASP.NET WebAPI 2, .NET framework 4.6, Windows Service Core 2019 and EC2Search ETL: AWS Lambda, Step Functions, and Node.JsInfrastructure: Terraform and AWS config, Kubernetes Core Services Orchestration, EKS, Fargate (serverless Kubernetes workers) and HelmSoftware CM, CI/CD: GitHub, Circle CI, OctopusResponsibilities:Design and develop highly scalable and resilient cloud architecture that seamlessly integrates with on-premises systemsDrive the team's goals and technical direction to find and pursue technical opportunities that make Egnyte's cloud platform more efficientEffectively communicate complex design and architecture detailsUnderstand company and industry-wide trends to help develop new technologiesConceptualize, develop, and implement changes that prevent key systems from becoming unreliable, under-utilized, or unsupportedOwn all aspects of critical software projects from design to implementation, QA, deployment, and monitoringQualifications:BS, MS, or PhD in Computer Science or related technical field, or equivalent practical experience8-15 years of professional experience in engineering with a history of technical innovationExperience providing technical leadership to engineersExperience with our current tech stack, DevOps, Infrastructure as code, and AWSBreadth of knowledge across infrastructure domains, with the ability to reason about everything from data center machine software to database solutions to machine learning infrastructure to front-end web or mobile applicationsDemonstrated success in designing and developing large scale, complex systemsStrong technical leadership skills able to lead and participate in design discussions with both technical and non-technical audiences and document business solutions with diagramsStrong background and experience with object-oriented design, data structures and algorithms using design principles (patterns, cohesion/coupling, S.O.L.I.D.)Strong experience with multi-threaded applications and memory managementExperience writing clean and maintainable code using engineering best practices (unit testing, TDD, continuous integration and deployment, automation, design patterns, refactoring, etc