Before I knew it, my college life had already entered its second half: junior year, fall semester. This semester I took 19 credits, but I compressed them into three days, and arranged the other two days for a company internship. There is not much to say about coursework. Basically, I had already decided to develop toward software engineering. For the required BIME courses, I only wanted to scrape by and pass. I did attend most classes, but I did not put in real effort, and I did not care about grades. I spent my time on research and improving my software development skills.

On two weekdays each week this semester, I went to Delta Electronics. I was in Delta’s research department (also called the Delta Research Institute), specifically the Life Sciences Division. Our group had three people including me. The other two were biomedical PhDs, and my role there was to help them develop auxiliary tooling software for researchers in Delta’s labs.

Because I had previously worked at a technology-focused startup, I had a decent understanding of software development workflows and how to turn ideas into implementations. Even though I was just an intern, I dare say my understanding of development was actually stronger than the people at the Delta Research Institute—though that is also because their expertise is biomedical research. In any case, after I understood their needs, I worked every Monday and Friday and implemented both the frontend and backend step by step. There was no particularly difficult technology involved. It was mainly about becoming more fluent and using the opportunity to try the things I had wanted to practice—for example, adding tokens to a website, unit testing, automation, and more advanced Angular techniques. Over three months, I practiced quite a lot. While I did not get the chance to implement things like distributed systems or parallel computing, writing tens of thousands of lines of code was still quite satisfying. After three months, when my contract was about to expire—and because the software was basically done—my manager asked whether I wanted to stay. Although I thought my coworkers were very friendly and easy to work with, I felt it was time to leave.

I wanted to go to Delta because I had already experienced a startup and wanted to see what a large enterprise is like. Let me describe what Delta was like. When a newcomer joins, they give you a computer. That computer might be an older model, meaning it runs slowly and lags. Moreover, even if you are a software developer, the company’s computer starts with permissions locked down. You cannot do anything until you ask the IT department to unlock your machine. I found it strange—why not avoid the permissions drama from the start? With so many restrictions in an R&D unit, how are you supposed to do R&D? In contrast, startups are much better: you get a new MacBook Pro on day one, and nobody micromanages you. There is also bureaucracy. For example, even though our group was doing software development, applying for a server still took two months. Sure, big companies have lots of processes, but that level of inefficiency is frustrating.

Another thing is: I could not feel any vitality at Delta. If I had to describe it, it felt like being a civil servant. I think energy and passion matter. If the environment is simply about living comfortably day by day, people will gradually become like that. Maybe this is just the nature of big companies. Perhaps everyone is actually working hard—I just could not see it. The reason it felt this way might be that people do not know each other, since the organization is too large; there is almost no intersection. In the end, I barely got to know the people sitting next to me or across from me. That is unbelievable. In a startup, even with 20 people, you would know everyone, and relationships would not be bad.

Finally, although Delta is an electronics company, software development is not its strength. Unless they truly commit to developing a strong software organization, they will not be able to retain talent in software. This internship was a solid experience of what a large enterprise looks like, and it also made me realize that traditional large enterprises do not suit me. If I have the chance, I would still like to experience foreign big-tech companies, such as IBM or Google, to see a different kind of atmosphere.

This semester I also played with open-source projects and wrote quite a few posts about it—for example, “My Two-Month Experience with Mozilla Servo,” which records some of my reflections on open-source work. I also wrote a series on the “browser” topic that I am interested in: “Let’s Build a Web Browser!”. It thoroughly explains how to develop a browser, covering principles, implementation, and some of the latest research. I think it was the most meaningful thing I did this semester.