The art of building software

Wednesday, May 4, 2011

Famous LinkedIn Profiles - Social Media vs. Social Networking

Seems like everyone has "social media" in their profile these days, or at least about 600,000 on LinkedIn do at the time I am writing this (search for social media on LinkedIn to see).  That number is growing by almost 1,000 new people per day, so you will see a higher number if you click on that link now. This got me wondering about the difference between two terms we all use a lot to describe Internet-based applications: Social Media and Social Networking; what is the difference?  Social media allows anyone to broadcast content that others can discover, share, and comment on, while social networking allows people to connect around shared interests.  Both types of software are used as part of broader marketing campaigns and both generally rely on viral marketing to bring in new users and so can grow at exponential rates.

The latest trend in advertising is to tie celebrities and authoritative voices into interactive advertising campaigns, although arguably this isn't all that new since advertisers have been using celebrities to market their products for years, known as the "celebrity endorsement".  SocialMediaMarketing.com describes a case study where they recruited influential bloggers to lead as ambassadors as part of a large scale marketing campaign.  Say Media took this one step further when they acquired the Typepad blogging platform last year.  This is social media.

There is a special case of social networking I'd like to zero in on for this blog posting: What happens when famous people use social networking tools?  In some cases such as the examples I give below, I think these people are trying to use social networking platforms as if they were social media platforms, and in my opinion, this usually fails spectacularly.  Barack's campaign (read more below) is one notable exception, but that was unique because his campaign invented a new way to use social networking tools, and I'd hesitate to call this either social networking or social media.  I think we need a new term for this.  Any ideas?

I recently discovered that a number of famous people appear to have their own LinkedIn profiles.  At least I'm assuming these are real as I expect they would have been torn down if they were fake.  (If anyone thinks any of these are fake, please let me know!)  Here are my personal favorite examples of celebrities trying to use LinkedIn as if it were a social media platform.  I've just requested a direct connection with all of them.  If I get any responses, I'll come back and edit this blog posting and let you know who let me in!

Sarah Palin's profile is just downright funny to read - her summary ends with such badly written English, you have to wonder how this could still be here online, but there it is:
"My fellow Americans, come join our cause. Join our cause and help our country to elect a great man the next president of the United States. And I thank you, and I -- God bless you, I say, and God bless America. Thank you."

Bill Gate's profile is awesome in it's conciseness.  With only 38 connections it's pretty clear Bill is not using LinkedIn for its social networking capabilities.  I'm guessing he wanted to try it out at some point and just abandoned his account.  Maybe he thought his profile description would be a good way to describe himself to the LinkedIn community.
The man does not need to say much in his profile.  He calls the Gates Foundation, the largest foundation in the world, "A humble initiative", and Microsoft, one of the most dominant software forces in history, "A small monument".  A bit of false modesty?  He never finished college though, so I don't know.  One of his public recommendations appears to be this comment which probably wasn't meant to be public so I am a bit surprised that he'd post this:
"Great job on your promotions. Please contact executive assistants at MAP92112 @ gmail.com to work out details of future promotions."

Like Gates, this guy doesn't need to say much.  His job description for being President simply says, "I am serving as the 44th President of the United States of America."  This is the complete opposite of Bill's profile: millions of connections - over three million on facebook alone.  This is not social networking in the sense that most people think of when they think of LinkedIn, yet at the same time, he never posted anything new on his LinkedIn profile so there could not have been much social media going on either.  I think this was something else, neither social media nor social networking; it was a badge his fans could put on their profile to show their support to their own network.


Talk about not needing to say much, Britney has the shortest profile of the group.  This is the entire profile:
Summary
It's Britney Bitch!
Specialties
Dancing and singing





With only 23 connections and not being open to accepting new connections, I'm guessing she's not using LinkedIn.  I think the only reason she has a profile there is to provide a link to her real fan site.

Wednesday, April 27, 2011

Ruby and the Three P's versus Java and the Argonauts


