There isn’t much information available about being a software engineering intern in Japan. I remember when I first considered doing one that I wanted an online resource on the topic. Now that I’ve done several software engineering internships at Japanese companies, I’ll help remedy the situation. In this article, I will share my experiences of working as a SWE intern and give tips for landing your first tech internship.
I have always had an interest in technology but never got to study it in depth in highschool. To keep my options open for specialization down the line, I opted to study business in Japan with a focus on IT.
During the height of the pandemic in 2021, I decided to commit 3 months of my free time to study programming. Well, 3 months turned into a year and then two. Since then, I have worked at a number of companies as a software engineer intern and also landed a freelance gig. Now I work at Tokyo Techies, an IT start-up, as an intern while keeping up with my last year of study in university.
In Japan, most internships last a single day
In Japan, the word “internship” typically refers to a chance to experience the company environment. One study shows that 89.7% of internships students participated in lasted only a single day. Another survey conducted by MEXT showed that 15.8% of university students did internships for more than a month and only 23.8% were paid. However, MEXT’s internship survey pointed out that a high proportion of IT engineers had longer internships (p.9).
If you’re reading this article, a “one day internship” probably isn’t what you’re looking for. Don’t worry, the focus will be on longer (and ideally) paid internships.
My typical day to day as an intern
My current company, Tokyo Techies, offers hybrid work options and flexible hours. Thanks to this, I can work from home and with hours that fit with my equally busy university study schedule. In a typical working week, I put in 20 to 28 hours, depending on how much university demands from me.
As far as contribution goes, I have worked on feature development to bug fixes. Most recently, I have had the chance to develop the company’s project automation testing from the ground up. By standardizing best practices to end to end tests, I’ve helped to ensure a stable and high quality release.
Advice on Internships
As students, we are told to fill the resume with as much relevant experience to our chosen field as possible. Since I did not find my interest in software engineering until my second year of university, I had an uphill battle in this competitive job market. Along the way I have learned some valuable lessons that hopefully will be useful for others.
Look for hidden internship opportunities
The easiest internship opportunities to find are at big tech companies like HENNGE or Mercari, who use them as a means to recruit future talent who can join full-time after graduation. Naturally, these positions are highly competitive, you are essentially competing with the best of the best on a local and sometimes global level.
However, when you dig deeper, there are also many hidden opportunities for internships and jobs in the local start-up scene in Japan. Therefore, it’s important to familiarize yourself with the local tech scene.
There are many popular tech meetups in Tokyo, from developers to UI/UX design to entrepreneurship and even ones run by TokyoDev. I recommend going to the ones that fit your chosen field of interest and meet the people in the scene. This will increase your chances of landing an internship or even a full-time offer.
This is how I found two opportunities that were never publicly available. I simply knew people working at the company.
Find ways to showcase your skills
Working on personal projects as well as contributing to open-source can be a great way to improve your resume, as it shows people you’re eager to learn and contribute. Personally I created my own blog where I write about my experiences learning web technologies, as well as data structure and algorithms, and even some 3D web experiments. The blog not only showcases my interest in programming but gives interviewers the chance to ask more specific technical questions. They had referenced specific parts of my project and asked how I came up with solutions to certain challenges.
The best internships treat you like another engineer
Find internships where you will get as much hands-on experience as possible. In my opinion the best internship is one where you are treated like another engineer. You are working just like other fellow engineers to improve the product. When interviewing, ask what your responsibilities will be if you get the job. I personally try to gauge the learning opportunities that I will get as much as possible from the interview.
Prior to my current internship, I was already working at a different startup on a freelancing basis, but decided that I could get more learning opportunities elsewhere. I wanted to work in a bigger team where I could get more mentorship and guidance from senior engineers. Since switching to my current company, I have been treated like a normal software engineer and given proper responsibilities and freedom to contribute. For this reason I couldn’t be happier at my current workplace.
Freelancing is also an option
After you gain a bit more experience with an internship, freelancing also becomes a possibility. After two relatively short term internships, I went on a search for new opportunities again and managed to find a remote freelancing job at a Japanese startup doing full-stack development on indeed.com. I had two informal interviews before receiving the offer from the company.
Freelance contracts can vary greatly from company to company but for myself I was asked to spend 20 hours a week (80 hours a month) working and I will always receive a fixed payment. I could work those 20 hours on any working day of the week as long as the assigned tasks are completed. The workload was quite manageable with it mostly being bug fixes or the occasional feature development so it was perfect for my school schedule.
However, unlike internships, freelancing comes with expectations to deliver results. This experience taught me to be conservative with work estimation and communicate realistic expectations. Failing to do so will result in disappointment from the client and extra stress on yourself. Being able to communicate uncertainty and set realistic expectations are very valuable skills for any career path.
Speaking from personal experience, it is not easy to juggle responsibilities for work and school. If you do decide to take on any tech internship while studying at university, it is important to communicate with your manager at work about your time commitment, especially when nearing exam seasons. Your time management skills will be put to the test. However, remember that unlike university, internship is an additive experience, not a mandatory responsibility. Always prioritize your studies.
Internship is undoubtedly a great way to introduce yourself into the world of technology in Japan. The potential for learning can be comparable to working full-time if you do find a company that is willing to invest in you and value your effort. I hope this article was informative to those who are taking their first step into the tech world in Japan.
I truly believe when you work and study with a passion opportunities will undoubtedly come your way. Best of luck on your search!