My critical mistakes in Academia and reflections

This post is a summary and reflection of the critical mistakes I have made throughout my post-secondary academia career. This is a gift for my child (if there is one) and it might be helpful for others.

Diverse interests without focus

I have three majors from economics, computer science, and mathematics after I finish my undergraduate degree. I often get wowed from other people. However, the more I focus on one field, the more I feel three majors are diversified enough to have no focus. Even I have a major in computer science, I didn’t take courses in computer architecture, operating systems, networks, compilers, which are essential courses for a computer science major. I have to take hard way to catch up with those missing material: reading classics. This process takes a long time and I’m still on my way finish studying them. If I have an end goal of becoming a computer scientist, there certainly no need to obtain a major in economics and I should become more focus on the mathematical branch related to topology, combinatorics, and logic. Taking extra unnecessary courses may not be the only waste. Lacking of background incurs extra cost during the PhD and job applications. Even though I manage to secure a position in industry, I still need lots of work to catch up.

Doesn’t know the end goal

Even though I have foreshadowed this point in the previous paragraph, I want to emphasize how important it is to know the end goal. Ideally, people should discover their interests from high school. However, start the exploration in college is not too late. But, the exploration should end after freshman so that there is enough time to become specialized and concentrate on something. Knowing the end goal cannot happen immediately but at least, it should happen by Junior. During the college, I hopped around three majors with no common theme at all: what I want to do for my future? I avoid to answer this question by taking the majors that may seem to offer the greatest flexibility in the future. However, the cost of doing so is the lack of depth. In addition, I didn’t know what I want to do for the computer science career: research or software engineer? That leads to one huge mistake detailed in “Failure in seizing ‘the’ opportunity” section. Knowing the end goal is very very important and the book “The 7 habits of Highly Effective People” should help.

Doesn’t engage in research with long term vision early

People often emphasize how important to get involved with research in college mainly because research is a critical component of higher education. I certainly did but my mistake is that I’m involving in research in ad-hoc way: I did research in math, in psychology, and in statistics without a common theme that connects them all together. In math, I did research in probability; in psychology, I did research in early childhood education; in statistics, I did research in fMRI. Those research experience is helpful only in the sense that they help me to discover what I don’t like. I always admire the people who can discover their interests early: there are lots of options; how can one settle on one without trying out others first? That’s my unresolved question. Technically speaking, I don’t think this section should be considered as a mistake but certainly, it is something that incurs lots of detours in my short-lived academia career.

Failure in seizing “the” opportunity

I started to compose this post when I was on the spring break trip in Alaska. I ran into a group of people who were from my undergraduate institution – University of Wisconsin-Madison. I had a brief chat with them. One question I asked one of them who happened to be a CS major was: does Wisconsin start to set bar for people who want to declare CS major? “No! Everyone can do it! That’s the amazing part of Wisconsin: the university gives everyone opportunities to try!” She answered. “I know a friend who transferred to Wisconsin from University of Washington to study CS because he cannot study CS at UW. Students in UW can study CS only when they are admitted to CS directly from high school.” Her replies don’t surprise: that’s the same impression I have about Wisconsin. However, her answer stirs a huge pain in my heart. I suddenly have guts to admit a huge mistake I have made during my first year study at UT-Austin.

I’m unsure about what to do with summer: whether I want to go to a research lab to prepare my PhD application or finding an internship in industry. As you can see, here I have the mistake of not knowing my end goal: I’m not sure whether I want to pursue a career in research or in software engineering. I contacted one of my former professors in Wisconsin and he was kind enough to offer me a position in his lab over the summer. He is a famous researcher and people are dying to work with him. But, guess you already know, I blow up the chance and work on a software engineering internship over the summer. Of course, the professor is unhappy but he is kind enough to not saying that explicitly. In the following Fall, I applied for PhD programs and I asked him for a letter. Without big surprise, I got rejected by all the programs including the school the professor is in. After learning the admission results, I keep lying to myself about all the drawbacks of attending a PhD program and I constantly have debate in my heart about whether I have made a good decision for the summer. After talking with the girl from my school during the trip, I suddenly realized that how upset I am in my heart and how I keep avoiding facing the fact that I have made a huge mistake and blow up “the” opportunity. I couldn’t help to imagine that if everything works out over the summer, I may already have the admission from his lab to have the privilege to study for PhD program. Of course, in real life, there is no “if”. Failure in seizing “the” opportunity can be treated as a pivot point in my life. A person’s life might be settled after a few pivotal decisions. I think I just made a mistake in one of them.

