Opinion: Post JC/NS Internships

Close to and Right after ORDing, I applied for Internships for Singaporean JC students (Grade 11 or 12). I didn’t really know what I was getting into, but I had a few goals for myself

  1. I wanted an electronics engineering internship. I want to know what does it mean to do electronics & engineering for work. I had built hobby projects with Electronics before, using Arduino, RPi, but what is the actual work like? Was it drafting schematics? Designing PCBs? Testing?
  2. I wanted to understand how working culture was like. Doing projects alone and in small informal groups is fine and all, but what about in the context where you are getting paid? How would tasks be assigned? What’s the difference between large and small organisations?

Afterwards, I (somehow) managed to secure 2 3 month internships. And after a while, I feel like I understand a bit better about what internships are about. I’m making this post to help other potential interns (especially those straight from JC!) understand what it means to do an internship, and how they can better prepare themselves for it.

You learn in Internships, just not in the way school prepares you for

Usually in school or in online courses, there’s some form of guided instruction.

But during work, there won’t be much guidance at all. You’ll be expected to know your work well. That’s why they have interviews, to gauge your content knowledge. In fact, sometimes, you may need to give guidance to someone else and offer your opinion.

However, the big things internships offer you are

  1. Resources (Eg. Money, Equipment)
  2. Opportunities (eg. Liaising with Producers, Site Trials, Outfield Tests)

These are things you’ll usually never be able to do in school or on your own (unless you are rich, but in that case, you can start your business). So in the sense, you’ll be self-learning, but you’ll self-learn things you can’t learn anywhere else. The same thing can be said about universities actually, except that the kind of opportunities in a university and at an internship are quite different.

So you won’t necessarily be taught this framework in the internship, you’ll get the opportunity to use it for something (Eg. An app) to motivate you to learn about it. You’ll also learn about the considerations, for example, UI-related, user related.

So what I suggest to be done is

  1. Know how to self-learn.
    1. More importantly, know how to delve deep. In the sense of understanding how things work, and Tweaking the way they work. This is especially important as not everything has tutorials ready for you
  2. Get a sufficiently broad and deep scope of knowledge
    1. Breadth to be able to cross-apply domain knowledge and offer useful new perspectives
    2. Depth to be able to understand your craft and do it well
    3. Only with this base knowledge will you be able to understand your work in the internship, and then go further and beyond to learn and contribute as much as you can

No one really fully knows what they are doing

One thing that surprised me is consultancy. I was somehow thinking that engineers in a company would somehow magically be able to come up with the perfect product based on experience and skill. However, we still ask for electronics consultancy, programming consultancy, cybersecurity firms, and all others.

But when I think about it, it makes sense. 4 years of vocational education doesn’t teach you everything in the world. Heck, we haven’t even fully understood the universe, and professors spend their entire lives researching it. What people do is specialise in specific areas in their field, and gain years of experience working there to be confident in their skills.

But even so, you don’t know what you don’t know. You may not have as much experience, or you are just missing that last bit of breadth or depth in knowledge. For example, in a complex robot/drone, you won’t know about ways to adapt to wind speed/external factors unless you have experimented and tested all the various conditions. And you don’t know how to make the drone less likely to be hacked by an external party without sufficient cybersecurity knowledge.

I guess what I’m really trying to say is everyone is unsure of what they are doing. It’s just that people can be less unsure through experience and knowledge. And the most efficient way to mitigate experience and knowledge is through other people

I feel like this may be quite an unintuitive concept for some, especially to me. School really likes to drill into you that you need to know everything about the subject, and you cannot rely on others, with practices and exams. And while that is important for base-level content mastery, it is impractical when managing larger scale or more complex projects, under time constraints where there is just too much for 1 person to handle.

So what I think would be good to do is

  1. Ask your coworkers. If someone else has already worked on a certain area before, ask how to do it, ask common pitfalls
    1. Internet forums are actually also a good resource that people should ask more from
    2. Speed of implementing > Awkwardness of asking
  2. Question decisions. Why do we choose to do things a certain way? Are there better decisions available? By what metric? Maybe there is a better way to do things that your manager/ coworker may not know about
  3. Bounce ideas off others. Different personalities/thought processes/knowledge working together lead to more ideas & possibilities, which could lead to a better pool of ideas. Eliminate blind spots as much as possible, and reinforce strengths.

Go further and beyond! Plus Ultra!

One big thing about the internship is value-adding. Not just to be assigned tasks, but to think about what the organisation needs and work towards that. So predict potential issues, and sound out/work on areas before the issues are significant.

So for instance, when I was doing PCB Design and working on getting that for production, we had to manually convert all the pcb design files into gerber files, component position files, and more for production. This was a key point that really slowed down our ordering process and tweaks to the design. As such, I started thinking about ways to automate this file conversion process, as well as link the Bill of Materials(BOM) to the component placement files. What I eventually settled on was excel sheets with formulas for linking the BoM, as well as KiBot scripts to automatically convert the files. These made life much easier.

