Crash course in coding excellence
Crash course in coding excellence
Marcus Yeong, a student studying Information Technology at Ngee Ann Polytechnic, joined the OCBC Ignite internship programme with OCBC Bank in March 2022. He’s a gym rat and an avid basketball player.
Hello, I’m Marcus. It was great interning under the Ignite programme as it allowed me to experience working in a real-world setting. During the internship, I worked on projects that were already implemented by the Bank, so it was not theory but practice. My assignment was to improve the quality of apps that the Bank had already launched. I refactored codes that were inefficient, making them more readable and easier to maintain. I also fixed bugs to eliminate app crashes. Some of the apps I worked on were OCBC Pay Anyone™, Call-for-Cash (CFC) and OCBC Mobile Banking.
Working on live apps
Working on live apps made what I learned in school “real”. Instead of just applying everything that I knew, I learned to focus on the problem and find a solution. In school, you may be tempted to add features to a given problem because that would get better grades. But at work, it’s not about simply adding features but rather finding a workable solution to a real problem. As I worked on apps that were already launched, I had to be very focused and it nudged me to think outside the box. It was greatly satisfying when I fixed a code to improve an app and after it was published, the app no longer crashed.
Becoming a better coder
Cleaning up messy codes can be challenging and takes a lot of time. One of my responsibilities during the internship was to simplify such codes. Some were far too nested and I had to split them up for better syntax, making them easier to maintain. I also noticed that some functions were way too complex with more than 100 lines and so I refactored those codes to make them more efficient and easier to maintain. I definitely learned to write better codes during my internship.
Finding solutions as a team
Teamwork during Ignite was the same but also different from teamwork during my studies. At school, we learn to solve problems that could be applied in the real world. During my internship, as a team, we solved problems that were actually applied in the real world. While the theory remained the same, the texture was different. There was a sense that we were making a real difference to the user experience which in turn would lead to a better overall experience with the Bank. This led to more cohesive teamwork because we were working towards a common purpose. There was also far more rigour working on the Bank’s projects. The processes were established, structured and clearly organised. In school, we would work at our own pace, deploying fixes whenever we made them. At the Bank, there were rigorous checks in place before we could publish an app.
Reinforcing my career choice
I consider myself lucky to have joined the OCBC Ignite Programme. Before this, I was juggling multiple career options, from engineering to IT and business application development. Game design was my first choice. I like programming. I enjoy thinking about algorithms and fixing bugs. I receive great satisfaction and accomplishment when I find a solution. While I was taught the fundamentals at school, I wanted to get a more hands-on feel about the job and Ignite gave me that. I now have a clear understanding of what working as a mobile developer will be like when I graduate and move on to a full-time job. I learned a lot in technical skills, like advanced concepts on applications as well as what working in an organisation is like. Ignite has reinforced my decision to make a career out of mobile development.
I would recommend those who are interested in mobile development as a career to apply for Ignite. My advice is to come prepared with at least some knowledge of coding so it will be easier for you to pick up the more advanced concepts that you will come across during the internship. Ignite has been a great bridge between academia and organisation.
Interns in the OCBC Ignite Programme are responsible for contributing to the design and software of the Bank’s software solutions. Some skills that interns may learn are developing applications (coding, programming), debugging and testing code, documenting and testing new software applications and learning new technologies in collaboration with their senior leaders.