Brian Kim writes about some advice for fresh college grads that I found useful even for working professionals after college. Number #2 on his list tells us to find what we love to do. And I agree, life is too short to be working on something you are unhappy with. However, sometimes we need a more graphical illustration for the truth to really sink in. Here’s how Brian depicts it:

Graduated from college -> can’t find job -> get’s low paying “temporary” job just to pay the bills -> starts to become complacent and falls into routine -> struggles to get out of routine but can’t because of accumulation of debt to finance lifestyle of escaping reality and impressing people with material possessions -> effectively becomes a slave to the job as it is needed to pay the bills-> gets depressed -> struggles to find meaning in life -> maybe gets a small promotion at temporary job by employer as an incentive not to quit -> hates waking up in the morning everyday but does it anyway to pay the bills -> rinse and repeat for 40 years -> lies on deathbed regretting life, wishing he could go back and change it all, and dies knowing that he can’t.

Wow, that’s funny because I can recall real people like that. Mediocrity is like prolonged death. Better find something you are passionate about and will kick ass at it! Hesitating over that career shift? Oh, just do it!

Today, it is not enough just to be technically competent to survive. Yeah, yeah, everyone says that, but I found some numbers today. According to the annual Design News salary survey, these are the skills participants found most important (from most important):

  1. Project management and communication/presentation skills (86%)
  2. Computer skills (85%)
  3. Team-building skills (64%)
  4. Language skills (43%)
  5. Marketing/sales skills (35%)
  6. Finance/accounting (31%)

Who would have guessed that the #1 most important skill is communication? (Shocker, it’s not some l33t rare proprietary system hacking skillz. Us geeks have been trained in college to work in a dark windowless basement without talking to each other that communicating our ideas effectively is just naturally un-natural, to say the least.

Delivering results on time and within budget is also an obvious, although no where in a regular computer science curriculum is this strongly emphasized. However, this shouldn’t be a problem for students that have completed their operating systems class. Remember the fundamental concepts in threading, process and memory management? It’s all about juggling multiple tasks with finite memory space and a single processor. Same thing usually applies in the real world — you will have a finite resource/budget.

I’m sure someone can write up an algorithm for their project management needs. Here’s a pseudo-code algorithm:

  1. Identify the “projects”, tasks that need to be worked on (deliverables)
  2. Prioritize each task — use appropriate metrics (e.g. urgency, due date, cost, risk, etc.)
  3. Execute, and don’t drop the ball! Feel free to apply threading and pipelining concepts e.g. make sure no threads get “starved”.

Other advanced concepts that you can also apply from the OS class are such as solving deadlocks (process contention), reducing overhead cost when task-switching too much, and pipeline “hiccups”.

Also, I would highly recommend applying the infamous GTD concepts. I have learned to apply the GTD toolkit and I have managed to tie up many of the loose ends in my life that were just bogging me down (too much overhead). I like to think of it as reducing the number of background processes, giving me more memory and processing power for other things!

Perhaps CS grads are also lacking in the leadership department, because students are too busy competing to out do each other in grades that they didn’t get the memo telling them that in the real world, people are supposed to work together — performance reviews/appraisals replace “grades” and the need for leadership skills become more relevant and important.

That shouldn’t be a problem either. Any competent CS grad cannot call himself a “computer scientist” if he doesn’t carry his problem-solving algorithm toolkit with him at all times. Many hackers have used these general problem solving principles to solve non-technical problems. The Hacker’s Diet is a very good example a person determined to lose weight by approaching it as an engineering problem. The key resource in this weight problem? Determination.

Rick Johnson, president of Cherry Electrical Products says:

“My experience is that all companies prefer technical people in these [management] positions. The opportunity here for an engineer to continue in engineering is to add to his/her leadership skills. All engineers are taught to solve problems. If an engineer pursues acquiring leadership skills … they will have huge opportunities in store for them in the future. Alas, most engineers just ignore this aspect of their personal development preferring instead to learning more and more about the latest technologies.

Full article at Design News.

Everyone gets rejected at some point or another, but so what. That 1 time you get accepted will make that 99 rejections all worth while. Every rejection brings you one step closer to success ;)

I quickly learned that if I kept at it and plowed right through the rejections I would eventually get somebody to buy my wares.
– Charles Schwab

I’m adding a new category named after the management guru Peter F. Drucker. His insights are truly priceless and still prove to be true today. I’ll be learning a lot from his writings.

A company/business entity, does not exist for its own sake. A company is more like a organism, where every employee is an organ (performing a specific function). So collectively, all the employees make up the entire company — and the goal of the company, like any living creature, is to survive and flourish. This is especially true for software companies, where you don’t have “physical” factories; each engineer is an “organ” and in California, your organs leave at 5 pm, and return to you at 9 am the next day — or may even decide to not return at all (usually if mistreated).

All organizations (formal or informal) have goals, said or unsaid. To reach that goal, it is essential to know what the performance measures are — without them, it is difficult to tell if you are headed in the right direction (or if you are moving at all).

