My career transition to software engineer

August 16, 2021

In 2014, when I received the letter about my work visa rejection in Australia, it was life-changing. After a year on a working holiday visa, I was fortunate enough to receive an extended job offer from my company to work as a marketing manager in Brisbane, allowing me to continue my stay for at least five more years. Unfortunately, the immigration authorities denied my work visa application. I was disappointed, and the explanation for my visa rejection was that I did not have a solid marketing background, nor an appropriate business degree. It was a valid statement; it was a pity that my high school decision had a long-term impact on my career path. As a result, I had no choice but to leave the country that I didn’t belong to, leaving my Australian friends and colleagues behind, and never see them again. I lost my job when I returned to Hong Kong. Many organizations did not recognize my experience as an Assistant Marketing Manager. I knew I didn’t want to return to my old path of working in a laboratory. After sending many CVs, I received no response to any of the job applications. The most frightening aspect of being unemployed was the loss of social status, not the lack of money. It was difficult to explain my failure to my old friends in Hong Kong, and I felt embarrassed to contact them.

After a depressing period, I decided to spend all of my savings on a costly coding boot camp. The school seemed good, with three months of intensive training and the possibility of landing a programming job. Travelling around the world is a dream of mine, and travelling the world and working anywhere as an independent programmer sounds like an ideal job for me. And, as a result of my digital marketing experience, I saw that there was a strong need in the field. With that in mind, I decided to study HTML and CSS. That’s all quite basic. Then I learned about coffee-script, Ruby on Rails, and Meteor JS. Once again, I had high hopes for my dream, but the reality was not as romantic as I had hoped. The return on investment was minimal after paying the expensive tuition fee because my instructor was laid-back and relaxed, whilst my classmate was affluent and carefree. They were not under the same pressure as I was to get a full-time job. I spent the majority of my time in disorganized classes and idle chit-chat. It was terrifying to realize that a day had passed, and I had learned nothing. At midnight, I did the majority of my studying on my own. To make matters worse, after three months in the program, I was offered a free internship at a startup, which meant that I not only did not receive the full-time job as promised, but I received unpaid employment as free labour.

After the training, I was not confident in my ability to work as a programmer. After careful investigating, I came up with two options: I received an invitation to return to Australia to get a master’s degree in marketing. Another alternative is to enrol in a three-month coding boot camp in the United States. This time, I determined to go to the United States, and I was fortunate enough to receive an offer from the greatest coding school in the country. According to the data, their alumni earn a ridiculously high wage working in Silicon Valley, which sounds extremely appealing to me. However, the United States government denied my visa application, and once again, I was devastated. The coding school was not registered as an educational institution, and I could not qualify for a student visa. I wouldn’t be able to get a tourist visa because the study was prohibited. I was in a dilemma, and I was in such a difficult situation that I chose to complete my studies in Hong Kong. It meant that I got up at 12 a.m. every day and studied online till the morning. Then I took a nap in the afternoon before returning to the night shift to study. To be honest, it was okay at first, but without adequate exposure to sunlight and time to meet up with friends, I became depressed. And I recall that I no longer had any savings to pay the high tuition fees, but my mother generously provided me with the funds to continue my education. When I wasn’t studying hard enough, I felt guilty.

I felt ready to be a programmer this time, equipped with knowledge of recursion and answering all hard questions during job interviews after three months of strange time zones and coding. This time, I applied for ten positions and received nine offers! I was relieved to receive job offers in Hong Kong, but when you compare the salaries of programmers in Hong Kong and the United States, you realize the world is unfair. My peers who worked in the same field as I was received five times as much as I was. After this transition year, though, I became more realistic. I accepted a full-time software engineer position with an Australian consulting firm in Hong Kong. It attracted several high-profile clients and a fascinating project, notably for the world’s largest gaming corporation. I was onsite at Riot Games, which was a dream come true for all the gamers because they could play online games at work and their entire culture revolved around gaming. I wasn’t a gamer, and sitting in their lovely office made me feel like an alien. Once again, I had a distinct impression that the world was unjust. They earned a high-paying position at work playing computer games while I was working hard next to them, building software instead of playing games. Anyway, I couldn’t complain, and I was happy for the opportunity to work on that project. Using an agile approach, I learned a lot about software design and development techniques. Many difficult technical challenges arose, but I was able to resolve them. After a year of hard effort, I delivered the code, but the company never sent the code for production. Due to internal political concerns at the client, the project came to an abrupt conclusion. All of my efforts seemed to be in vain. To increase the performance, I reworked the entire thing at least three times. Three times from different designers redesigned. I learnt a difficult lesson, and it reminded me that my role was limited to a consultant. Don’t become overly invested in a project. Now is the time to move on.

After working on an enormous project with a large client, my company assigned me a tiny startup work. Building an app for a small startup with no users was not enjoyable. To make matters worse, the product owner had a large ego, which made working with him difficult. He was not a real entrepreneur, but he was given the money to waste because his family was wealthy. I resigned because I thought I was wasting my time and talent, and I went to work for a huge international software company. The client project I worked for is the best airline in Hong Kong for their mobile app. I commuted near the airport to work in the client’s office on site. Initially, I was satisfied. It turns out that I was naive once again. The project’s director was a complete moron. He blamed and criticized my coworkers loudly enough for everyone on the same floor to hear. Under his leadership, three supervisors quit, and the work environment was extremely toxic. Many software programming projects were given offshore in mainland China or India, with little understanding regarding the business. This outsourcing made my job more challenging. Some of them even supplied low-quality code full of bugs. It was a difficult work environment, but I like my team and my clients’ coworkers. After working absurdly long hours and delivering the software on schedule, we became great friends. I was pleased with my job and the efforts of my colleagues.

One day a headhunter contacted me for a new position. It was a job at the world’s most prestigious consulting firm in Hong Kong, working on a fintech banking wallet project. Without hesitation, I chose to enrol. Due to the tremendous demand in the market, it was a once-in-a-lifetime opportunity. Every time I change jobs, my compensation rises. The bank had a lot of money to put into the project, and my hourly rate to the client was ridiculously high. Consider the following scenario: we had an ineffective meeting with a few consultants that cost a few thousand dollars, and the firm made a large profit after subtracting my compensation. Anyway, the project was enjoyable to work on at first, and it served as a stepping stone for me to later work in-house at the HSBC bank, which is another chapter in my new life story.


Profile picture

Experience in software development, application architecture, and deploying cloud solutions for enterprise customers. Strong hands-on skills with a Master's degree in Computer Science and business acumen with a master of business administration (MBA) in Finance. Certified in Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, Kubernetes (CKA, CKAD, CKS, KCNA) and Scrum (PSM, PSPO) with experience in building banking products from scratch. Connect on Linkedin

© 2022, @victorleungtw