Ray was a third year university student in Hong Kong when he decided to look for an internship abroad. As a fan of Japanese music and tv shows, he scoured the internet for a software developer internship position in Japan, and found that HENNGE was offering one.
Investigating further, it was an attractive option. He said, “I saw the benefits were good enough to live in Japan for six weeks. Checking the background of the company, I found they had an open minded culture, and an international workplace. They also had a good culture from the engineering side, where they hold a monthly technical session to share the latest things about technology. I thought this company is going to be a good fit for me. So I decided to apply and finally got the chance to have an internship for this company.”
I was working for a real project team to build a prototype of that product, both the frontend and backend. I really learned a lot.
Ray’s first internship project was to familiarize himself with HENNGE’s tech stack by building a Twitter clone. He said, “At that moment I was leaning towards the frontend, so I focused on it, and did just good enough on the backend, to see what it would look like if I were a frontend engineer. I tried things new to me, like RXJS. I used that opportunity to try something that I wanted to try.”
The second project was also strictly educational, and focused on the DevOps side of things. Ray said, “I learned a bit about configuring infrastructure, like an EC2 instance, using code. It was Chef, but after my batch they changed the intern specification to Terraform.”
For the third and final project, Ray built a prototype of a product that HENNGE was considering developing. He said, “I was working for a real project team to build a prototype of that product, both the frontend and backend. I really learned a lot.”
The biggest difference between the internship and his university projects was that he got to learn directly from professional software engineers, who could provide him with feedback and advice. For instance, after experiencing issues with his prototype project crashing, he proposed Dockerizing it to have it automatically restart. He said, “At that point I wasn’t too familiar with backend development or Docker, but I wanted to use this chance to challenge myself. I got a lot of support, and they taught me a lot about how to use Docker and configure it properly. “
I was given almost full permissions to decide which path to go, which technology to use. They gave me full power over the design decisions.
After graduating university, he decided to return to HENNGE as a frontend engineer. While he’s worked on a variety of projects, a standout one for him was building a new version of HENNGE’s secure browser desktop application, which allows users to access company data from their personal device, while preventing them from downloading or exporting the data to prevent leaks. He said, “I had a chance to renew it by using a new technology. I was given almost full permissions to decide which path to go, which technology to use. They gave me full power over the design decisions. I started the project from scratch, so I got a lot of chances to decide the architecture, do research on what technology might fit this product, and also to talk to designers about it. I was entrusted with almost everything about the browser product.”
In the end, Ray settled on using Electron for the app. Since he had no previous experience with it, he spent about a month going through open source browser apps that used Electron, and otherwise getting familiar with the technology. Taking this time was encouraged by his manager, and he didn’t feel time pressure to rush things.
Because this company is not too big, my contribution affects quite a lot of things.
In his time at HENNGE, Ray has appreciated his opportunities for personal growth and responsibility. He said, “I was a fresh graduate, but I was still trusted to be in charge of some rebuilds of products. People like me, a junior engineer, can do something like a senior. We have a lot of passionate people who helped me.”
He also has the opportunities to learn and try new technologies he’s interested in. He said, “If I want to use React, I can come up with a proposal, a plan on how to implement it. I’m given a chance to propose whatever I want.”
Finally, he also enjoys the sense of achievement he gets from his work. He said, “Because this company is not too big, my contribution affects quite a lot of things. So I would say that I have quite a sense of achievement.”