There's a cultural war going on between developers that use late bound languages to build web applications and services, and those that use early bound languages.  This job trends graph from hiring site Indeed.com may help explain what is going on.  You can see the trend for the early bound languages has continued to grow as a group (with C++ dragging down the pack).  A look at Ruby and Python will show that these are growing at much faster rates than the early bound languages, but the absolute number of jobs available for these languages is only a fraction of those available for the early bound crowd.  In order to grow, the Ruby and Python movements need to get programmers from the top three languages on the graph, which are all early bound languages: Java, C++, and C#.  They also need to recruit younger developers.  This cultural war is one technique the late bound crowd is using to get a developer audience.

This video is pretty funny, and the whole series is quite effective at capturing this cultural war.

Another interesting data point is a comparison of Ruby and Java salaries (see below).  This salary data from payscale.com shows that entry level Ruby programmers make almost 20% more than their Java counterparts.  What accounts for this?  I don't know - if you have any thoughts please let me know!

This advantage disappears as the programmer gets older though.  I think this reflects something else I've noticed about this cultural war: Late bound adherents tend to be younger than their early bound peers.  I think this is because the late bound crowd needs to recruit "new" people to the fold, which will generally be younger people.

Ruby on Rails Median Salary (U.S.)
By total years of professional experience
Java Media Salary (U.S.)
By total years of professional experience

Tuesday, March 8, 2011

Social networks and the future of digital communication

Future of digital communication?
I recently ran across a fairly widely publicized job description that ends with the following, and I thought it would make a great topic for a blog posting:
Please reach out to email-address-withheld if you’re interested in being considered. Tell us about yourself, how you use social networks and your view on the future of digital communication.


There are a few well respected futurists, such as Carl Sagan, Ray Kurzweil and Michio Kaku, who I like to follow.  But there is another futurist I'd like to make special mention of, because of his vision of the future of digital communications.


Stylish Nokia Cityman
Before I discuss the future of digital communication, I must make homage to Apple's Knowledge Navigator video, based on the amazingly prescient concept first explored by then Apple CEO John Sculley in the epilogue of his 1987 book Odyssey: Pepsi to Apple.  Before you watch this video, let's take a moment to remember what was going on in 1987.  To the left is the latest, hottest Nokia device to hit the streets.  World wide what?  Wasn't around yet, and the Internet itself wasn't quite all wired up yet.  Now check out the video and think about how close the iPad is to that today.



What is a social network?
Before answering the question of how I use social networks, I'd like to define what I think a social network is.  In this context, I'll use the term "social network" as a shorthand for "online social network service".  These services help people build relationships around shared interests.  They are especially powerful when they enable individuals to harvest the power of indirect relationships and potentially the entire network to, for example: (1) Ask questions; (2) Create new relationships; (3) Search for and exchange information; (4) View group aggregate statistics such as average group age or income; (5) Create entirely new groups based on specific shared interests, and; (6) buy or sell goods or services.



I love this snapshot of an evolving social network from FMS Advanced System Group because it instantly conveys how people are organized into a real-world society by their relationships.  The online view of the entire social network is intended to reflect an in-fact, real-world social network.  (I must resort to the term "real-world social network" to differentiate that from "social network" which by default in this context refers to an online service.)  From a mathematical perspective, a real-world social network can be viewed as a graph where the nodes are people and the links represent various types of relationships such as parent, manager, common interest, or friend - the types of relationships are infinite and can overlap and change over time.

Social networks usually can import a starting view of your social network by importing your address book from other sources, such as your email provider.  They typically leverage indirect relationships to create new direct relationships, increasing the connectedness of the social network.  Their user interfaces are designed to most effectively reinforce whatever the shared interests of the network are, whether they be your health, family and friends, professional interests, dating, food, gaming, or gardening.  They usually incorporate viral marketing mechanisms, so if the value they provide is real, they can grow exponentially fast upon reaching critical mass.

They generate revenue primarily by advertising but also by subscription, by purchase of virtual goods (a new hat for your avatar) and services (advancing through a game), through transaction fees for purchases of real goods, or by donation.  By taking advantage of the private information exchanged among members, social networks can create well targeted advertising campaigns with high conversion rates, and correspondingly charge a premium for advertising rates.