There’s also the value of side questing. In a company (probably a small one), or even in a team, you will have many people working on various aspects. For example, in a robotics startup, you have people working on code, people working in electronics, people working on HR, people working on mechanical design, people working on procurement, and people working on manufacturing. It’s always fun to kaypoh a bit and learn what they are doing. Eg. You can learn how resumes are vetted and how hiring is done. Or you can try 3D Printing some fun things. Or Assemble a drone. If you have cross-domain knowledge, you can also contribute in a way.

So this is what I suggest to do

  1. Think of the next step of the project and make it happen
  2. Do some Side Quests
    • Don’t side-quest too much though, and get your main work done

Admin

Internships are typically grouped into these rough categories.

  1. JC Student Internships - June Holidays/ November Holidays
  2. Poly Internships - I’m not too sure about the time period for this
  3. Post JC/NS Internships - Jan to June
  4. University Internships
    1. Summer - May to July
    2. Sem 1 (Credit Bearing) - July to Dec
    3. Sem 2 (Credit Bearing) - Jan to June

Time periods are useful for gauging when companies would be typically looking for interns. This is especially true for certain organisations, where a team is compromised of mostly interns, maybe with a few full-time employees guiding them.

However, internship durations are not so rigidly fixed to these time periods, and they can be adjusted as and when needed. Most commonly during summer, many uni students can take 2 month internships instead of doing it over the full summer. This allows them to make time for things like summer school. This is also true for post JC/NS interns. If you manage to get 2 offers, you can squeeze in 2 3 month internships, Jan-March and April-June. That said, with a shorter internship duration, there are less stuff you can learn from the company. So in a way, you sacrifice depth in a company’s processes, for breadth by working among many companies.

Juggling internships with other commitments can be relatively stressful. I did my internships while preparing for my music exam, my driving test and my math placement test over the 6 months. In July, I also ended up juggling this with orientation. In the end it worked out somehow, but I sacrificed my travel time to study, my night times to work and study.

It helps a lot if the work of the internships is relatively flexible by nature, for instance, tech development work rather than monitoring work. Furthermore, most companies are understanding and allow you to take leave on important days. Hence, don’t be too worried about your commitment level. You don’t exactly need that entire time period to be free.

What I think you should do is

  1. Apply early, and aim for specific internship time periods
    • I’ll say about 3 months early would help, it doesn’t hurt
    • Prepare to get ghosted/ rejected, so apply to many internships, keep asking them for feedback.
  2. If you have other commitments/holiday trips, don’t be too worried about clashing with the internship
    • Plan early how to juggle them, and sound them out to your boss early. You don’t really want to take leave on a day where you need to do an important presentation.

Others

One thing is that you may not always get to do what you want. So during one of my internships, I was expecting to do computer vision and some drone stuff. In the end, I worked more on the infrastructure of the Sensor Systems, things like cameras, and control interface. I think some of the other interns worked on Integrating electronics, 3D printing mounts, and configuring the drone to be safe. But in the end, I stuck with it to see how it’ll go, and I learned some interesting things. I didn’t expect to use my OSCP knowledge in pivoting for connecting devices together and analysing security risks.

For me, 1 thing I noticed from my 1st internship is that I didn’t really track what I learned and did day to day, which made it hard to refer to past experiences. Hence, I think it would be helpful to keep a journal of sorts, and log down your experiments and progress.

Sometimes, it can be surprising how much JC (high school) education can prepare you for working. Math is generally used everywhere. Not just for tabulating accounts and those stuff with excel, but sometimes geometry for triangulating location. I learned quite some about the concept of a pinhole camera (I didn’t really quite get to contribute with this math knowledge though, but it was still interesting). My H3 Semiconductor Physics knowledge helped me quite a fair bit when understanding trysistors and MOSFETs, and especially how they are supposed to be wired up. The concept of how doped semiconductors work and how the electric field applied causes a depletion region where electrons/holes can move really helped that. I had friends who did thermodynamic calculations, how the electronics are cooled etc.

Closing

In the end, I achieved my main goals

  1. At both internships, I did electronics work (more in my 1st than my 2nd tho) , and I loved it. I learned a lot about the considerations of schematics, PCB Design (components, connectors, headers). I dealt with voltages (24V) and setups (battery discharge, op amps etc.) I have never handled before.
  2. In both cases, it’s similar to working on a group project together.
    However, there are some tweaks, such as the SCRUM system, Weekly Updates etc
    • Since it is a larger project, planning timelines, linking up with people are more important.
    • Working in a small company and a large organisation at a small project level is surprisingly similar, but the differences are in who the higher ups answer to. Startups answer to & persuade investors, so they have a lot of money, but they have to move things fast.
    • Larger organisations/Public sector have a lot more bureaucracy. Things such as obtaining permits from the government, justifying purchases. The idea of progression in the organisation is also more important.

Overall I really enjoyed my time at both companies. Would like to thank all the nice people who worked with me there. I really appreciate the trust in me by both organisations to build and set up things for real world use.

For those post NS or post JC students thinking about doing an internship, just do it! There are many opportunities, such as public sector (MOH, MOE, GovTech, DSTA), private sector, startups and more. You can apply for public sector internships through their websites, they usually have a dedicated section for post JC interns. Other companies may require more effort, such as cold emailing them.