The only takeaway: Never ever give up your interest

I write the following in Chinese to my parents:

如果有孩子 我一定教育他不要因为钱和客观因素就轻易放弃梦想 因为放弃梦想的感觉真的很难受 即使最后你没有钱 但是你至少知道你为了梦想努力过 那种踏实的感觉是用钱买不回来的

Basically, it says that there is no such thing has higher worth than one’s dream. After getting rejected by all PhD programs, I know that getting an internship in industry over the summer signifies my give-up my interests in becoming a researcher for the money. I didn’t upset at the very beginning but the more I think about, the more I think I should stick with my interests no matter how poor or how old I am. Now, I’m in a situation about I should hog onto something that is not my interest: money in this case. I’m not sure eventually, I can have a way to switch back to my dream but I know it’s going to be a long and hard way


2018 End-year Recap








减重到70kg,体脂比在15% (监督链接: Daily Weight Statistics)

每周坚持锻炼至少3次,每次时长30分钟 (监督链接: Insanity Max 30 (2018))

一年读10本书 (监督链接: Goodreads 2018 Challenge)

每天刷2道leetcode  (监督链接: 刷题进度表)


完成的有 “找到实习或者署研”, “每周坚持锻炼至少3次, 每次时长30分钟”,“在美国找到工作”。 “向下扎根,向上结果” 并没有完成的很好。现在看看当时写下的文字 “18年希望内心得刚强” 现在看来是缺乏具体的行动计划的。最近在看的一本书“The 7 Habits of Highly Effective People” 给完成这个目标给出了一些具体的行动方案。“刚强”其实就是要有principles,不受外部条件变化和影响的principle。而principle,用书中的比喻来说就是要建立自己的personal constitution。要建立自己的personal constitution最简单的做法就是想象在葬礼上你想让别人怎样去评价你。这个会做为2019年的一个工作重点。减重还是没有很好的完成。今天量过的体重还是73公斤。最近从母亲那里学到了一些她的技巧,正在实践,不知道2019年的时候能否把这个工作项目从清单上消去。关于读书,说来真是惭愧的一年。在岁末的时候我才突然意识到我还没有完整的读完一本书。这真是让我震惊而又羞愧。“有学校可上”和“在美国找到工作”是冲突的,两者不可得兼。真正的是要去发现自己想要做什么。到现在其实还是很迷茫。虽然我对金钱没有那么渴望,但是人在外边,有一些金钱储备还是要踏实很多。我想我最后还是不会去继续读PhD了,但是剩下的面试还是准备全力以赴。最后就是关于刷题了。现在看看这个是一个长期的工作:每年都要做。去年目标不好的一点就是非常激进的规定了每天要做两道题。其实这个非常不好,并没有考虑到实际的条件(读书节奏快,事情多),高估了自己的精力。


首先还是要确立自己的personal constitution。这点比任何事情都重要。如果方向错了,任何的努力都是白费。


精神方面就是要多读书。要更加侧重读一些书,一些植根于中国传统文化当中的书。比如说孟子。今天看Youtube视频中突然提到了孟子的一句“由是則生而有不用也,由是則可以辟患而有不為也,是故所欲有甚於生者,所惡有甚於死者。” 觉得此句甚好,讲出了什么才是“大丈夫”的气节。故上网去查了一下。愕然发现这句出自上学时候背过的“鱼我所欲也”。通读了一下全篇。不由得发现自己对古文感到了如此的生疏。顿时惆怅了起来。在现在这个社会,粗俗扭曲的词汇不断出现,如何在这个环境下去刻意的维护自己的语言体系,去做一名儒士:说话写字有雅风,表达情感准确,不会觉得词穷。我觉得读古文是非常重要的一点。对于这点我是想2019年着重培养的习惯。

事业上,我想最重要的还是保持好奇心。刷题还是要继续,2019年刷200道题。另外,还是至少要做一个significant的side project。技术博客还是要继续保持更新。最低目标就是更新10篇。






Freedom of speech

