Software Engineer Intern at Visa (SG) for Summer 2021
By: Marcus Lee Eugene
Tags: Software Engineer, Internship Experience, Backend Development, Summer Intern, Visa

Why Visa

I have always worked in small start-ups and it was only until my previous internship, when I wondered what the development process is like in an enterprise, in terms of how they scale their solutions to meet world wide demands as well as how they maintained their enormous codebase.

My past internships had always been very similar, to be assigned a task and completing it by the end of internship. Sure, I made things work and delivered on time, but I didn’t know if the way I wrote my code was up to standard and if in any way, adhering to the best practices in the industry.

There wasn’t much mentorship as the developers in the team were either rushing to meet deadlines and didn’t have time to guide me, or that I was the sole developer in the company and only had Stack Overflow to look up to.

It was around then, when I heard great things about Visa’s focus on developing talents and how learning is emphasised within the company from a friend. I thought that it would be a good chance for me to improve and grow under their professional guidance.

Coupled with my goal to work on meaningful solutions that positively impact the daily lives of people, I was convinced to give it a shot.

I found out that they were opening summer internship applications for Software Engineering roles in January 2021 (Singapore) and decided to apply for it.

My Experience

Without hesitation, this is by far the best internship I’ve had. No exaggeration, only the truth! 🔥

First of all, I really enjoyed how Visa took really good care of its interns and provided full transparency on all information within Visa. It felt good to be acknowledged professionally despite being an intern. There were weekly leadership talks, development sharing sessions, product introductions and innovation tours all planned out by the Internship Program management team. I am really thankful! 🙏🏻

I loved how Visa included the interns in everything. For example, I was under the Digital Developer Platform (DDP) team, and there was this forum to update on the team’s progress and achievements every quarter. They started off the forum by welcoming the interns with a short video, introducing us and our biographies, which I thought was really cute. Truly appreciative of the efforts made by the team!

There was also a time when I was highly interested in the mobile enablement team and spoke to my hiring manager and the DDP’s intern program coordinator about it. They immediately linked me up with an Android developer from the mobile enablement team for me to schedule a call with, to answer my curiosities. 🤩

Events in Visa were all catered to multiple time zones at our convenience to ensure that we do not miss out on any sessions. This was really beneficial to me especially on busy days where I could choose to attend events geared towards the North America timezone (Night time in SG).

Throughout the internship, there were many opportunities for interactions. I even participated in an Eco Case Challenge which happened over the course of a month, giving me the chance to bond with mentors from different tech teams and new friends from different universities.

Oh yeah, not to forget, one of the best things were the swags that Visa sent. Woohooo! I will also be receiving some Tokyo 2020 Olympics Merchandise, once the office reopens! 🥳

Digital and Developer Platform’s Welcome Gifts

I also got the chance to present what I worked on to DDP leaders on my 11th week, and it was amazing to see the cool projects that other interns worked on! 🤯👍🏻

Although it was a fully Virtual Internship (due to COVID-19), I looked forward to starting work every single day because of the people, the culture and new exciting things to learn!

Visa Singapore Office (I would have been working here if not for COVID-19)

What I worked on

I was part of the Digital and Developer Platform’s Visa Direct Singapore team that builds the payment APIs that you have probably used before. We enable people to send and receive money efficiently, securely, and seamlessly to billions of endpoints globally. 😎

My job scope focused more on Back End development, where I worked on one of the Push Payments API.

For some context: Push Payments allow funds to be pushed to a recipient’s Visa account by initiating a financial message called an Original Credit Transaction (OCT). Original Credit Transactions are a fast and convenient way to send money to Visa accounts.

Over these 12 weeks, I have gained so much and learnt numerous technologies and design patterns. During school semesters, there wasn’t much time for applications on school projects. However, Visa was a great platform for me to practice the theories I learnt back in school and it helped me understand some of the concepts better.

I feel like I have mastered the art of debugging after this internship. Working on this project made me more appreciative of programming tools and the importance of choosing the right ones to work with. The IDE I used had saved me hours of aimless debugging. Setting break points and seeing how the values are going into the variables helped me understand what went wrong with my API calls.

At times, I did get stuck on problems for hours and sometimes, even days. Most of the time I would try to figure things out on my own, but only when I had tried everything and nothing worked, I would ask my mentors for help. Knowing when to ask for help is really important and you never know if someone has experienced what you faced before.

