It has been 14 months since I joined industry and it has been an inspiring experience. What I enjoyed most are:

  • acquiring new skills and knowledges
  • observing ideas evolve to products
  • being with people who like what they are doing and are willing to share what they know

Compared to my previous academia experience, industry job has two differences

  • less ownership
  • more coordination with coworkers

The root of these differences is that industry products need to work in most situations whereas research papers only demonstrate feasibility in certain situations. As a result, a lot of effort is spent on making the workflow robust and the interface user friendly. Even if the underlying idea is straightforward, expertise of many people and collaboration from different teams are required to make it happen.

Two skills thus become important

  • communication
  • bookkeeping

both of which I need to work on more in the future.

The unexamined life is not worth living — Socrates (470 - 399 BC)

In terms of tools and domain knowledges, I have learned in the past year

  • git
  • testing (pytest in particular)
  • design patterns
  • AWS
  • a little bit of docker
  • a little bit of golang (web services in particular)
  • a little bit of free energy perturbation

In particular, git and automated testing help keep sanity in face of changes, design patterns help maintain large size of code, and AWS helps alleviate the burden of hardware.

Sometimes I also think about how to get better in general. For example, I see intellectual capacity to have two components

  • memory: keep track of things
  • judgement: prioritize options

Memory is easy to quantify, and can be helped by bookkeeping tools. Judgement, however, is hard to develop, even hard to justify due to the lack of information. My current strategy is to learn the principles from ancient teachings, and downplay calculations.

I examine myself daily on three aspects: Do I represent someone without putting his interest first? Do I interact with friends without sincerity? Do I advocate behavior that I do not practice? (吾日三省吾身:爲人謀而不忠乎?與朋友交而不信乎?傳不習乎?) — Zengzi (505 – 435 BC)

Recently I came across a lecture delivered by Richard Hamming (1915 - 1998) in 1995 called “You and Your Research” (it could also be named “You and Your career” or “You and Your Life”). Dr. Hamming had major contribution to coding theory, and lived a very interesting life. Like other thinkers who lived long interesting lives, he has many interesting things to say.

It is also available in the book of The Art of Doing Science and Engineering: Learning to Learn