Feb 10, 2013

What I Learned from George Washington About Startups and Life

Don't ask me why, but I had never read a Washington Biography.  Lincoln I had always found fascinating and devoured, but as for the first US President ... I don't know ... somehow he seemed a bit abstract and aloof and not interesting as a human being.  I was ill informed.  I found a free Kindle book on George Washington by William Roscoe Thayer on Amazon.  I was struck by parallels to the startup life, and to life in general, and wanted to share them.

from Amazon - not your average George

1. American Independence as a Hack - Persistence: Never Give Up

A lot of the epiphanies for me are a direct result of my ignorance of details the American Revolution.  For example, I knew that July 4, 1776 is celebrated as the Independence Day.  I had no idea how drawn out the actual conflict was, from Battle of Lexington and Concord in April 1775 to British surrender at Yorktown in October 1781.  And even then the war wasn't formally ended.

What is most surprising for me was how much of a hack the whole operation was during those long years.  Thayer expresses thus: "it must appear that the American Revolution was almost the most hare-brained enterprise in history."  What he means is how often the British had the chance to crush American rebellion, how long-drawn out the process was, how ill-provisioned the American opposition was.

So, then why didn't the British win?  There are many reasons.  And other founding fathers played their roles and contributed to the success.  But the primary key is Washington.  Washington was the persistent voice through all ups and downs.  Washington "never wavered" and essentially acted as the constant light while others disagreed.  Washington became a human symbol of the foundation on which the whole thing hinged and "the people knew this."  It's amazing.

Lesson: If you are fighting for a cause you believe in, don't give up.  Stay constant and true.
Corollary: Find something you believe in with all your heart.  It may not pay off soon, but over time, people will recognize your work.  Nothing great is easy, so don't give up.

(See related post where I talk about temptation to give up in my own venture - never give in.)

2. Leadership Matters

So, Washington mattered.  And he mattered supremely.  Without that one man, there might not be America as we know it today.  One man.  Stop and think about it and it's kind of amazing.  But, funny thing is, I had this sensation a few weeks ago when I watched a documentary on Vince Lombardi.  Again, I'm kind of weird for not knowing much about this American icon.  Learning about Lombardi's impact on the team - with same players - was a revelation.  Just as reading about Washington's singular contribution to victory was a revelation.

Before: In 1958, the Greenbay Packers finished with a 1-10-1 record.  On Feb 1959, Lombardi took over.
After: Well, for football fans and Packers in particular, you know the rest is history.  One man.

I attended a school, the mission of which was "to improve society by developing principled leaders in the world of practical affairs."  Come election time, I am tempted to think (as the masses often do) 'my one vote doesn't matter ... at least not much.'  And that's probably true.  But, at certain critical moments, and in leadership role, one vote, one act, one person, can and do make a profound difference.

This is Jefferson, the scholar ... beautiful Charlottesville


Lesson: The individual leader matters.  The individual matters supremely.
Corollary: In a way, every individual matters for that role.  So, hire wisely.

Hire the Washington or Lombardi for that role, so that they turn the tide of events against a bigger foe.  Help that leader turn a losing season into a championship sweep.  Neither Washington nor Lombardi became what they are overnight.  Behind their contributions stands clues to character and achievements.  It's not always the one who spoke the loudest (Adams) or had the most gleaming celebrity (Franklin) in their past that becomes that dogged, persistent, and constant figure necessary to win a long struggle.

Feb 6, 2013

Design is SCRAP - tinkering with D3.js

Not long ago, I browsed a book on design, The Non-designers Design Book.   The author offers a memorable mnemonic for principles of good typographic design. CRAP.  That's right.  Good design is CRAP!

S - Show is better (I added this one)
+
C - Contrast
R - Repetition
A - Alignment
P - Proximity

And get this.  The author of the book is someone named Robin Williams.  Go figure.

For me, design kindles thoughts about visualization.  While back, I had heard about a JavaScript library called D3.js.  Well, I just had to try CRAP with D3.js ... mainly because it was funny and I kept saying it in my head.  So, the following is what I have learned, tinkering with style element of D3, on the D3 website. And I added S, for show.  I guess the important point is that you can have a lot of fun learning when you mash things up, and that fun will help reinforce your learning.

Setup & Basics:
The nice thing about something like D3 and JavaScript is that it's built into your modern browser.  I prefer Chrome.  And on Windows, just hit F12 key, and you bring up bunch over developer tools, including a console where you can type in JS code directly.  I will show illustrate a few examples and then include a link to the slides.


Full-slide here for details:
http://www.slideshare.net/kimdkim/design-is-scrap


