My Internship Experience at Wise
My name is Ali Salman, I’m a last year computer engineering student at Budapest University of Technology and Economics. This summer, I was an engineering intern at Wise in Budapest for 10 weeks.
Finding out about the internship
My journey with Wise started a while before the internship itself. As a student who had some extra time, I was looking for a part time job to earn some money and professional experience along with studying. I wasn’t looking for something specific so when I stumbled upon Wise’s part customer support roles’ advertisements, they grabbed my attention. I was mainly looking for a flexible job to keep up with working on my personal projects and attending classes, and Wise highlighted that. So I applied and got accepted and started working at Wise.
What was missing for me at that time was having real life software engineering experience. Being part of Wise, I got introduced to the culture and friendly working environment that prompts exploring your own solutions and learning from mistakes. These were important things for me to note about a place I would like to intern at. The ideas of autonomous teams and taking ownership of your projects resonated with me.
Application, selection and pre-starting
I applied for the internship through Wise’s careers site, just like everyone else applying as an external candidate to Wise. The selection process starts with a HackerRank test that involves questions related to frameworks used at Wise.
The interview was a pair programming session with two of the engineers at Wise. My strategy was to prepare and study heavily for the topics of the test and the interview, and to ask questions.
The recruiters and the interviewers were helpful with providing tips on how to best prepare for the interview and explaining the questions. During the interview, it’s helpful to think out loud to showcase your thought process and how you approach problems.
A few days after, I got an offer from Wise for the summer internship which I accepted the day after.
In the weeks leading up to starting the internship there was a lot of communication regarding paperwork and contracts. I also received a list of potential teams to join. I was asked for my preference and I ended up joining the SWIFT team.
3 offices in 9 days
By the time the first day finally arrived, I had worked at Wise for several months but it still felt different to come to the office as an engineering intern. On that day I met the other Budapest interns, the recruiters, got my laptop set up and met my team leader.
The rest of the week was spent in London. We had a day to travel and settle there, and two days for the company onboarding. All the interns from Budapest, Tallinn and London were there. Wise planned a lot of activities for these two days to get to know the company and the other interns. This included a very inspirational session with the Design Lead that worked on Wise’s rebrand in March and a scavenger hunt in Shoreditch. In the evenings, I met with other interns for walks around the city of London.
The following week, my team was attending company planning events in Tallinn, Estonia. Thanks to my Team Lead telling me the week prior, I was able to attend these and I flew to Tallinn after less than one day of being in Budapest. That way, I’ve been to all the major Wise European offices in less than two weeks.
Going to Tallinn was very useful to know what my team had been working on, and what they plan to work on next. Wise works in squads of autonomous teams that to a large extent make their own decisions on what to implement and how to help customers. That week I got to know how other teams organise their work, met with product managers, analysts, operations teams, and even the CEO and co-founder Kristo Käärmann was in those meetings.
Most importantly, my team is spread across Budapest, London, and Tallinn. This was an opportunity to meet the other engineers and operations specialists that I will be working with later.
Making things faster
My project was about optimising an internal tool that is used by our operations teams. As Wise is growing more and more every year, the way this tool was implemented before was making it struggle to produce results and catch up with the larger amount of information we are processing.
The third week was when I finally started making changes and submitted my first pull request. This wouldn’t be possible without the help of my buddy, who is a more experienced engineer that I was assigned to turn to in case of questions and for help throughout the duration of the internship.
I first needed to investigate the use cases and what’s causing the current implementation to fail. I had several meetings with operations agents to discuss how they used the tool – some of whom I met in Tallinn.
I ended up working on a myriad of things, including query optimization, backend code structure improvements, and implementing changes in the frontend while keeping backward compatibility.
SWIFT is a fancy emailing system that banks use to send messages about states of transfers. SWIFT is used when the sender bank doesn’t have a direct connection to the recipient’s bank. It involves transferring money through intermediary banks that charge their own fees, which makes it a more expensive transfer option. Still, it’s useful to have it rather than not.
As an international student, I have interacted with this system before when I tried to pay my university fees for the first time and when my parents sent me money. Joining the SWIFT team, I started to learn about the messages used between financial institutions, what they mean and how we store them.
Part of my project was understanding what messages our operations team needed to use the most and evaluating whether an archiving strategy was necessary for these messages.
Autonomous working and taking ownership
One of the values of Wise is “getting it done”. This means that teams trust each other to finish their tasks and that it’s up to each team member to determine how to best solve the issue at hand.
That way, I had the freedom to explore any solution I wanted, and my first thoughts were different from the solutions that my buddy and other engineers in the team proposed. I ended up implementing my solution which solved the problems we were facing to a large extent, but not fully.
Then, one morning before a stand up meeting, I had a moment of epiphany, when everything clicked together and I realised what the others were telling since the beginning was the better approach.
Thanks to the time I spent exploring how our services work and interact with each other, it didn’t take me more than a couple of hours to change virtually everything I worked on for more than three weeks.
This process of trial and error was a valuable learning experience for me, it showed me that once I understand a system or a topic well enough, I can fine tune changes to produce desired results. It also showed me first-hand how working in engineering, there is no single correct way to do things. As a result, it’s always necessary to take a top down look on how a component works and take into account the impact of changes on other services and teams.
I appreciate having had this opportunity and freedom to implement my solution, I believe it’s a win-win experience for me and for Wise. Personally, I now I know how to use several different frameworks in web development. And for Wise, I could handle several other tickets after this and the time I invested in learning and implementing the less efficient solution helped me understand how our service is designed and how it connects to other services.
Don’t be sad it’s over, be happy it happened!
The last couple of weeks were especially fun because I finally got a hang of things and felt more confident with implementing any changes I thought of. We also had a web page design competition on one of the Fridays. It was fun working with other interns for the first time. It’s both sad and happy to realise how fast these 10 weeks went by. I’m glad that I decided to apply and got to be part of this experience.
The early careers team went the extra mile throughout the internship to ensure a useful and memorable experience. I enjoyed the weekly Lunch & Learn sessions that were with other teams in Wise. I will definitely miss the weekly catch ups we had and the morning coffees, and obviously, post work table tennis.
Finally, I want to say thank you to everyone who was part of this experience, my buddy, team leader, other engineers, interns, early careers team and everyone I had a chat with in the office!
What did I like the most?
- When I wanted to implement a new solution, I needed only a couple of hours to write new code across the backend and the frontend, and when I deployed the changes they worked with no issue!
- Getting to the point where I can create an entirely new feature in less than an hour, by understanding how everything falls into place together, like playing with Lego bricks!