Piazza is an online forum tool that is heavily used in the academia. It is used to help students ask questions and get feedback from both peers and instructors. It has a goal that is similar to Slack in the sense that they both try to cut the duplicate emails sent by several people for the same or similar type of request. It is a good tool but every tool that comes with power has its own consequence.

Instructors can perform the following configuration when they setup the forum for the course.

Screen Shot 2018-02-09 at 11.58.12 PM

Basically, this option means that when you make a post, whether you can choose to be “Anonymous” to both your peers and instructors or to your peers only (instructors can still see who makes the post).  The following picture shows what this option looks like from student’s perspective:

Screen Shot 2018-02-09 at 11.58.33 PM

The intention for this option I guess is that some students may feel embarrassed to ask questions. They might think their questions are dumb and will make them look bad in front of peers or instructors. I think this option is used as a way to encourage students to ask questions bravely.

However, this option may get abused. From my observation, Piazza is used as a way for instructors to show off their teaching quality. This is important for Assistant Professors because teaching still means something (if teaching quality doesn’t matter, why institution asks for the teaching statement at the very first place?). In addition, the teaching quality in some sense is an important indicator for students to evaluate you as a person. This is important for professors who are looking for graduate students because research publication is only part of the story and how those professors interact with students may be a crucial indicator to how good a professor as a human being is (evaluation may be a better indicator but it is confidential). Thus, if some potential students look at the piazza that his interested professor teaches gets a lot of complaints. The students may have a second thought on whether he should work with him for research (maybe he is a very bad person even he is doing a good research).

Thus, the instructors have a strong motivation to censor the posts on the piazza. This scares the students because they don’t have a secure way to provide feedback to the instructor. Let’s assume that the majority of students has a good heart: they won’t say bad stuff to the instructor who actually really cares about students. Thus, the time that something slightly negative appears on the Piazza may be a very important signal to the instructor that something wrong with his teaching. However, due to the strong motivation for instructors to show off their teaching quality through Piazza, the instructors may start to censor the speech on the Piazza by turning the option off.

I didn’t realize this thing last semester. Last semester, the instructor from one course sets this option off and I was thinking maybe he wants to know the students who are shy to ask questions and provide some individual attention. However, this semester, the instructor from one of my course initially turn the option on so that everyone can truly ask questions as “Anonymous”. Then, until one day, someone makes the below post and the option is turned off. Now, no students dare to make slightly negative posts.

Screen Shot 2018-02-10 at 12.28.57 AM


I fully understand the interests conflict between students and instructors on the use of Piazza: students may think Piazza is a secure way to provide anonymous feedback while instructor may think bad posts on the forum make them look bad. However, I still think there should be a better way to address this conflict to protect both students and instructors especially with the technology we have nowadays. But, (unintentional) censorship is not something we want to culture especially in the Academia. By the way, for this course, I still think the instructor is good but the material is quite challenging without laying down a solid theoretical foundation beforehand. He went through the material again after this post but too bad the truely “Anonymous” is gone.

2017 End-year Recap

距离要起床去机场还不到2个小时了。实在是辗转难眠,就起床开始写今年的倒数第二篇博客了。如果我在飞机上能读完那本书的话,还是会有一篇book review的。




  • 博客数量至少100篇!


  • 体脂比降到15%以下,体重降到70kg


  • 看书频率要达到这位的速度

这个又是罪过了,完全没有达到预期。如果把全年以出国日期8月5号作为切割点的话,两段时间各自出现了一些问题。出国前看书偏细致,算法书逢题比作,看的实在是过于精细了一点。同时,自己文学类书籍看过一些,但是频率还是不及。出国后看书效率明显提升。这个主要得益于跳着看这个方法。 这里非常感谢Prof. Dana Ballard教的Machine Learning以及其他courses的老师们,自学成为主要学习手段。疯狂的project进度逼迫着我这个完美主义者向能用就行主义者的进化。看一本书直接就看最相关的章节,所有背景知识都是后补,并且如果又不理解的但又不影响阅读的,就画个标记搁置起来后边再看。意识到一本书可以看多遍的道理,所以第一遍读时的贪欲就少了很多,就不求每个点都读懂了。是的,写这段话的时候,我脑海里浮现的书名就是PRML。但是,一本书没有看完大部分章节终究还是不能说看过的,所以8月份后问题主要出现在时间不够上边。介于未来几年希望能读完PhD的我来说,状况可能改善不会太大。

  • 每读一本书都要写book review!

