Tuesday, 10 November 2020

The Footsteps of A Programmer

 More than ten years ago, when I was still an undergraduate student in Xi’an, I did believe I would have a glorious future, given that I was a high-performed student at a university that was famous for its research and education in electronics and telecommunications. My plan was to find a technical job in telecommunications industries after the course so that I could earn a few years of experience in China and then migrated to Australia via skill immigration. This goal was very realistic at that moment as I did not target high salaries and my concern was merely the experience. I could still remember that, on that afternoon in November of 2007, in Tangcheng Hotel, how I signed the agreement with an HR representative. I expressed my sincere thanks to her. “No,” she said, “you shouldn’t thank me. If you could work hard in future in this job, I will be very satisfied.” I could not understand what she said until it was too late. I worked in Shenzhen for a few weeks and then quit the job. Later I applied to study in Australia. My parents sold an apartment and used the money as my tuition fee. But the budget was very stressed.

I arrived in Australia at the end of the year 2008, just a few days before Christmas. I lived together with my grandmother in a house that was quite close to the train station so that I could catch the train to school.

After waiting for a couple of months, my first semester was started. My course, which focused on software development, has only one compulsory unit, IT Project Management, and all the other units are selective. The level of difficulty for a master coursework degree in Australia was somewhat close to that of an undergraduate degree in China. In fact, we had lectures and tutorials together with undergraduate students. Only the assessments were different. However, it was not too easy for me, as in my undergraduate course I was only taught low-level C and assembly languages that were related to software development. Higher-level things such as Java, C#, Javascript, design patterns, databases, operating systems and web services were all brand new to me.

For the first semester, after very careful consideration, I chose four units, and they were Data Structure and Algorithms, Database Design, Software Development and Internet Protocols and Services. Then I devoted almost all the time available to study. I got up very early in the morning and came home very late at night. I had a part-time job in the shopping centre near my home, and I worked there as a kitchen hand for around ten hours per week. Life was not easy in all aspects. The language was a challenge but not the greatest one. Many days and nights, I was thinking about whether it was worth to spend that much to come to Australia for a degree that was not really more competitive than a normal Master degree in China. I was not sure when I could earn back the tuition fee that I spent. I was not sure whether I could stay in Australia due to the uncertainty of the immigration policy. I still remember how happy I was when I knew I was awarded a Group B scholarship for my performance in the first semester. However, this scholarship, with around $3500, compared to the more than $10000 tuition fee per semester, was still too small.

In the second semester, I chose two coursework units and a research project. One of the units was System Programming, which covered the fundamentals in operating systems. I learned this unit quite well, and some years later, I became a tutor for it. The other coursework unit was Enterprise Software Architecture, which was very important for my current professional development. It taught component software and Service-Oriented Architecture (SOA). Besides these two units, I undertook a research project in a team whose research focus was environmental sensing. The knowledge gained in this project was embedded software development based on Windows CE.

Then the three-month summer holiday came, and many international students went back to their home countries. However, an air-ticket at that time was too expensive for me. I decided to stay in Brisbane, to get more hours in my part-time job. Meanwhile, I also enrolled in a summer course. It was a project unit in the Business Process Management (BPM) group. My supervisor for this project was the lecturer who taught me service-oriented architecture (SOA). At the beginning of the project, he explained to me that what BPM was. “We focus on process-centric services.” He said. The term “Process-centric services” was a terminology in SOA. My task was to implement the process configuration functionality in YAWL, termed C-YAWL. YAWL was an open-source process automation system built on top of JGraph, a Java-based graph library.  I worked very hard and finished the project earlier than the due date. Then I was invited to join a paper to implement an algorithm of process verification and integrated the algorithm into  C-YAWL so that the correctness of a process after configuration could be ensured. When I finished the project, a new semester began. This was the first semester of 2010.

The immigration policy in Australia was said to have a major change in that year. My heart was heavy when I heard the news. It was said that it would be much harder to apply skill immigration and the waiting time was much longer than before. I was not sure what my future would be if I could not stay in Australia. I even began to regret not doing a postgraduate degree in China.

In the past year, some professors and lecturers at QUT told me that they thought I was suitable for a research degree. Then I began to apply for PhD scholarship. Although my first attempt was a failed one, the professor, however, did show some interest in my application. He wrote an email to ask me to come to his office. “I hope you to accept some training in our lab.” he said, “If you could demonstrate that you were able to make contributions to our lab, there were plenty of scholarship opportunities. “

Then in the new semester of 2010, I chose a unit called Advanced Signal Processing Systems, which covered signal processing including image processing. In addition, I undertook a project about object-tracking using the Meanshit algorithm in two PTZ cameras in the lab. From then on, my focus had switched to a subject called computer vision, which was a subdomain in Artificial Intelligence (AI). Besides that, I also enrolled in two more units. One was the compulsory unit IT Project Management. I asked the course coordinator why this was the only compulsory unit. He said, “The university expects that Master degree students were the managers in the society. This is why you have to learn management skills. ” The other one was AI for Computer Games. This unit covered games agent programming.

A few months later, I applied for an early exit from my master course. Then I became a researcher in machine learning for about nine years, with its application first to computer vision, then to process mining, and then to Wi-Fi sensing. I did need to write computer programs, but the focus had never been in software development.

There were many times I thought my Master degree was not only expensive but also useless. It costed more than an apartment in China but did not directly relate to my research and immigration.

However, after returning to Australia from China in the year 2019, I switched my career from a researcher to a software developer and practised what I learned from my master degree every day.

I am not a competent programmer, though I have much experience in coding. The knowledge structure that I learned from my Master degree course is not perfect. First, I didn’t choose any subject about the web application. Fortunately, I learned the techniques from my job. Second, my knowledge in automata and formal languages is still very limited, making me hard to understand techniques such as compiler principles and computational complexity. Fortunately in the age of the internet, I can learn it through some MOOC course. However, when I had a time that was free from coding and debugging, I often thought of the years of research.

Hometown

Yesterday, I picked up my concert flute, which I hadn't used for a long time, to play a Japanese melody called "The Original Scener...