First Year at Egnyte: A New Software Engineer’s Experience
As a computer science graduate fresh out of the University of California, Berkeley, I found a hidden gem in Silicon Valley at Egnyte, where I have enjoyed a wild ride learning alongside intelligent and hardworking people who also know how to have fun outside of work.
Where It All Began
I was stressfully looking on LinkedIn for a software engineering position when I came across Egnyte's job description. I liked that it closely matched my interest in backend software engineering, was located in the Bay Area, and had cool benefits, including all the board games one would ever want.
Interviews can reveal a lot about a company, and I received many pleasant surprises during my Egnyte interview that made me realize it was a perfect fit for me. Through my interviewer's questions, I better understood the team projects, the team's passion for their work, and their impact on the broader company's success, reassuring me that I made the right choice in applying once my interviewer shared their experience with Egnyte. They were given important work from the start, quickly gained ownership of a product area, and had been with the company for five years - this is more than twice the average a software engineer stays at a company. Upon receiving an offer, it was a no-brainer for me to accept the job.
Always Learning
Once on the job, I had a glimpse into Egnyte's intellectually curious culture with the first learning materials sent, from the basics like coding language and object-oriented programming concepts to on-the-job knowledge like specific frameworks and technologies, as shown below. In particular, Refactoring by Martin Fowler taught me good code design principles I aim to use daily.
Making Visible Impact
Soon, I was applying what I learned from the list above in my first big project of refactoring a codebase to make it more organized, readable, efficient, and maintainable. This codebase was important and had the most significant traffic across Egnyte's services because it dealt with permissions, which determined practically any action on the file system. However, it was very old and had accumulated technical debt, including many methods that did similar things with the tree data structure that stored permissions.
We aimed to design a lean and performant framework that abstracted away the complex logic to navigate our permission system and allowed developers to specify what they wanted to find out from the system according to their various use cases. As a result, we refactored one of the most-used API methods to adopt the framework, reducing garbage collection CPU time by 10x and response time by 4x, as shown below.
People are Important
Looking back at my first year at Egnyte, I learned that people are essential.
At work, we have important projects that satisfy our intellectual curiosity, learn continuously to better ourselves and help others, and value others' feedback. Egnyte also reflects this people-centric spirit outside of work – we eat lunch and take afternoon walks together daily, host virtual social chats weekly, and occasionally attend special team events like golfing and marathons.
I encourage anyone looking for a role that offers that balance to check out Egnyte's open positions on our careers page.