S - Showing is better
Having pictures is clearly better than not having pictures - want proof?  See the next picture!
Type this into the console > d3.select(“div#examples”).remove();

C - Contrast

The original with dark text and white background - let's say you want to try a different contrast


Isn't this cool?
 To change the color scheme as above:

> d3.select("body").style("background-color", "black");
> d3.select("h1").style("color","white");


Neat, huh?


Dec 11, 2012

Language is for communication - or the guy who started coding at 5

Should you learn to code?  Why?

If you're not already a developer, should you bother to learn some programming?  I am an MBA-guy learning to code, because it's fun.  Still, I sometimes wonder "why am I doing this?"  And I found many non-developers share this question.  I initially thought about this in terms of career advancement.  Then, I got wiser.

In a prior entry, I observed a trend: coding is coming to the masses.  At least the demand for learning to programming appears to be accelerating.  (Have you noticed this trend?)


Just an old geezer talking

First, a brief history.  When I applied to business school, there were no channels or organizations like Coursera.org or App Academy.  Second, I am learning to code to expand my prototyping tool-set.  Third (this is an important motivation for me), I want to better appreciate technical co-founder and his talents.

And I have no illusions about become a serious developer overnight.

On that last point - illusions - I have often heard some say: "I don't code, but I know enough to be dangerous."

Really?  Dangerous, how and to whom?  The more I learn, the more I find how hopelessly harmless I am, and will continue to be for a long time.  Then again, they may be right.  I can see how bad code can harm the world.



Conventional wisdom focuses on career

When I google something like 'why everyone should learn to code,' I come across an article like this one from VentureBeat (9/17/12 article by Jolie O'Dell).  The outline of this and many similar articles might run something like:
  • Programming literacy is important. (It's the same reason people around the world learn English - because it's the lingua franca of commerce.  It makes you a world-smart citizen.)
  • It's a good way to improve problem solving skills, etc. (It will make you smarter, which is inherently good.)
  • It's going to be good for your career, because [insert some bull-shit reasons].  (You'll make more money $$$.  Maybe.)
I was more intrigued by the well-known article by Marc Andreesen on Why Software Is Eating the World.  It is a good article, and you should read it.  Andreesen built Netscape.  I was in high school then, and I still remember the weird monochromatic browser-thing I saw on huge Unix stations at school, and nerdy kids at school staring at it into the night (I attended a public boarding school).

"I was coding since I was 5"

Incidentally, some of those nerdy kids I saw late night have been coding since they were young.  Really young.  And they didn't just code into late night.  They coded on weekends.  They coded during football games.  They "skipped" prom.  (Incidentally, I never went to the prom either.)

I recently talked to a developer who claimed he was coding since he was 5.  And I'm pretty sure, soon, I will meet someone who started coding while during the third trimester in his mama's womb.

What programming really is

The point is that if you're just catching onto the coding trend, and want to learn "just enough to be dangerous," good luck!  I'm not stopping you.  And I am not writing this to dissuade you from making yourself better.  It's not going to stop me from learning.  But, consider this.

Language is a tool for communication; it is a tool for expression.  At some level, programming language are used by those who know it best to express their individuality.  They express themselves:

  • To explore personal interests
  • To build tools for personal use
  • If they so choose, to express or share those interests or tools with the rest of the world
  • And if they are lucky, to make the world a better place and make lot of money doing it
  • And it's okay if they don't make a hit ... they will keep coding and keep doing things for themselves anyway.
This is a fundamental insight that is seldom found among those advocating coding literacy.  This insight is also often missing from professionals picking up coding so that they can be "dangerous."  

By all means keep learning.  Literacy is a good thing whether or not you are the next Charles Dickens.  However, understand that a language is a medium of expression.  Just remember that your best means to express yourself to the world may be a musical instrument, or through sports, or just plain 'ole English.

Further reading

Incidentally, you may want to attend a hackathon to see first-hand what all of this coding and startup buzz is about.  Or if you are wondering about attending a full-time programming course, check out this guide I co-wrote: Guide to Full-Time Programming Course.

Sep 17, 2012

A rant. Do you, or don't you? Founder Institute. How to approach resources.

Okay, so this entry is a bit of a rant.  Topic: "Do you, or don't you?"  Or how do you know or decide what's next for you?  Or reflections on using resources.  Basically, you got in.  Now what?

Here's something I often don't hear ... "Congratulations!"  An acceptance letter from Founder Institute inviting me to join its Fall 2012 SV semester class.  And they are asking me to make up my mind by tomorrow - 9/18/12 [1].


Usually, it's the "I'm sorry" letter.  Like the one after our Y Combinator interview Summer '12.  'You're good, but no dice!'  (So it goes - learning to take rejections gracefully is part of the journey - enjoy it!)


This feels a lot like B-school apps a few years ago. Got into the Darden School, rejected by others.  Now what?  And I imagine this is a common dilemma shared by other (inexperienced) entrepreneurs.  You got something (a resource), but how do you know if it's worth your investment?  And we generally suck at answering these kinds of questions about how something will pan out based on today's decision.


From Nassim's Taleb's Black Swan, Part 2 - "You would expect our record of prediction to be horrible: the world is far, far more complicated than we think, which is not a problem, except when most of us don't know it."  So we suffer from the '(wo)man who knew too little' problem.  And I know this to be true of my life.  Now and then, I catch myself wondering if my life could be better optimized.  How come I can't seem to go in one direction - up and up?


Since no one knows the future, I'm going to frame this as using resources in life.  What is a resource?  In my case, it is that which will help (our company) grow, answer questions, get users, connect to mentors, etc.  So, the useful evaluation is to determine whether FI will be useful or not for (our company).  I'm going to think about it and discuss it with my co-founder.  As a starting point, I have a few hunches about major pluses and minuses.  But, the problem with hunches is that they are almost always wrong.  And what's really needed is a more empirical data to predict the outcome.  More to come.


Some concluding thoughts to a random rant:
  1. Find/create resources.  FI is a resource.  If you don't apply or don't know about it, you don't have it.  Having a resource is the first step.  This mentality is key to creating your own luck in life.
  2. Consider the goal.  Does the resource help you achieve your goal - whether it's power, knowledge, growth, peace, whatever.
  3. Learn to reason with data.  Heuristics are easy, but unreliable.  What you want is data.  For example, I will look to FI alums to see how successful they have been ... an imperfect data point, but better than a hunch.
  4. Action trumps reasoning.  Attend info events or talk to alums to get more data points.  And will FI help me be more active or simply be an academic exercise?  For startups, key is talk less, do more.
-----
[1] By the way, if you don't know this yet, you can always change dates or rules like this one.  If you want things to work for you in life, you need to learn to change the rules to benefit you.  One useful insight to keep in mind is that whoever comes up with a rule is just another human being.  Just like you.  You can talk to them, reason with them, ask them.