Inside Bowtie

Bowtiers sharing about their lives, work, and anything interesting!

Software Engineer Internship at Bowtie

--

Rewinding to the beginning of my university life, I would have taken an internship earlier. Working in Bowtie’s engineering team has sharpened my skills more than ever before.

My name is Kiros Choi, and I am a student from The Chinese University of Hong Kong studying Computer Science. I joined Bowtie as a Software Engineer intern several months ago and helped the company build and refine the product.

🎀 Why I Join Bowtie

As a tech-savvy person, I particularly pay attention to the tech stack when applying a job to a company. I believe that no job post should list jQuery as a requirement in 2021. A company should embrace and move forward with new technologies.

As the first virtual insurance company in Hong Kong, Bowtie has really impressed me on the valuation of technology and engineering. Though being a startup company, Bowtie has a DevSecOps team to handle deploying the system to AWS and the system is audited by PwC.

Besides, I am aligned with Bowtie’s mission. I am pretty sure you have heard or have the experience of some of your old friends or schoolmates reaching out to you and persuade you to buy insurance products. It is pretty annoying and awkward. You may end up buying tons of unnecessary or unfit insurance policies.

That is what Bowtie aims to solve. Use digital technology to eliminate the middleman and paperwork and turn the industry around by making insurance good again.

Old office in Kwun Tong. We now have our own Studio in Admiralty!

☕️ No Need To Run for Coffee!

Startups may give an impression to people that one has to be a jack-of-all-trades and tackles many things. Although Bowtie is also a startup, I often work with people from different teams such as Design, Marketing and Operations.

Most people think interns can only do superficial work and work on low-risk projects, like data input and documentation.

On the contrary, I have the flexibility to choose which area I want to focus and learn more. Since I have not decided my career path yet, having a taste in different positions allows me to choose my role more firmly after graduation.

We also have our own cafe so you do not have to brew coffee!

Bow Coffee
Bow Coffee ☕️

👀 A Glimpse of the Engineering Team

We are adopting the 6-week sprint cycle from Basecamp. We lay out all the projects before a cycle and discuss how to prioritize them. Then, we do the scoping, implement and test. After the cycle, we have a demo day to showcase our work.

The interesting part is that there is a two weeks gap time between each cycle. It is nice that the team is provided space to pause and take advantage of this time to focus on less priority tasks, for instance, implementing your idea, cleaning up the codebase, polishing the site or even learning a new thing.

Recently, we also introduced Squads. Different squads have different goals, and each has a leader. Depending on our interests, we can join more than one unit. Each squad is autonomous, and members can decide the list of goals and the person-in-charge for each one. Besides, the squad is composed of people from different teams. Forming squads allows us to have more communication with stakeholders, closing the gap between the expectation and the achieved goal.

Every Friday, we have a show and tell session within our engineering team. We share new tech, new ideas, hacker news. Anything you want to share! For example, we had a sharing on implementing the scrolling effect in Apple’s AirPods Pro product page. And on Christmas, one of our engineers made a deer dress up game to play for fun. It is a great time for me to gain new insight and feedback.

🌟Showcase

As I am working as part-time, the cycle time is actually 3 weeks to me. Yet, the team is still confident to let me handle different things. In one of the cycle, I was responsible for the referrer reward in the referral programme, handling both the front-end and back-end implementation. The task is more sophisticated than it looks at first. I have to realize the UI designer’s design, consider different edge cases when automating the reward distribution, and so on.

In the end, it is very satisfying looking at my finished work!

Reward records showing all the referral reward a user earned

🚀 What I have learned

The most rewarding part of the internship is not that I learned Django, but rather the mindset and the thinking process that a software engineer should be equipped.

Previously, I tended to just get things done. When I revisited my project several weeks later, I found my source code is hard to read.

With the code review by other engineers in Bowtie, I now know how to write code that is future-proof and resilient to change. It does not like small projects that I built in one or two weeks, which then I forgot about forever. As a company product is used by more than a hundred and thousands of people who need it and pay for it. The product will be revamped and attached many add-ons over time, which has to be long-lasting.

Designing a system is like playing chess, a good player thinks a few moves ahead before making one. Similarly, a good engineer envisions the future before making a decision. A maintainable and extensible system is more important than merely achieving the goal.

Me reading my own code before joining Bowtie

Another huge gain is I can learn things that cannot be self-learned. Many students, including me, love to work on side projects to solve real-life problems and sharpen up the hard skills. However, working only on personal projects limited my vision.

In Bowtie, I learned what I do not know. Given a chance as an observer in the company empowers me to discover things that I do not know. For example, in a large production environment, I observed scores of practices like source control, deployment and debugging. On the other hand, there are soft skills that I should acquire. Every engineer needs to know how to present their work to the audience (both technical and general) and mentoring others.

Admitting I do not know is not ashamed, it is a new opportunity for me to learn. Although interning reveals my inadequacies, it helps expand the horizontal bar of my T-shaped skills.

I know it is daunting to apply for your first internship. You may feel you are not ready to ace in the interview or the coding test. I have been there. No one is perfect and able to do everything. I did not think that I could land an internship in Bowtie, but here I am. Apply now!

“The greatest of all weaknesses is the fear of appearing weak.”

― Andrew Hunt

--

--

Inside Bowtie
Inside Bowtie

Published in Inside Bowtie

Bowtiers sharing about their lives, work, and anything interesting!

Kiros Choi
Kiros Choi

Written by Kiros Choi

CS Student, Web & Android Developer

No responses yet