这个做的还是不错的。因为毕竟真正读完的就没有几本而且都集中在上班时期,所以每本读完的书都写过book review了。

  • 有所学校能收了我!


从2016年的展望来看,5个点真正完成的了只有最后两个,完成率40%,只能说一般。但是从2017年整体来看,我还是比较满意的。适应了从职场人到学生的转变,虽然第一学期的Graduate school非常难熬,但是我还是非常高兴自己能挺了下来。希望新的一年里能继续加油。


  • 向下扎根,向上结果


  • 找到实习或者署研


  • 有学校可上



In relationships: a first taste

It’s October 30th today. I only have one more day left to compose a post for October. Blogging can be very hard during school time because there are endless tasks you need to get done in a timely fashion with certain expected results. Even though I have given up watching videoes, playing video games, writing technical blogs (almost) for this semester, I still want to write something here to keep the blogging trend going: I have written at least one post per month for the past two years. So, here it is.

There are many things happened in October and surprisingly, those things are all about the relationship: I got baptism to become a Christian, which indicates a new relationship with the God; I start seeing a woman, which is a relationship in a normal standard. One thing I am always curious about when I don’t involve those relationships is: how life can be different when you are in a relationship. Most of my knowledge on this matter is from the media and the people I observe. For the relationship with the God, I barely know anything. I haven’t actively thought about this since I graduated from the college and I won’t even think about being a Christian before coming to Austin. For the relationship with a woman, that I have been thinking about quite actively especially when I was a high school student. I always want to know the taste of being with someone. However, quite surprisingly, if you ask me now how life changed after being with God and being with a woman, I would say: the former one is quite significant but the latter one doesn’t change much.

Being with the God

Being with the God is a huge decision to me. I went to a church back in Madison for two years but I could barely feel anything internally. I always treat going church on Sunday morning as a way to sing some songs and take a break from study. However, after arriving in Austin and thanks to some incidents, the picture of God becomes clear to me. I start to feel the life journey I have been through is perfectly designed to me. Attending Madison for undergraduate makes me mentally strong to the setbacks and going back to China for work makes me grow up like an adult and start to learn all the soft skills I previously ignored: communication, love, and family. All those things prepare me to head back to the States and pursue the further study. In addition, I always know that I have sin but I don’t know what way can help me to get rid of that and start a new life. Even worse, I constantly get seduced by Satan to do the things that hurt my friends and my family. I know I’m wrong but the pleasure coming from the crime is just too much and that gives me the pulse to commit again next time. Thankfully, I have the chance to know the God and I get my way out of the vicious cycle.  After becoming a Christian, I learn to view things in God’s view and try to pass the love to others. I learn to forgive the conflict and do things in the honor of God. Thanks to God, he prepares a woman for me.

Being with a woman

Surprisingly, being in a relationship doesn’t change my life that much. I simply have one more person to care about and I need to allocate certain time for that person. This doesn’t differ from spending time with my parents previously. She is a Christian as well and we adhere to the same core values. All the rest of difference seems trivial to reconcile. However, we have been dating for like a month and we are still in the calibration period: we start to know more about each other and be careful with the relationship traps that people usually fall into. However, with the help of the God, I think I’ll be fine.

Does teaching matter?

I really hesitate whether I should spend my precious hours during the working days composing this blog post. However, I feel I should. I wrote down the title several days ago but I felt some pieces were missing to formal a relative concrete post. However, today, the miracle happened and I can finally complete my puzzle.

Several days ago, I feel quite frustrated because there is a homework due for one of my classes and I have no clue how to finish it. I dig into the books on the subject and try to research the solution out. The most frustrating part isn’t the whole process of seeking answers. It from the lectures. The class is quite popular among the CS graduate student and no matter what areas of their research, everyone I know in the program will take this class sooner or later. The professor for the class is quite famous for his research but I have to say that the quality of the teaching is controversial. By controversial, I mean there is a debate in my head on whether his style of teaching is good or not. If you are familiar with Prof. Andrew Ng’s CS229 lecture videos, then his style is exactly opposite of Prof. Andrew Ng’s. Unlike Prof. Andrew Ng’s mathematical teaching style, professor in my class skips most the f derivations of the formulas and in some cases, he will read through the slides and talk loud about some steps of the derivation. He usually ends the 90 minutes lecture 30 minutes early and in-between he may make some jokes or take a diverge into his research areas that might seem related to lecture topic. The good side of his teaching is that he may offer some intuitions or insights on why we perform those steps and sometimes those few words may help you connect the dots. His teaching style may look like a good fit for someone has a solid background in the field but if you are relatively new to the field, you may have some hard time. This “twisted” class partially leads to my question in the title: “Does teaching matter?” For me, under the context of trying to finish the homework, I cannot see any good from my professor’s lecture style.