How I use social networks
I am not a connector, to use Malcom Gladwell's term for a basic personality type, so I don't invest time in maintaining a large contact database.  I make up for that by maintaining relationships with people who are connectors.  I personally don't find much value in larger, general purpose social networks like LinkedIn and Facebook due to their low "signal to noise ratio" and their constant problems with privacy.  You won't catch me playing Farmville.  I do use those tools occasionally just to study what they are doing with their product, since they are market leading products.  Personally, I tend to use special interest social networks when I can get value from them, participate while I'm interested in the topic, and then drop off again when I'm done.

I've also lead a few startups trying to create new social networks for specific purposes such as the job and recruiting market and maintaining family connections, and we faced a very daunting problem called the "cold start problem".  The problem is that the social network has no value until members join, and members only want to join once the social network has some value.  Basically, how do we get those first users in there before the group has really formed?  There are various solutions to this problem I won't go into here, but suffice it to say, once you get past this problem, you have a thriving social network.  We then moved onto more advanced problems, such as maximizing our total social value (aka social capital), maximizing our revenue per user, and trying to predict and manage our viral growth rates.  Cloud computing can be a great solution for these rapidly growing user bases, especially since their growth curves can be difficult to predict ahead of time even when using refined versions Jurvetson's famous viral growth formula.


What is digital communication?

Before talking about the future of digital communication, I'd like to define precisely what I mean by this term in the context of this blog posting.  Digital communication is the transfer, to or from a sentient being, of information encoded into discrete (not continuous) values, usually encoded as binary data .  In making this definition, I use the phrase "sentient being" because digital communications have been used by other species such as dolphins and apes.  I'm using the words "information" and "data" fairly precisely in this context too, and at the risk of causing infinite dictionary recursion, I'll briefly say that data corresponds to a real world phenomenon, such as bits or qubits on a disk or in memory and can be operated on by a computer.  I'm hoping this definition still works in the coming age of quantum computing as well.  Information is an emergent property of data when it is formatted and perceived in a way that the meaning of the data can be understood by a sentient being.  If you wanted to go further, knowledge is an emergent property of information that provides a way to control or manipulate the real world, and power is the exercise of knowledge in the pursuit of a specific intention, and wisdom is having the right intentions.  But I digress into a fun philosophical territory we could all probably wonder off into for quite some time...

From that somewhat extended definition of digital communication, we can derive some interesting features.  First, the means of information transfer is not important, although characteristics like speed, latency, quality of information architecture, and reliability are important.  Second, the sensory modalities by which information is transfered to or from the sentient being are not important, whether that be by images projected on a computer screen that we look at, sounds played through a speaker that we listen to, or haptics that we feel.  Hellen Keller first learned language by feeling fingers pressed upon her hand.  You could also call that a form of "digital" communication, but a different kind of digit!

The future of digital communication

As digital communication evolves, social networks will always move to the new evolving communication devices and modalities.  Where digital communication goes, so goes social networks too.


Digital communication will likely change in the following ways in the future:
  • Communications will move away from email and more towards mobile based applications, specifically those based on the architectures created by Google, Apple, and Microsoft (yes, predicting that MS will pull a rabbit out of their butt).
  • Gaming and sex will continue to drive significant amounts of social, digital communication.
  • Actual privacy may erode as users voluntarily give up their privacy in exchange for free services they want to use, paid for by advertising, even in the face of legislation designed to protect privacy.
  • 3D user interfaces will begin to evolve, eventually not requiring special eye-wear.
  • New form factors like the iPad will continue to emerge and communication will move to the hot new platform, as the older platforms die off.  For example, cheap, flexible display devices that look and weigh about like paper.
  • Advances in power management and ubiquitous free or low cost, high speed wireless networks will extend these capabilities to a broad reach of the population.
  • Augmented reality applications will become mainstream, and drive display devices into more diverse places like goggles, heads-up displays on cars, on walls, desks, or ceilings of rooms.
  • Complex hand gestures not requiring direct touch will be used.
  • Full haptic, tactile feedback will allow us to feel things with our hands
  • Voice interaction will be used.
  • Artificially intelligent agents will be used that can recognize facial gestures and vocal inflection.
  • Sound induction will allow us to privately project sound directly into your ears (and eventually directly into your brain), not requiring you to hold a phone up to your ear or wear clunky headphones.
  • Immersive reality will directly project 3D augmented reality either onto special glasses, contact lenses, directly into the eye, and then eventually (drum roll...) direct cybernetic hardwired connection to the brain.


