About Me

I am a software maker, and I love programming.

Since I graduated from BIT in 2011, I started my programming career. At the first, I worked on embedded software developing. My everyday job was occupied by lists of register setting and reading, contacting with many bus protocols, such as i2c, UART, SPI etc., and debugging high memory and cpu cost issues. It’s tough and challenging, and I loved it a bit. But embedded software engineers’ average salary was very low, and they were not valued equally. So I gived up finally. But through this work experience, I consistently believe that I belong to software because I love it with all my heart.

Later then at 2014, I maked a decision to switch to iOS developing at the time when I took the first glance of Swift language, and I was caught by the great elegance of it. But it’s a bit funny that I never write Swift codes more than 100 lines, for the reason that when I dived into iOS coding Objective-C becomes the main language to me. At the later times, I even terribly wanna have a try to write Swift code, but not have a chance, worser when I moved to robot area. I still feel a little pity, and great wishes to Swift.

During the time of iOS developing, I read a lot of open sources because iOS native UI/animation library did not meet our requirements all the time. Another aspect is that some 3rd-party library provides nice wrapper of native functions, and then it’s easier to use. And exactly during this period I formed a habbit to refer to open sources whenever I need a function or specific module. Github becomes the place where I would call on often, and github trends comes to be the fixed place where I view the latest trends in software community.

Now, I am a C++ coder in robot area. But did you know that I deeply hated C++ in the beginning? Extremely funny! At the year of 2011 when I was in my first job, sometimes I might need to use C++ to make some debug tools or simple GUI. At that times, C++ 11 had not been popular yet, and we used VC6 as IDE. It’s ugly and unfriendly. That’s my first impression of C++, a buggy language. Nowadays, C++ 17 is the latest version, and C++ 20 has already been planned. C++ has become more and more friendly and easy-to-use for us. And now C++ is my main programming language.

I am a bit volatile, and I changed a lot these years. But the only one that not changed is my love to software. I love software architecture, and I believe in the philosophy behind it.

My latest job is focused on autonomous driving, and if you are with the same profession, welcome for your advice or comments.

Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.
----Linus Torvalds