The reason that I now look quite peaceful in accepting his lecture style is because of some new insights into research. In a nutshell, you just really don’t have enough time getting everything figured out all at once. Once you’re inside the graduate courses, you will start to read research paper immediately. There can be a lot of background knowledge you need to clear up especially you are new to a field. However, can you say “let me take a pause and get everything figured out at the first.”? No! There are unstoppable piles of papers coming to you and all you need is try to iteratively make best out of the paper. If there are mathematical formulas you don’t understand, in most cases, that’s ok as long as you get a big picture of the paper. The formulas matter the most when you actually start to build your own models. But, that’s not like I have to super clear about every bit of variables appeared in the set of formulas. Many of times, you can take them as given and go straight to use them as basic bricks to build your own building. This feels a lot like playing with LEGO: you don’t care how each piece is made of. You simply use them to build your stuff. The way of looking at knowledge is totally different from your undergraduate where you are tested out every bit of information taught in class through the exam. This observation may look easy but it is really hard from psychological perspective especially when you are a strict person who holds tight to your knowledge system. This psychological barrier is hard to break when you have relative enough time to read through a single paper. You may really hog onto the background or related work section of the paper and you may think there is always a piece of information that you find yourself unclear. Then, you take several months to study the material in order to move a few words to the next sentence of the paragraph. That’s exactly the beauty of the graduate school where you get bombarded by the papers. You just simply don’t have enough time to get everything cleared up before moving on. Classes are heavily centered around the papers and you are sort of expected to figure out on your own by adopting an iterative approach to the knowledge understanding. Take PCA algorithm as an example. The first pass of the material may just simply know how to follow the algorithm and implemented it. The second pass of the material may involve understanding the intuition behind the method and some mathematics derivations. The third pass of the material may actually need to dive to figure out every bit of information and so on.

Now, let’s get back to the question: “Does teaching matter?” It is sort of yes and no question depending on the perspective. From the undergraduate perspective, the hand-holding strategy is probably the must because that’s how we help students build the solid knowledge foundation and allow them to have the basic strategies to survive in the water. Now, for graduate students, it’s debatable whether we should go freestyle of teaching like my professor of the class or we still proceed somewhat like hand-holding but with modification. I guess that depends on the information that the instructor wants to deliver: knowledge itself or how the research is done.

P.S. The miracle happened to me today is during the calculus discussion section, a bunch of freshman chats out loud when I try to explain the solution of the problem to the class. That brings me to think whether the education quality of public system relatively weak compared to the private institutions is due to the quality difference of students. People may think that the reason why faculty in public universities don’t really care about teaching that much is due to the lack of the incentives. But, I’m now starting to think whether that also probably involves another party as well: the students who in short give the wrong signals to the faculty who try hard to achieve teaching excellence. That’s probably an another post in the future.


Leaving IBM

To be honest, this is probably the most difficult post I have ever written. This is majorly because there is a ton of stuff I want to say but I’m unsure whether I should keep them public or should keep it to myself. Another factor that makes this post hard to write is because the span of drafting. I have been drafting this post since April in 2016, right after when I decide to start the whole process of quit-IBM-and-get-a-PhD project.  I used to use this post as a log to record things and feelings when somethings happens around me at IBM. Frankly, if I take a look at the stuff I record (mostly are rantings) retrospectively, lots of stuff still hold but the anger just passes away with the time. So, that year-long drafting really makes me hesitate even more because the mood when those stuff are written are gone. However, two years can be a significant amount of time and quitting IBM can be called “an end of era” and I should give a closure to my happy-and-bitter experience with IBM anyway. So, here it goes.


Thank you, IBM!