And ultimately, the future of digital communication is...

If you believe in the singularity predicted by many first rate futurists, then we can't really see past that point because advances in technology make the future too variable to predict.  Sounds like interesting times to me - hope I get to see it.


The future of social networks

Although the job posting that motivated this blog posting didn't ask about the future of social networks, I think that's a worthwhile question and also the hardest of all questions to answer.

Technologies like OpenSocial make it possible for originally separate social networks to interconnect, even though those networks are run by different vendors on different platforms.  This is a good start, but the process will eventually get a lot smoother and more transparent to end users.


We'll get more customizable, social networking web 2.0 widgets we can drop into our blogs or web sites so we can easily build our own, highly customized social networks.

Some large brands will try to drive their market into their own social network, for the purpose of learning from them, but also for the purpose of increasing customer loyalty which translates into greater sales.

Privacy will be a major issue over the coming years, especially as new legislation is introduced both in the U.S. and in the E.U. to limit the manner in which social network vendors can profit from their user's private information.

Advertising will directly support access to the social network of fans, stars, users, customers, customer service representatives, and so on around what is being advertised.

Political races will be won or lost based on how well the candidates are able to leverage social networking and social media.


Don't forget the real world

With all this talk of computers, it's easy to forget that relationships are a real-world, human phenomenon that we directly experience, whether we're communicating with someone in person or through social networking.  Many relationships exist both on and off the online social network service, and the real world network may or may not be close to the online view of the same network.

Wednesday, February 16, 2011

How to create a software startup for $120

Lately I've been running into more people than usual looking for funding to create a software startup as there's a mini dot com bubble going on again in the Bay Area.  I don't think you need much funding in order to create a profitable software startup, so long as you can get software development done for equity.  In this blog posting I'm going to share how I believe you can create your own software startup for about $120, in a way that scales big fast and cost-effectively.
  1. Come up with a good idea for a software service or product people will want to use, even if they don't pay directly for it.  How you do this magical thing is beyond the scope of this blog posting, but this awesome podcast interview with Professor Steve Blank gives quite a bit of information about the process.
  2. Be sure you're ready to be an entrepreneur - do you have enough passion for your quest?  
  3. Be ready to invest time without any corresponding income until you've got income coming in.
  4. Find a key partner or two - partnerships create synergistic effects that allow you to reach well beyond the sum of the individual partners.  But consider it like you're all getting married to each other, so choose well.  If you don't know any partners, post an ad like this one on your web site, and use social networking techniques to help find partners.
  5. Agree on how you and your partners will eventually split the equity of a corporate structure down the road, should things happily evolve to that point.  This could be based on the value of the time each partner invests, but in the end, it's what everyone is comfortable with.
  6. Among the partner skill sets, you should have software development skills as well as sales/marketing skills.  You can add other functions later as you need them.
  7. You'll need a domain - pay $10 to register your domain.  Do some brand identity thinking before you pick your domain name.
  8. Sign up for a free core business software service like Google Apps, where you get 50 free email addresses in your custom domain, scheduling, group chat, docs, public web sites, wikis, and more.  You'll pay some later if you get big or you can move your infrastructure somewhere else if you like.  All the collaborators get accounts, and this scales as you grow.
  9. Meet with your partners in person at the beginning to get on the same page about the product vision.  When not in person, utilize multiple communication modes including chat, video conference, screen sharing, free conference calls, and email - be responsive to all modalities of communication.  All this infrastructure is also free.
  10. Create a wiki and document archive to collaboratively create and document your entire evolving business plan and technology infrastructure.
  11. Hopefully you can file a provisional patent application to protect your new idea and pay the $110 filing fee.  You can do this by yourself, but you should know that if you aren't familiar with the process, it takes a significant investment of time to educate yourself about how to do this well.  It's worth doing if you can, because it can create significant value for investors down the road, and also prevent others from copying your idea.
  12. Do your work on your own equipment anywhere there is a good Internet connection and work space: garage, home, coffee shop, wherever.  You could argue that there is cost in the rent, hardware, network connection, and so on that I am ignoring in my $120 figure, but I'm ignoring that here because you have to pay that cost anyway.  Go ahead and deduct some of that from your taxes now because you can!
  13. Sign up for a free hosted version control system - I like Project Locker.
  14. Also get a defect tracking system, agile project management system, continuous build system, and wiki set up.   There are some free choices out there, and some very low cost alternatives as well.  I'll try to come back to this blog posting and edit this to add some of my favorites in these areas too.  In the mean time, you can search for free versions of those tools, and just pick your favorites.  
  15. In your agile project management system, you and your partners take the vision and break that down into features.  Then work with your developers to turn those features into releases, sprints, and features.
  16. In your IDE, use a tool like Mylyn to connect to your project management system and your continuous build system.  You can use the time tracking feature if you like to get a view of how much time each person is putting in, and what your Agile-style velocity is.  This makes it easier to predict your schedules.  Also download the adapter to connect your IDE to your version control system.  
  17. For server software, consider a free (to get in) cloud-based solution like Google App Engine or Amazon EC2.
  18. If you're developing mobile phone software, use the mobile phone you've got, or get the phone you need (I'm not counting that expense since you'll use it as a personal phone too).  The software development tools you'll need are free.
