Post

CMoney Backend Developer Internship

Preface

I still remember back in my sophomore year, during a class break, chatting with my Hong Kong friend who sat next to me. He mentioned that he was currently doing an internship. At that time, I thought internships were something super hard to get — like only for top students — so I was genuinely surprised. Out of curiosity, I asked him what he did and how it was going. That was how I first heard about CMoney.

He told me he got a Backend Engineer summer internship, and his tasks were pretty simple — basically building a calculator project in C#, regularly meeting with senior engineers to discuss improvements, and wrapping things up at the end of summer. After hearing that, I realized I might have been overthinking what “internships” are XD. I used to think internships were like full-time jobs in disguise, where companies wouldn’t bother training you and just treated interns as cheap labor. But his story showed me that’s not always the case — some companies actually care about helping interns learn.

From Application to Offer

Submitting the Resume

Fast forward to my senior year — I started preparing my resume and looking for internship opportunities. I also went to NTU’s career fair to explore potential openings. But the reality hit hard — the software development field was already quite saturated. Big companies rarely offered internships, and smaller ones often didn’t have the resources to train interns. So most listings were for full-time positions, not internships. Luckily, I noticed CMoney was hiring interns. I immediately remembered my friend’s positive experience there, so I decided to give it a shot and sent in my application.

Interview Invitation

Not long after applying, I received an interview invitation! The company thoughtfully provided a few available time slots for an online interview via Google Meet. I’d already been through a few interviews before (some didn’t work out because of my overseas student status QQ), so I was a bit nervous at first, but once the interview started, I quickly got into the flow.

Technical Interview (with Department Supervisor)

The first round was the technical interview. It started with a short self-introduction, then I talked about the projects I’d worked on in school and my experience so far. After that came the technical questions — some OS and algorithm topics. Nothing too scary; if you actually paid attention in class, you’d probably be fine XD. Then came the whiteboard question. You could use any language or IDE, just no internet access. I solved the first problem pretty quickly (maybe too quickly), so the supervisor gave me a harder one. I froze for a bit and ended up stuck for around 30 minutes QQ. Even though I didn’t finish it in time, the supervisor was super kind and told me it was totally okay. Overall, the interview atmosphere was surprisingly chill — most of the stress was just from me overthinking it XD.

HR Interview

After passing the first round, I got invited to the HR interview, which focused more on soft skills and personality. Beforehand, they sent a few personality and behavioral assessments. During the interview, HR asked questions based on my responses — mostly about teamwork, communication, and problem-solving. It was quite relaxed and conversational.

CEO Interview

Yep, you read that right — an interview with the CEO XD. I honestly didn’t expect an intern position to reach that stage, but since it was the final round, I figured why not go for it. This one was an on-site interview at their Banqiao office. After checking in with HR, I waited in a small meeting room until the CEO arrived. This round felt more like a logic and critical thinking test — questions about probability, estimation, and general knowledge. For example, “How many people live in Taiwan?” or “Estimate the electricity usage of this area.” The math wasn’t hard, but coming up with reasonable answers on the spot definitely took some brainpower. It wasn’t about getting the exact answer — they mainly cared about how you reasoned it out. Overall, it was a pretty challenging but also fun!

Offer!

One or two weeks later, I received the offer email! My internship was set to start in June.

The Internship Experience

The Work Permit Drama

Before officially starting, I realized (a bit too late) that my work permit had expired ._. I had to re-apply, which meant getting a new enrollment certificate from school and waiting for processing — the whole thing took almost a week. Because I underestimated how long it would take, my permit didn’t arrive by my original start date, so I had to delay a bit. Thankfully, the HR was very understanding and gave me more time. I finally got the permit by late June and officially started on July 1st!

First Day

I thought I’d be the only one onboarding that day since the internship had already started a while ago, but turns out there were other interns and full-timers joining too — instant relief XD. The first day mostly involved paperwork, confirming the NDA and basic info, and then… a class? They actually held an onboarding session explaining the company’s philosophy, vision, and each department’s role. The whole thing took about 1–2 hours. After that, we were assigned to our departments. I got placed in X Lab, a software team focused on developing non-financial products (which made sense, since I told them during the interview I wasn’t super into finance XDD).

X 實驗室 (X Lab)

Honestly, I was so lucky to be assigned there. Everyone in the team was super friendly and energetic — maybe too energetic sometimes XD. There were fewer than 10 people, including a supervisor, PM, business staff, UI/UX designer, and frontend & backend engineers. During the internship, I interacted with almost everyone and really got to understand what each role does. It gave me a much clearer picture of how real-world software teams operate.

First Task

On day one, they threw me a bunch of backend materials: company coding conventions, Git/C# guides, and internal service docs. I mainly focused on the programming conventions and service architecture (I was already comfortable with Git by then). Then, my mentor gave me my first task — building a scientific calculator. Luckily, I’d written one in pure C before (thanks to DSA class), so doing it in C# wasn’t too bad. The tricky part was that this version had some custom requirements beyond a normal calculator. Still, I finished it in about a week!

Joining Real Projects

Up to this point, everything matched what my friend described years ago — until it didn’t XD.

After finishing the calculator, I got full access to our team’s project documents and repositories. That was the moment I realized I was entering the real battlefield. At first, I handled simple tasks like connecting backend APIs with the database to get familiar with the workflow. Later, I started working on refactoring and more complex data logic.

I mainly contributed to two apps:

  • Slow Jogging Running Metronome
  • RingRing – The Sweetest Wake-Up Social App

For Slow Jogging, I was involved from the early stage all the way to launch, and seeing it go live overseas was such a proud moment XD. Our team also had weekly meetings to discuss current projects, upcoming features, and new ideas. Once a week, we even joined meetings with the CEO to report progress — I was surprised (and happy) that interns were included. It really made me feel like part of the team. Every two weeks, we had a casual “reflection” session — more like a fun brainstorming meeting with snacks and drinks, where everyone shared feedback and ideas.

Reflections

Originally, I was offered the chance to extend my internship into the school year, but I ultimately decided to focus more on cybersecurity, which is the direction I want to pursue long-term. Since CMoney didn’t have openings in that area, I chose to finish after the 3-month summer term.

When I left, everyone was super kind — some even tried to convince me to stay a bit longer or chatted one-on-one to say goodbye. That really meant a lot; it made me feel that my efforts and growth were genuinely recognized. Through this internship, I learned how professional software development actually works — not just writing code, but designing for scalability, efficiency, and maintainability. I also saw how teamwork and communication play a huge role in successful projects.

Overall, the CMoney internship was a truly valuable experience. In a time when internships in software development are rare, finding a company willing to train and support interns is something special. If I had to choose again, I’d definitely go back to CMoney.

This post is licensed under CC BY 4.0 by the author.