Each institution will be stronger the more clearly it defines its objectives. It will be more effective the more yardsticks and measurements there are against which its performance can be appraised. It will be more legitimate the more strictly it bases authority on justification by performance.

Goal Setting

  1. What are the goals of your company? (and how can you better align yourself with this goal?)
  2. What are the goals of your department? (and how can you better align yourself with this goal?)
  3. What are the goals of your team? (and how can you better align yourself with this goal?)

By their fruits, ye shall know them. You are what you do. Do you know what you do?

Got Mole problems? Call Avogadro at 6.02 x 10^23.

Put the hours in. Doing anything worthwhile takes forever. 90% of what separates successful people and failed people is time, effort and stamina.

If you think about it, some accidents are actually important. Some are great for innovation. Examples of great discoveries that were discovered by accident include: anesthesia, cellophane, cornflakes, penicillin, photography, and Teflon. The Archimedes Principle of bouyancy? Archimedes himself discovered while relaxing in his bathtub.

Q: Is there a way innovators can encourage good accidents? In other words, is there anything we can control to foster this process?

A: Great question. Artists think they develop a talent for causing good accidents. Equally or perhaps even more important, they believe they cultivate an ability to notice the value in interesting accidents. This is a non-trivial capability. Pasteur called it the “prepared mind.” There’s an interesting analogy to evolutionary models of creativity here. In 1960, a guy named [Donald] Campbell proposed that we think of creativity as “Random variation + Selective Retention.” That is, we need two processes, one to generate things we can’t think of in advance, and another to figure out which of the things we generate are valuable and are worth keeping and building upon. In science, the arts, and other creative activities, the ability to know what to throw away and what to keep seems to arise from experience, from study, from command of fundamentals, and—interestingly—from being a bit skeptical of preset intentions and plans that commit you too firmly to the endpoints you can envision in advance. Knowing too clearly where you are going, focusing too hard on a predefined objective, can cause you to miss value that might lie in a different direction.

The important points mentioned by Professor Robert D. Austin here are:

  1. Innovation can’t always be planned — accidents happen (isn’t that true about life in general?)
  2. Be prepared to recognize serendipitous opportunity
  3. Understand the nature of breakthrough inventions in your industry and plan accordingly

Read more about The Accidental Innovator at HBS Working Knowledge: http://hbswk.hbs.edu/item/5441.html

I learned a thing or two about relativism today. The idea behind it is that everything is “relative” (vs. being absolute) e.g. for someone to be described “beautiful”, it is then necessary by definition for someone ugly to exist (because if nobody is ugly and everybody is beautiful, then beautiful is just status quo).

Naive Relativism

Naive Relativism basically holds that nobody may morally judge another. Everyone has their own standards of ethics; if a 10-year old helped out in a family-owned business, outsiders might consider that an act of child slavery, but the family might beg to differ. Where the line is drawn is subject to interpretation and will differ from person to person.

Role Relativism

This one’s my favourite, I see this quite a bit. Essentially, you must play the role your position requires at work and not let your private personal values interfere. E.g. if you were the CEO of a firearms company, your role requires that (at work) you look out for the best interest of your company, even if you personally are against guns because you believe guns kill people.

Cultural Relativism

Cultural Relativism holds that there isn’t a “universal” moral code by which you can use to judge another society’s moral standards. There exist countries outside of the US where it is customary to bribe government officials for preferential treatment. In the US, multinational corporations are barred from adopting this practice — the Foreign Corrupt Practices Act of 1977 says so.

Congress was forced to legislate ethics in corporate America because of the scandals in late 90’s - 2000 (read: WorldCom, Enron, etc) with the Sarbanes-Oxley Act of 2002 because self-regulation proved inadequate. As an unintended side-effect to watch the big guys, the Sarbanes-Oxley also proves to be a pretty significant hamper for promising startups, especially when trying to go public.

It’s July 4th, Happy Birthday America!

Definitely an unforgettable July 4th for me — I have the worse sun burn ever, but that’s my fault because I didn’t put enough sunscreen (I’m burned everywhere my springsuit didn’t cover my skin, ouch). I figured I could use some sun since I spent too much time indoors in front of a computer.

But also, my feet are just scalded, walking on coal. Okay, so not literally, but I might as well have been. My buddy showed me his secret surf spot called “New Break” (where the waves “break” for “new”-bies?) in Ocean Beach, Calif. What he conveniently failed to mention is that the path to the spot included walking across a dry hot trail with no grass. The problem is, on our way back after surfing, we had to walk about half a mile on this red hot boiling surface. Needless to say, my feet now hurt with every step I take and I am traumatized by the event.

What did I do to deserve such a punishment?

On a different note, the view was the absolutely breathtaking. Nevermind the fact that I had to lug a surf board and climb treacherous cliffs barefooted. Maybe I’ll bring a camera next time.