I’m really thankful for the opportunities working with IBM. This experience really makes me grow both technically and mentally.  Technical-wise, I have the opportunity to get hands on experience with DB2 development. DB2 as a database engine is extremely complex. It has over 10 million lines of code and it is way beyond the scope of any school project. Working on those projects are quite challenging because there is no way you can get clear understanding of every part of the project. I still remember when I attend the new hire education on DB2, there is one guy says: “I have been working on the DB2 optimizer for over 10 years but I cannot claim with certainty that I know every bit of the component I own.” This fact really shocks me and based upon my experience so far, his claim still holds but with one subtle assumption, which I’ll talk about later. There are lots of tools are developed internally and reading through both the code and tool chains are a great fortune for any self-motivated developers. I pick a lots of skills alongside: C, C++, Makefile, Emacs, Perl, Shell, AIX and many more. I’m really appreciated with this opportunity and I feel my knowledge with database and operating system grow a lot since my graduation from college.

Mentally, there are also lots of gains. Being a fresh grad is no easy. Lots of people get burned out because they are just like people who try to learn swim and are put inside water: either swim or drown. I’m lucky that my first job is with IBM because the atmosphere is just so relax: people expect you to learn on your own but they are also friendly enough (majority of them) to give you a hand when you need help. I still remember my first ticket with a customer is on a severity one issue, which should be updated your progress with the problem daily. There is a lot of pressure on me because I really have no clue with the product at the very beginning. I’m thankful for those who help me at that time and many difficult moments afterwards. That makes me realize how important is to be nice and stay active with the people around you.  Because no matter how good you are with technology and the product, there are always stuff you don’t know. Staying active with people around you may help you go through the difficult moment like this by giving you a thread that you can start at least pull. In addition, participating with toastmasters club really improve my communication and leadership skills and more importantly, I make tons of friends inside the club. Without working at IBM, I probably won’t even know the existence of the toastmasters club. If you happen to follow my posts, you’ll see lots of going on around me when I work at IBM. Every experience you go through offer you a great opportunity to learn and improve yourself. Some people may look at them as setbacks but for me, I look at them as opportunities.


( the picture on the left is all the comments people give to me about my speech and on the right is the awards I have earned inside the club in these two years)

With the help of all those experience, I have developed a good habit of writing blogs (both technical and non-technical), reading books, and keep working out six days per week. All those things cannot be possible if I work at a place where extra hour work commonly happened. I’m very thankful for IBM for this because staying healthy both physically and mentally are super critical for one’s career. Even though those stuff don’t directly come from IBM, but IBM does provide the environment to nurture this things to happen.


IBM has its own problem. The problem is centered around people. There are many words I want to say but I think I’ll keep them secretly but I want to show my point with a picture:


I don’t know why IBM’s term “resource action” on firing employees and the sentence “IBM recognize that our employee are our most valuable resources.” bother me so much. I probably just hate the word “resource” as a way to directly describe people and how this word get spammed so much around IBM. I know everyone working for a big corporation is just like a cog in a machine. However, what I feel based upon lots of things happened around me is that IBM as its attitudes represented by its first-line managers (because those people I commonly work with) makes this fact very explicitly. It hurts, to be honest. No matter how hard you work and no matter how many prizes you have earned for yourself and your first-line manager, you are nothing more than a cog in a machine, which is not worth for high price to have you around because there are many cogs behind you that are ready to replace you. They are much cheaper, much younger, and more or less can work like you because your duty in the machine is just so precisely specified, which doesn’t really depend on how much experience you have had under your belt. To me, that’s devastating.

This leads to the problem that talented people are reluctant to stay with company. My mentor and the people are so good with DB2 have bid farewell to the team. That’s really sad to me because they are the truly asset to the company and the product. The consequence of this is that crucial knowledge is gone with people. Some quirks existing in the product are only known by some people and once they leave the company, the knowledge is gone with them. That makes mastering of the product even harder. That’s the subtle assumption that the person makes during the new hire education and that’s also part of the problem when working with legacy code. The whole legacy code issue is worth another post but one thing I now strongly believe is that any technical problem has its own root cause in company culture and management style. To me, I’m not a guru now but I cannot see the way to become a guru with my current position, which scares me the most

That’s it for this section and I’ll leave the rest to my journal.