As a software engineer, I enjoy programming and problem solving with great vigor. If I add the number of years that I programmed at school, I’ve programmed for thirty years and yet I have never felt bored. Indeed, I am fascinated by new programming techniques that are still being created and I can’t stop myself from learning.
I was born and grew up in Beijing during the Great Revolution years. Due to the fact that my father worked for a government foreign language publishing agency, we lived in a community with translators for various languages, most of them were very well known. Close by, there were many big government research institutions and engineering organizations. So the district was full of intellectuals. The schools I went to were still academic centric even though most of the schools were not teaching real knowledge at the time. I developed good study habits and had always been a good student.
Before I entered high school, universities in China were reopened and the entrance exam was launched. I was recommended to go to Beijing Foreign Language University (today’s Beijing Foreign Studies University). I didn’t feel I would want to be a translator nor a diplomat, plus my parents didn’t think I was mature enough to be a college student, so I went to a magnet high school focusing on math and science. When it came to the time to choose a college, there was a serious fight between me and my parents. I was recommended to go to a top science and technology university in China. My parents were concerned that I could lose my Beijing residential certificate with the choice, they insisted that I should choose a college in Beijing, preferably Beijing University Library and Information Science Department. I lost the fight no matter how hard I fought. The result was that the only thing I could choose was what I studied.
I went to a poly-technic university under the jurisdiction of the Beijing Municipal Government to study electrical engineering as well as mathematics. My first computer course was titled “Z80 Microprocessor” and my first programming language was Z80 assembly language. I remember how excited I was the first time I built a functional control board with just a few chips and some electronic components! Soon after, I picked up BASIC, Pascal, FORTRAN, and C programming languages. I enjoyed my time programming on the mainframes in computer rooms as well as the time making real time control systems using single board computers on those long workbenches. The more I learned, the more the thirst for knowledge broiled. I can’t remember how many nights I spent in the labs or computer rooms without any sleep. I then finished my EE master’s degree research on a robotic control system. The actual robot was controlled by a Z80 single board control system. The simulation program used FORTRAN 77 on PDP 11.
In 1993, a UC Berkeley’s math Ph.D. was attracted by my math skill and he hired me as a professional programmer to write 2D and 3D AutoCAD drawing programs. Since then I became exposed to myriad of flavorful commercial programs, from C, DB IV, LISP, 8086 assembly language, to Visual C++, from engineering drawing, industrial robots and many other real time embedded control systems, to Windows GUI components, I really enjoyed them all. Fortunately I landed on the web platforms in early 2002 where I always longed for more. I feel so happy each time I learn something new!
Because I do indeed enjoy logic thinking, I found myself so lucky to have both the depth and breadth of programming knowledge and experience. I feel that I have certainly grown into a true passionate programmer.