With all of the above, you've got plenty of software development infrastructure (and a bit of startup culture) to build just about anything you want, for just about no cost, and there's a fairly low tax in terms of the time it takes to set up the infrastructure, as well as the ongoing overhead.  It can easily handle many developers simultaneously developing your product, and it sets up the kind of culture that can scale.  Once you're about to get some revenue coming in, then use that revenue to incorporate and start a real business.  Also, the services that you started using for free will start to cost something as you have real users putting load on the cloud, and you must ensure that your revenue covers those expenses.

What I like about this approach is that it gives you a rich, state of the art business and development infrastructure virtually for free.  All you need is the idea, passion, and time.

Now it's quite likely that cash could accelerate your time to market in various ways.  Perhaps it would allow you to pay yourself a salary so you could spend more time on your startup.  Or you could purchase a library instead of building something yourself.  Or perhaps pay a consultant to do some work.  In any event, the point of this blog posting isn't so much to say that you should only spend $120 on a startup - it's more to set a perspective on the value of funding, whether that funding is coming from yourself or an investor.

    Sunday, December 19, 2010

    Reed Hastings, NetFlix CEO, gets it right

    Netflix CEO Reed Hastings
    Here's a video I shot at a NetFlix company party way back in the early days, back around March of 1999.  Kind of fun to relive the glory days of the Internet bubble.

    At the end of the video, you can see a brief bit from Reed Hastings, CEO of NetFlix, when I asked him about the future of the company.  What's remarkable is that he knew this was the future way back then, and he knew he'd have to wait until the time was right to realize his vision.  Now we're here and he's done it.  Congratulations Reed!



    That's the kind of quality you want in a CEO.

    Monday, November 29, 2010

    The Chief Technology Officer of a Software Startup

    During early phases of a software startup, you don’t want to be management top‐heavy, yet it’s important to bring on senior people for continuity as you scale the organization up because these people can and should set the culture for the company going forward.  Once set, cultures are harder to change.  At the beginning, you need “player / coaches”; that is, people who can be an individual contributor, manager, and leader. The CTO in such a company should initially multirole as needed the roles of chief architect, lead programmer, and VP of Engineering, eventually replacing these with full time positions at the right time.


    It’s important for the CTO to select the right technology platforms and tools early on in a startup, as well as play a key role in hiring the team and setting up the team culture, development infrastructure and development processes that can scale.  To be successful in doing that, the CTO absolutely must be a visionary technologist and quality coder with the ability to learn new technologies as needed.


    A common view of the CTO role is that they do not need to have strong technical skills.  John Wren Medcof shows this well in this picture on the right from his web site.  I disagree with this model, and think that a CTO needs to excel in all these domains.


    While the CTO is responsible for the technology, the continuous product and project management decisions of how to balance milestones, resources, and features as development progresses must be a cross functional team decision. No one person has all the knowledge to do this. In larger organizations, you form a cross‐functional product team to balance the three factors (time / features / resources). However, in early startup stages, the executive team may need to actively multirole this until sufficient staff is in place to offload this burden. I use the word “burden” because it takes some investment of time in order to make the best call to balance these factors. 

    If the executive team is also playing the role of the cross‐functional product team, the executive team meeting should be kept completely separate from the cross‐functional team meeting. The two meetings often have different people leading them as well. Usually a CTO or product manager leads the product team, but that doesn’t have to be the case.



    The CTO should know when it’s time to hire people, and what kind of skill sets are needed. When the size of the engineering team hits a certain point – perhaps around 5 people and still growing, another layer of management may be introduced – this typically reports into the CTO but this is not required. The next manager brought in should either be at the Director or VP level, and that person may need to be a player / coach until the team grows to a size where the manager can’t simultaneously write code and manage.  As the team grows larger, additional layers of management should be brought in.  There are "phase changes" of sorts that an engineering organization (and the company as a whole) goes through when the total size hits certain ranges.  A CTO should be prepared to  help the company through these transitions.

    So to summarize, the CTO may well start off as a strong individual contributor, but that function should gradually be reduced as the team grows in size. With that said, in order to maintain his or her edge and to retain “street credibility”, I believe a CTO must continue to develop and write code, as well as facilitate the architecture, and mentor others on the engineering team.


    Most of the CxO’s on the executive team must play both an internal‐facing leadership role, and an external‐facing role facilitating investment and sales. The CTO is no exception. Initially as the company is getting going, probably more emphasis should be placed on the internal role. As the company grows, the CTO should transition to a having a larger external impact, through multiple channels. The CTO is often brought along as a “big gun” for important sales, in order to talk tech with the customer’s tech people. The CTO is usually part of the investor pitch team as well, as investors need to know that the company has what it takes to deliver the goods. In addition, the CTO should develop an external reputation for technical excellence and thought leadership, in the industry and his CTO peers in other industries. This is accomplished through several mechanisms such as blogging, articles and press releases, and talking at industry events.


    I’ll close by saying that a major challenge of being a top CTO, is maintaining that technical edge that allows you to be a “player” in the player / coach model, yet spend enough time on the external facing role and continue being a thought leader. You can’t do this by just coding a few hours every couple of weeks. You need to sink your teeth into some problems.

    Sunday, November 7, 2010

    Passion, Joy, and Software Startups

    Passion and joy are two of the most important parts of life, so as a software developer I think it's important to understand how to create a software career that brings us the most passion and joy.  As this eHow article on How to Follow Your Passion says:
    Remember that following your passion is the most important thing you can do for yourself when it comes to your career. The majority of people are programed to not follow their passion when it comes to their career because they still fear the unknown. But following your passion early on is a must if you want to live a succesful fulfilling lifestyle.
    One of the best things about America is that our culture supports entrepreneurs who build their careers by following their passion.  Although there is an interesting counter-point to this: The average Peruvian is 3.5 times more likely to start their own small business than the average American.  Maybe I should start my next startup in Peru.

    According to the respected publication The Economist, between 1996 and 2004 America created 550,000 small businesses every month.  Wow!  And one of the best things about being a software guy in the Bay Area of California where I live, is that we are home to so many software startups.  In the SOMA area of San Francisco where I've worked at several startups, the number of startups has just started surging in 2010, according to The Wall Street Journal.  As SFGate puts it:
    In San Francisco's South of Market neighborhood, Internet-based software startups are thriving despite the worst downturn to hit California since the Great Depression.
    Some of you at this point will be saying, "but how many of those startups survive?"  The table at right shows the percentage of startups still in business up to 10 years later.  This data is from the Bureau of the Census produced for the Office of Advocacy of the U.S. Small Business Administration.  Another data point comes from Scott Shane's excellent book, The Illusions of Entrepreneurship.  In it, he states that one third of startups are successful after seven years, which agrees pretty strongly with the U.S. census data.  Scott characterizes this as "only one third", but I think of it like, "Holy Shit!  That's good odds.  Just have to try a few times and I'll get it.  Might even get lucky and hit my first one out of the park."

    I believe following your passion is part of American culture and especially Bay Area culture, and is part of self-actualization.  This is pretty deep spiritual and philosophical territory.  Earlier this year I blogged over on my personal blog about the relationship between self-actualization and destiny.  Interestingly, Scott Shane states that the main reason people start a small business is to avoid working for others.  I think that perhaps it's harder to self-actualize if you're following someone else's business.

    When you reap the reward of joy from pursuing your passion, you may also accumulate some amount of wealth - perhaps even a lot of wealth.  It's easy to forget that the value of following your passion is the joy you reap from doing just that - not so much from the wealth you accumulate.  In fact, one famous study suggests that lottery victims experienced less overall happiness than accident victims.  I take that to mean that wealth in and of itself doesn't bring joy or happiness one bit.  It comes from following your passion.  I love this quote from Health Guidance in the article True Wealth Will Make You Happy But It Must Be "True":
    True wealth lies in defining ourselves by who and what we are, not by what we do or do not have.
    Many software startups that started with lots of passion become successful, so they grow big and then they have a problem as they grow larger: Innovation and the entrepreneurial spirit flicker out.  How do they keep the innovation and entrepreneurial spirit alive as they grow?  Google has made famous (but did not invent) the idea of reserving a certain percentage of everyone's time for innovation - their famous 20 percent time.  Google says this in their section on an engineer's life at Google:
    We offer our engineers “20-percent time” so that they’re free to work on what they’re really passionate about. Google Suggest, AdSense for Content, and Orkut are among the many products of this perk.
    I think the key part here is giving people a way to "work on what they're really passionate about".  By implication, the other stuff they're doing, well - they're not so passionate about that.  Hmm... That kinda sucks then, doesn't it?  That means 80% of your time is spent doing relatively boring stuff, and that to me seems like a high tax.  I'd kinda like it if I spent much more of my time working on stuff I'm passionate about.  Where can I do that?  And the fine print of Google's employment contract says they own 100% of any vision I create in my 20% time, so I'd like to keep at least some of that for myself please.  Where can I do that?

    I believe there are at least two routes to finding more passion.  One route is to find someone else with passion that's out there building something, drink from their cup of passion (which should be overflowing), and then you will join with others in this way.  If you're following this route, I think it's important to find a group of people with passion for what they're doing - don't settle for people that don't care so much about what they're building.  If that kool-aid cup contains apathy, you will most likely have a bitter taste in your mouth.

    Another route to passion is to realize your own vision in the form of a startup business, based on an idea you're truly passionate about.  How do you know if you're passionate about something?  I like the way Ryan Hoback puts it in his posting The Passion Behind Business:
    When I get excited about a new venture that I have been developing, I feel the excitement run deep through my body. A feeling of invigoration comes across me. When a new idea comes to my mind, I begin to get happy like a little child opening a present on their birthday. You see, this is passion, and this is what successful business organizations are built on. Passion. Passion is the driving force and inner desire among entrepreneurs and leaders across the world which makes you want to continually pursue going above and beyond.
     Cash Miller puts it this way in his article Why is Passion in Small Business Necessary?
    The number one asset a small business owner and entrepreneur needs to have is passion. Passion for your business is an essential ingredient when building a business. It can help to energize you when times are tough and it can help fire up your employees. Passion is what makes people believe. Do you have that passion?
    So maybe you do have all the passion in the world, but most likely you don't have the personal resources required to start your own business all by yourself.  It takes a lot of time, which means you can't use that time to earn income, which means you must have a means of sustaining yourself while you're building your business.You can't eat passion for breakfast.

    In addition to your own time, you must invest money in one way or another, either by eating into savings, or in the form of opportunity cost - lost opportunities for earning income, or in the form of loans, or an angel investor.

    In addition to investing time and cash, if you're doing something really big, you will need to team up with other like-minded entrepreneurs as partners.  You will all need to drink the same passion, and it will take time for you to all get on the same page and share a passion for the same vision.