One of the biggest takeaway for me was to be curious and to venture into the intricate details of the codes when I worked on the API. It was crucial to understand each line of code and the entire process flow in order to build something that works reliably and correctly.

I also performed unit, integration and regression tests for the codes I wrote. Testing was a very tedious and mundane process which I did not enjoy. The difficulty was coming up with scenarios and trying to hit the line and branch code coverage requirements. Although dreadful, tests are really important (reduces severe bugs surfacing after release) and I believe that a good software engineer should be able to write some basic tests to cover the code written. I still have a long way to go, but definitely looking forward to improving in this area! 💪🏻

Overall, it was challenging yet satisfying to be working on real work and contributing to something that will positively impact billions in the world.

Mentorship

How it works for interns (at least for my team) is that we are each attached to a mentor (usually staff / senior software engineer) who will guide us throughout the internship program. In my case, I was really lucky to be assigned my mentor and having my friend’s mentor to seek for guidance as well.

I had 1:1s with my Hiring Manager every week to update on my internship progress. Usually we will discuss on what I was learning, what I hope to learn, suggestions to improve, Visa’s technologies and sharing career experiences.

There were also daily scrums meetings where the team reports on their progress and any issues faced. Scrum is a part of how agile teams work, and I believe its importance is in creating accountability such as settings goals to be completed by the day to ensure productivity. I must admit that at times I felt a little stressed for being stuck on a task for days and not knowing what to report during scrum, but the team was very encouraging and this brings me to the next point about my mentors.

I had daily sync up sessions with my mentors, to ask open ended questions on the code base or any problems I was facing. On days where there were no questions, they would give us a first hand experience of the technologies used from development to production within Visa. These gave me the opportunity to learn about how a project is delivered starting from development to the release phase.

These sync up sessions were very interactive, productive and useful. I have to say that my mentors are the real MVPs. As a newbie, I was overwhelmed with information and struggled to understand the massive codebase. However, they were very patient and always allocated time to discuss with me about the problems I faced.

I felt that this was the key aspect of my internship which enabled me to learn the most as compared to my previous internships at start-ups. My mentors were highly skilled in the Software Engineering area and because they understood the code from inside out, at one glance they knew how to solve problems that I might have been stuck on the entire day. 🤣 I also really liked bouncing off ideas with them, such as how I could have written cleaner and reusable codes, which my mentors were really supportive of.

Benefits

Our working hours are usually 8.30am-5.30pm Monday to Fridays. But because of the current Work-From-Home (WFH) situation, employees get to enjoy well-being hours on Friday afternoons. I believe that this really helped me tide through mentally and productively as I tend to get really restless once it hits mid-week.

My Work From Home Setup 🤤

There is also a learning platform built on the Visa intranet also known as ‘Visa University’. We are privileged to have free access to paid courses from Udemy and O’Reilly on Visa University! I got to learn how to use the Spring framework for the project I was working on, as well as explore what Mobile Application Development in Flutter is like during my free time.

Specifically for Digital and Developer Platform (DDP), there are Microsoft teams channels for technical knowledge sharing. In addition to this, there are weekly technology sharing sessions for everyone. I occasionally dropped by to learn about new technologies (e.g UI/UX design, Software Engineering, DevOps, New Libraries and Frameworks) being used and it is wonderful how everyone is so passionate about technology here at Visa.

For DDP interns, we have weekly leadership talks with the heads of different divisions to learn more about the business and where leaders impart us with career advices. For some of these talks, we were also entered into a raffle, giving us the chance to win some prizes. I have won a $35 cash voucher (still thinking about how to spend it, open to suggestions 😝).

There are also intern social events with games like Bingo and Virtual Escape rooms on Fridays since we end work earlier, providing many opportunities for us to interact with others.

These are just some benefits that I know of as an intern and I’m pretty sure there are many more undiscovered ones.

Pros & Cons

Pros

Opportunity to work on high impact products

Great mentorship program

Good work-life balance

Many networking opportunities

Everyone is super friendly and willing to help

Cons

Took me weeks to get onboarded and to fully understand codebase

It was virtual and I would have enjoyed it a lot more if it was onsite (I heard great things about the facilities in the office)

Conclusion

Visa is an amazing company and has definitely set a high benchmark for my future internships.

I enjoyed my time here very much and would love to return as an intern / full-time employee someday! 😊

If you have any questions, feel free to reach out and I hope that my internship experience has been interesting for you!