My career transition to software engineer

It was a life-changing moment in 2014 when I received the letter about my work visa result in Australia. I was fortunate to get the job offer from my company to work as a marketing manager in Brisbane, which means I could extend my stay after a year of working holiday visa. Unfortunately, the government rejected the work visa application. I was disappointed, and the rejection reason was I did not have a strong background in marketing nor a relevant business degree. It was a fair point, just that the decision I chose in high school had such a long term effect on my life trajectory. Therefore I had to leave the country that I did not belong to and leave my friends and colleagues and never got a chance to see them again. When I was back in Hong Kong, I became unemployed. No company would recognize my job experience in Australia as an assistant marketing manager, and I knew I did not want to go back to old routes to work in a laboratory. All my job applications had no result after sending my CV. The scariest part about being jobless was not the lack of money but the loss of social status. I felt ashamed to contact my old friends in Hong Kong, and it was hard to explain my journey as such a failure.

After a period of depression, I decided to spend all my savings to study an expensive coding Bootcamp. The course looked promising with three months of intensive training and a chance to get a job as a programmer. I dream of travelling around the world, while freelance programmers can travel the world and work anywhere seems to be a dream job for me. And I realized that there was a high demand in the industry from my digital marketing experience. With that in mind, I picked up and learned about HTML, CSS. Those are the pretty straightforward stuff. Then I studied coffee-script, ruby on rails web framework, and meteor j.s. Once again, I had high expectations and was sold by the dream, but the reality was not that romantic. After paying the high tuition fee, the return on investment was low, mainly because my instructor was chill and relaxed, while my classmate was wealthy and carefree. They did not have the pressure to look for a full-time job as desperately as I did. I wasted most of my time in unorganized classes and random chit chat. It was a scary thought that a day had passed, but I did not learn anything. I did most of the study via my self-study at midnight. To make things worse, after three months of the programme, I got an internship at a startup to work for free, which means I not only did not get a full-time job as promised, but I got an unpaid job as free labour.

I did not feel confident working as a programmer after the training. After some research, I got two options: I got an offer to study for a master’s degree in marketing back in Australia. Another option is to learn from another coding Bootcamp in the United States. for three months. This time I had wishful thinking to go to the U.S., and I was lucky to get an offer from the best coding school in the U.S. According to the data, their graduates have a crazy high salary working in Silicon Valley, which sounds super attractive to me. However, once again, my heart was broken because my visa application to the U.S. got rejected. The school was not registered as an educational institution, which would not allow me to apply for a student visa. I would not get a tourist visa either as the study was not allowed. I was desperate. I was so desperate that I decided to continue to study the course remotely from Hong Kong. It means that I woke up at midnight, took the class online until the morning every day. Then I slept in the afternoon and went back to study at the night shift. Honestly, it was okay initially, but I feel depressed later on without enough exposure to sunlight and catching up with friends. And I still remember, I do not have any savings to pay the expensive tuition fee anymore, but my mum borrowed me the money to support my study. I feel guilty whenever I waste time not studying.

After three months of crazy time zone and learning coding, I felt ready this time to be a programmer, equipped with knowledge about recursion and able to answer all challenging questions at job interviews. I took ten job applications, and I received nine job offers this time! I was happy to get the offers finally in Hong Kong after the hard work, but when you compare the salary of a programmer’s job in H.K. and the U.S., you would realize the world is unfair. My classmates working with the exact job nature got a salary five times higher than me. However, I have become more realistic after this transition year. I took a full-time software engineer job working in Hong Kong for an Australian consulting firm. It got many prominent clients and an exciting project, with a particular one for the world’s largest gaming company. I was working at the gaming company onsite, which was like a dream for all the gamers, they could play online games at work, and all their culture was around playing games. I was not a gamer, and I felt like an alien sitting in their beautiful office. Once again, I strongly feel the world was unfair. They got a high paying job playing computer games at work, while I studied so hard sitting next to them, but doing my real jobs writing software instead of playing games. Anyway, I could not complain, but I am grateful for that project experience. I learnt a lot about software design and development methodology using an agile approach. There were many challenging technical issues, but I was able to solve them. After a year of hard work, I delivered the code, but it never got a chance to be released to production. The project ended abruptly due to the client’s internal political issues. All my effort felt wasted. Mainly I rewrote the whole thing at least three times to improve the performance. There was a re-design three times from different designers during the time. Learnt my lesson hard and being reminded that my job was just as a consultant. Don’t be too emotionally attached to a project. Move on.

After the big project with a large scale client, I got assigned a small startup task. It was not fun to build an app for a small startup with no users. To make matters worse, the product owner had a big ego which was hard to work with. He was not a real entrepreneur, but because his family was wealthy, to give him the money to waste. I felt I was wasting my time and talent, so I resigned to join a large international software vendor. The client project I worked on was the best airline in Hong Kong for their mobile app. I travelled near the airport to work in the client office onsite, and I was happy initially. Turn out I was naive again. The director of the project was ridiculous. He blamed my colleagues and scolded them, such that everyone on the same floor could hear. Three of the managers resigned under him, and the work environment was very toxic. My job was more difficult because many software writing tasks were assigned offshore in mainland China or India, with no context about the business. Some of them even delivered very low-quality code full of bugs. It was a harsh work environment, but I love my team and the teammates at my clients. We became best friends after working unreasonably long hours and delivering the software on a tight timeline. I was proud of my work and my team.

After this big project, I got a recruiter to contact me for a new job. It was a job at the world most famous consulting firm for a fintech banking wallet project in Hong Kong. I decided to join without hesitation. It was a rare opportunity with the high demand. My salary increases as well every time I change my job. The bank had a lot of funding for the project, and my hourly rate charged to the client was crazy high. Imagine we had an unproductive meeting with a few consultants, and it cost a few thousand USD, which the firm earned a very high margin from me after deducting my salary. Anyway, the project was fun to work with at the beginning, and it gave me a stepping stone to work in house at the bank later on, which is a chapter for my new life stories.

By Victor Leung

Experience in software development, consulting services and technical product management. Understanding of business and technology with an MBA in Finance and a Master degree in Computer Science. AWS Certified Solution Architect with experience in building products from scratch and serving as a charismatic leader.

Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.