Principal Engineer/Architect :
Job Description
Egnyte is seeking an experienced Principal Software Engineer to join our Engineering department. The Engineering department builds large distributed components and services that run Egnyte's Cloud Platform. Our code serves billions of requests per day with sub-second latency in a fault-tolerant environment. We process and analyze millions of files and events on a daily basis. Some of the responsibilities for this department include Egnyte's Cloud File System, Content Classification, Content Lifecycle Management, User Behavior Analysis, Object Store, Metadata Stores, Search Systems, Recommendations Systems, Synchronization, and intelligent caching of multi-petabyte datasets. 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.
In this role, you will (But not limited to):
- Design and develop highly scalable and resilient cloud architecture that seamlessly integrates with on-premises systems
- Drive the team’s goals and technical direction to find and pursue technical opportunities that make Egnyte’s cloud platform more efficient
- Effectively communicate complex design and architecture details
- Understand company and industry-wide trends to help develop new technologies
- Conceptualize, develop, and implement changes that prevent key systems from becoming unreliable, under-utilized, or unsupported
- Own all aspects of critical software projects from design to implementation, QA, deployment, and monitoring
Qualifications
- BS, MS, or PhD. in Computer Science or related technical field, or equivalent practical experience
- 8-15 years of professional experience in engineering with history of technical innovation
- Experience providing technical leadership to engineers
Bonus Qualifications (Good to Have)
- Breadth 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 applications
- Demonstrated success in designing and developing large scale, complex systems
- Expertise with multi-tenant, highly complex, cloud solutions; experience with Hybrid and/or on-premises solutions desired
About Egnyte
In a content critical age, Egnyte fuels business growth by enabling content-rich business processes, while also providing organizations with visibility and control over their content assets. Egnyte’s cloud-native content services platform leverages the industry’s leading content intelligence engine to deliver a simple, secure, and vendor-neutral foundation for managing enterprise content across business applications and storage repositories. More than 16,000 customers trust Egnyte to enhance employee productivity, automate data management, and reduce file-sharing cost and complexity. Investors include Google Ventures, Kleiner Perkins, Caufield & Byers, and Goldman Sachs. For more information, visit http://www.egnyte.com/" target="_blank">www.egnyte.com
About Egnyte
About
Egnyte provides secure Enterprise File Sharing and Content Governance built from the Cloud down. Access, Share and Control 100% of your data from anywhere using any smartphone, tablet or computer.
Egnyte store billion of files and petabytes of data and we are looking for help to take the platform used by millions of users to the next level of scale. Autonomy and ownership is integral to our culture and engineers own one or more services end to end.
We’re looking for Engineers and they should be able to take a complex problem and work with product managers, devops and other team members to execute end to end.
Connect with the team
Similar jobs
At Egnyte we develop content governance and collaboration products that are deployed across several large companies such as Yamaha and Red bull. The Egnyte platform supports daily, business critical operations for a million-plus user base interacting with a multi-petabyte content set.
We store, analyze, organize, and secure billions of files and petabytes of data with millions of users. We observe more than 1M API requests per minute on average. To make that possible and to provide the best possible experience, we rely on great engineers. For us, people who own their work from start to finish are integral. Our Engineers are part of the process from design to code, to test, to deployment, and back again for further iterations.
We’re looking for Senior Software Engineers and he should be able to take a complex problem and work with product managers, devops and other team members to execute end to end.
Specific Responsibilities will include:
- Design and develop scalable cloud components that seamlessly integrates with on-premises systems.
- Challenge and redefine existing architecture or make 10x improvements in performance and scalability.
- Ability to foresee post-deployment design challenges, performance and scale bottlenecks.
- Hire and mentor junior engineers
- Doing code reviews, unit and performance testing of the code.
- Monitor and manage 3000+ nodes using modern DevOps tools and APM solutions.
The successful candidate will need:
- Demonstrated success designing and developing complex cloud based solutions
- Solid CS fundamentals with one or more areas of deep knowledge
- Experience with the following technologies: Java, SQL, Linux, Python, Nginx, Haproxy, BigQuery, HBase, New Relic, memcache, Elasticsearch, docker.
- Data driven decision process
- Relies on automation testing instead of manual QA
- Experience in working with Google cloud, AWS or Azure is preferred
We would prefer the candidate work from our Mumbai office for alteast first 6 months.
- Java
- Spring Boot
- Database (Preferably Mysql)
- Multithreading
- Low Level design (Any Module)
- Github
- Leetcode
- data structure
Responsibilities
- Software Engineering
- Design and develop highly scalable, available, reliable, secure and fault tolerant systems with minimal
guidance for a market leader in the logistics industry
- Partner with team members on functional and nonfunctional requirements and spread design
philosophy, goals and improve the code quality across the team
- Research new technologies and tools that enable building the next generation of our services
- Provide technology leadership to the team and foster engineering excellence
- Product Delivery
- Partner with product managers to define and execute on the feature roadmap
- Translate business requirements into scalable and extensible design
- Coordinate with various cross functional teams on planning and execution
- Maintaining automated build / test / deployment environments
Qualifications
- Software Engineering
- Should have at least 2 years of hands on experience in designing, developing, testing and deploying
applications on Java, Ruby, Kotlin, Python, Node or Go for large scale applications
- Deep knowledge of one of the programming language they have experience in
- Proficient in OOP and Design Patterns, experience with functional programming would be a plus
- Data modelling experience in Relational Databases
- Ability to design and implement low latency RESTful services
- Product Delivery
- Ability to scope, review and refine user stories for technical completeness and to alleviate dependency
risks.
- Well versed in working with agile methodologies which includes phases such as design, development,
code review, testing and release management
- Ability to have worked in a CI/CD environment, with hands on experience with Git or any similar source
code management tools
- Product Maintenance
- Experience troubleshooting server performance issues such as memory tuning, GC tuning, resource leaks
etc
- Continuously refactor applications to ensure high quality design.
Responsibilities:
• Take on complex problems that span multiple components and teams.
• Independently own one or more multiple modules, which include: requirement analysis, design, development, maintenance & support
• Write extensive, efficient code to address complex modules that handle the interaction between multiple components.
• Rapidly iterate to add new functionalities and solves complex problems with simple and intuitive solutions
• Produce architecture with clean interfaces, that are efficient and scalable
• Participate and contribute to architectural discussions
• Solve production issues. Investigate and provide solutions to minimize the business impact due to the outage
• Continuously improve performance metrics of modules you own.
• Collaborate effectively across teams to solve problems, execute and deliver results
Requirements:
• Experience: 3+ years
• A Bachelor's or Master's Degree in Computer Science
• Software engineering and product delivery experience, with a strong background in algorithms
• Experience in architecting & building real-time, large-scale e-commerce applications
• Experience with high-performance websites catering to millions of daily traffic is a plus
• Excellent command over Data Structures and Algorithms
• Experience with web technologies, Go/Java/Python
• Language: GO or Python
• Strong expertise in DS and Algo
• Strong leadership skills - have experience mentoring, building products from scratch or incumbent in design and architecture.
• Have worked in the scaling of the system right from scratch.
• Someone worked in small user base to a large user base and wrote optimized code
• Both HLD and LLD
Responsibilities:
- Experience and working knowledge of Java 8, Hibernate, Spring Boot, Microservices and REST API is mandatory
- Expert understanding of the object-oriented design and programming concepts
- Strong problem solving skills, data structures and algorithms and multithreading
- Good understanding of AWS and cloud-native technologies
- Knowledge of AWS services - RDS, DynamoDB, Elastic Search, Kinesis. Experience of working with AWS SDK is preferred.
- Good understanding of CI/CD and Jenkins pipeline
- Experience of writing unit tests using Junit/Mockito
- Knowledge of Integration Testing framework like Cucumber is required.
- Proficient in Git commands and branching concepts
- 5+ years of software development experience in Java 8+ and Microservices.
- Experience in developing micro services. Experience in developing High Cohesion & Loosely Coupled Micro Services.
- Experienced in skills of requirement, analysis, design, develop, Java, springboot, microservices, rest api, AWS, lambda, EC2, Jenkins, design pattern, spring security, splunk, auth, docker, SOLID
- Hands on experience on Microservices Architecture.
- Should have excellent acumen in Data Structures, algorithms, problem-solving and Logical/Analytical skills. Thorough understanding of OOPS concepts, Design principles and implementation of different type of Design patterns.
- Experience with Multithreading, Concurrent Package and Concurrent APIs
- Basic understanding of Java Memory Management (JMM) including garbage collections concepts.
- Experience in RDBMS or NO SQL databases and writing SQL queries (Joins, group by, aggregate functions, etc.)
- Hands-on experience with Message Broker like Kafka/Rabbitmq or other. Hands-on experience in creating RESTful webservices and consuming web services. Hands-on experience with spring Cloud/Spring Boot.
- Hands-on experience with any of the logging frameworks (SLF4J/LogBack/Log4j)
- Experience of writing Junit test cases using Mockito / Powermock frameworks. Should have practical experience with Maven/Gradle and knowledge of version control systems like Git/SVN etc.
- Hands on experience on Cloud deployment/development like AWS/Azure/GCP.
- Good communication skills and ability to work with global teams to define and deliver on projects. Sound understanding/experience in software development process, test-driven development.
Benefits of Working Here:
- Gender Neutral /Diversified Culture
- 51 Leaves annually
- Insurance covered for family
- Incentives, Bonus
- Permanent WFH Option
- Generous parental leave and new parent transition program
- Flexible work arrangements
Job Description:
3+ years of experience as a JAVA/J2EE technologies developer in delivering highly available and scalable applications in a cloud operating environment. - Expertise in Spring framework and equivalent.
- Experience in developing Java Microservices using spring boot, docker, Kubernetes etc.
- Programming expertise in Java, JavaScript; and familiarity with other languages.
- Experience building, testing, and consuming REST APIs is a must have experience.
- Experience with high-throughput messaging technologies and patterns; Kafka and/or related technologies a plus.
- Exposure to databases of any types relational, analytical, columnar, etc; including MySql.
- Experience with Git source control and building/maintaining Continuous Integration and Delivery pipelines; Jenkins experience a plus.
- Expertise in Object-Oriented Development.
- Experience working in an Agile/Scrum-inspired delivery methodology. - Expertise with database programming, transaction management. Expertise with build tools – MAVEN, Gradle.
- Expertise in design patterns and data structures.
- Good understanding of Unit test tools.
- Good analytical skills to break down requirements and solve complex problems.
- Good understanding of Source control toolsets.
- Well-developed verbal and written communication skills.
- Proven track record to meet aggressive timelines.
Required Skills:
Good to have
- Understanding CI tools like Jenkins, Bamboo.
- Experience with Google Cloud Platform or equivalent.
- Experience with Microservices and/or Monolith to Microservice migration.
- Experience with frontend technologies like to react, angular is a plus
- Good Linux experience
- 3+ years of recent hands-on Java development
- Java, Python, JavaScript programming languages
- Fluency with RESTful APIs, AngularJS, HTML5 and CSS
- Great understanding of designing for performance, scalability, and reliability of data intensive application
- Understanding of database fundamentals and advanced SQL knowledge
- In-depth understanding of object oriented programming concepts and design patterns
- Ability to communicate clearly to technical and non-technical audiences, verbally and in writing
- Understanding of full software development life cycle, agile development and continuous integration
- Experience in Agile methodologies including Scrum and Kanban
What puts you over the top:
- Exposure to various technologies like Spring Boot, Microservices, Kubernetes and also some frontend technologies like React.js, Node.js or other UI frameworks.
● Experience in AdTech or Programmatic
MUST HAVE GOOD EXPERIENCE IN SPRING BOOT, NODE JS, ANGULAR JS, REACT JS, JAVASCRIPT,JAVA, HTML/CSS.
Experience with Hibernate and Spring.
- Experience with Spring-boot, spring MVC
- Experience with all phases of the Software Development Lifecycle, including system analysis, design, coding, testing, debugging and documentation
- Teamwork & collaboration skills to work across organizations
- Problem solving skills to develop quick yet sound solutions to resolve complex issues
- Programming Language(s): Java, J2EE, JSON, HTML, DHTML, HTML 5, XML, EXTJS.
- Experience with XML/HTTP and Web Services
- Experience with HTML, JSP, CSS, JQuery / Ajax / JSON,
- Experience /Knowledge of Angular, React.
- Experience building J2EE based Web Applications
- Experience with MySql.
Required Qualifications and Skills:
- 3-5 years of work experience in the development background, with at least 2 years experience in Java, Spring, Sprint Boot, Hibernate or JPA, MySQL, Oracle, Spring MVC.
- B.E. degree in Computer Science, Graduate in Software Engineering or equivalent
- Experience in Core JAVA, Spring, Spring Boot Frameworks.
- Experience with ORM's like Hibernate.
- Good knowledge of developing RESTful web services using Spring Boot, Java1.x,Servlet2.4, JSP2.0, JDBC3.0, Java Mail, Struts2.x, HTML, HTML5, Angular7+, JavaScript, JSF, Bootstrap2.x-3.x, JQuery & CSS 3.x, Maven 3.x, Apache Tomcat7
- Knowledge of Cloud AWS.
- Experience in any Messaging Queue e.g. Apache Kafka, ActiveMQ, etc.
- Experience on Web services with REST and SOAP.
- Experience working on tool set like Eclipse IDE, SQL clients.
- Experience using application server like Jboss, TomCat, Wildfly, glassfish.
- Experience in using tools like SOAP UI, POSTMAN
- Ability to write SQL queries to fetch data.
- Knowledge of Micro services, Redis Cache and Mongo DB (or any other NoSQL) is good to have