Should You Care What the Critics Think?


Unless the critic is right.

That’s the tricky part — we always want clean, binary answers to messy, complicated questions.

When you build something new — you must believe in what you’re creating. In most cases, it’ll be a long time before anyone else does.

In order to do that, you shouldn’t let a critic sway your opinion or cut away at your conviction.

But sometimes (admit it), the critic has a point. There’s something you can learn from that point.

Should you care what the critic thinks? I guess the answer is sometimes. And you’ll need to be humble enough to accept that.

How To Sell

Make it easy to buy.

Let’s assume you’ve done your homework. There are people in the world who need your product or service.

Then why would you complicate the sale with excessive “marking material” or “competitive analysis” or “pricing tiers” or “fine print” or “bundled offerings” or .. ?

Why would you make someone click five buttons to purchase if they could click one?

Give them the button that sends them what they want and you the money for it. The Internet is amazing like that. It makes this possible.

Here’s a challenge — can you summarize the value of whatever you’re selling in one line? Half a line? What is the 20% of content that gets you 80% conversion?

Be so obsessed with simplicity that you annoy yourself. Because when you’re not making things simple, you annoy people who want to buy.

You’ve done your homework, right? Stop working against yourself. Making a decision is hard. Making the decision to buy your product should be easy.

P.S. This is a reminder to myself. I revisit it before launching any new product — lately at my day job, before any meeting about Shake Pro.

The Stuff No One Tells You About Teaching Yourself To Code

I recently wrote about how I learned (and am learning) to code. After thinking about it a bit more, I realized I left out some important stuff. The nasty bits. Things we don’t like talking about and that people are unlikely to tell you. Here it goes…

No one tells you how hard it’s going to be.

We all get started thinking a book, or tutor, or shiny new widget is going to make success possible. It’s never the case. The drunk-with-excitement feelings are great, unless they stop us from gearing up mentally for the challenge. So let’s not mess around — learning to code is going to get ugly. You are going to want to quit. You are going to fail at some point. And it will take longer than you expect to see results. If you don’t truly want it, it’s going to chew you up, spit you out, and laugh in your face.

My last post didn’t explain the number of times I doubted myself. It didn’t cover getting embarrassed in front of people or living outside my comfort zone. I skipped the part about quitting my job and spending all my savings buying time. Oh, and I totally forgot to mention any of the many jobs I didn’t get. These things happened and you’ll probably experience them too if you’re serious about this.

Success is knowing exactly what you want and then being willing to do anything to get it.

It was only once I accepted that it was going to get ugly, that I finally started doing what it took to make meaningful progress. Here are some resources that helped me understand the difference between thinking I wanted something and knowing I wanted it.

  1. The Alchemist by Paulo Coelho
  2. Think And Grow Rich by Napoleon Hill
  3. Mastery by Robert Greene

No one tells you that you’ll get embarrassed.

I’ve embarrassed myself so many times learning to code, whether it was asking questions in a class, trying to solidify my learning by teaching others, or my personal favorite — during interviews. All I can say is that every time I felt embarrassed, it was because I forced myself to try something that felt uncomfortable. It stung something wicked, but each time helped motivate me past a hurdle I was struggling with. I’m convinced that if we don’t feel scared or embarrassed, we’re not pushing hard enough and ultimately not learning fast enough. Honestly, I need to embarrass myself more often.

No one warns that you’ll have to flip the odds.

When General Assembly, a school for coding in NYC, sent out the first tweet advertising their Front End Web Developer Program, I was in their lobby within 5 minutes begging their program director to let me into the course. I’m convinced I would not have had that opportunity if I hadn’t proven to them over several days that I was willing to do anything to learn. It became one of the most pivotal moments in my journey so far. I met mentors through the class that became invaluable teachers and friends. At some point, you’re going to have to figure out a way to get help and flip the odds in your favor.

No one tells you that people won’t care.

I know learning to code is sexy right now, but you’ll be surprised by how many people don’t care about what you’re doing or how much you’ve learned. You’d think hiring managers or potential mentors would appreciate the hard work and dedication, but the brutal truth is they only start to care if you can help them achieve their goals. It’s easy to take things personally. But remember I said it gets ugly.

No one tells you that you don’t need to know everything.

Try not to be stressed out. Here’s some good news. You probably don’t need to worry about nearly as much as you think you do. That overwhelming feeling that there’s endless stuff you don’t know is never going away. It’s an inherent part of working in software. The only way to stop this distraction is to set goals. Remember, the first half of success is knowing exactly what we wantIf we aren’t honest about what that is, we’re going to spin off into the abyss. It’s not about cutting corners, it’s about efficiently mastering what’s necessary to level up.

Ok, until we meet again. That pretty much covers what I’ve learned so far, didn’t talk about last time, and that no one is going to tell you off the bat.

10 Rules I Followed To Teach Myself to Code (You Can Do This!)

Two years ago, I didn’t know anything about software development. But I decided to quit my full-time job and dedicate myself to learning. I’ll spare you my reasons for taking the plunge (if you’re interested, here are my thoughts), but for anyone with entrepreneurial aspirations or a desire to work in technology, the arguments for jumping into software are clear. Here are the ten rules I followed to teach myself to code.

My number one piece of advice is: you should learn to program.  — Mark Zuckerberg

If you’re intimidated, I was too. If you have no idea where to start, I didn’t either. The bottom line is you can do this. Just stay focused, dedicated, and don’t give up!

1. Pick a language

There are too many languages, platforms, and frameworks to manage. Particularly when you’re just starting. Don’t let this stress you out or slow you down. Ask mentors where they recommend you start. Talk to people who you’d like to work for about which languages they use. The key is to get to it and eliminate distractions. The worst thing would be to spin your wheels trying to keep up with all the possible ways one can tell a computer what to do.

In my opinion, the easiest way to choose is to decide if (1) you’re learning primarily to build prototypes and start business ideas or (2) you have a specific industry or area of focus for furthering your career.

If you’re learning primarily to build products and start business ideas, I highly recommend you start with JavaScript. This will allow you to leverage one language to build both the client-side and server-side (using Node.js) components of any web application. And with services like PhoneGap, you can compile your JavaScript apps into iOS or Android apps fairly easily. I think JavaScript is the most efficient and logical starting point.

However, if you know you want to build native mobile apps or there’s a specific industry or career opportunity that you’re focused on, then do the research to know which language is most prevalent for that particular area. Developing in iOS requires you learn Objective-C and Android requires you learn Java. Some companies are heavily entrenched in specific languages. If you want to work there, figure out what language they use to engineer their products and learn that.

2. Start with the basics

Awesome, you’ve decided on a language and you’re ready to build the next Twitter. Sorry, it’s not time for that yet. You’ll get there, but first focus on mastering some basics.

This will be frustrating and you’ll constantly be asking yourself if software development could possibly be this boring, but it’s a critical step and where most people throw in the towel. The more comfortable you are with the basic building blocks of your language of choice — things like variablesobjects and functionsthe better you’ll be and the faster you’ll achieve your goals.

Remember, the point of all this is to actually learn how to code, build things from scratch, or get hired. There are no shortcuts in software development. The sooner you accept this and internalize it, the better.

I focused on JavaScript to begin my learning journey and the following three books were instrumental for me. Hopefully they will help you as well:

Eloquent JavaScript

JavaScript The Good Parts

The Principles of Object Oriented JavaScript

3. Code every day

This is pretty straight forward. We all get busy and worn out. I totally understand and struggle with this too. But in learning to code, momentum is your friend. The more days in a row you’re reading or writing code, the easier it is to continue reading, writing, and making progress on your code. The reverse is also true to a larger degree. A single day off very easily leads to two days off, then three days, then you’re back to building up the guts to start all over again.

By the way, the rule doesn’t say code for X amount of time every day. Create a rhythm and schedule that makes sense for you. Set aside one day a week to review your notes and take some of the pressure off. The key is, wrap your head around code every day and don’t stop.

4. Read books

There are tons of awesome blog posts, videos, learning platforms, meetups, and classes that will be incredible resources for you. Treat these as supplemental tools and don’t let them distract you too much. Your primary learning resource should be books. Books help you focus on the good stuff. They force you to concentrate and comprehend. When you can’t figure something out, they help you ask the right questions (see rule #5 below).

The monster hiding behind each corner of this adventure is “unnecessary complexity”. Great books are great because the authors have done the hard work of organizing technical concepts into manageable, focused direction. There is no shortage of phenomenal programming books to help you master any topic you may be struggling with. On top of that, they are usually written by the most experienced, knowledgeable programmers on the planet — people who have spent their careers figuring out the best way to do things. Leverage their experience.

Use StackOverflow, YouTube, MeetUp events, and blog posts to “fill-in-the-gaps” in your understanding. Use the Internet to help you answer specific questions or reinforce ideas. The Internet is not the place to make significant progress on big topics or milestones. It’s too chaotic, scattered, and opinionated. There are too many conflicting signals. It sounds old-school, but seriously — read books.

Here are a few that helped me with important topics:

What Every Web Developer Should Know About HTTP

RESTful Web Services

Clean Code: A Handbook of Agile Software Craftsmanship

Node.js In Action

5. Write down your questions

You’re embarking down an inherently windy road, so it’s helpful to leave breadcrumbs along the way. Keep track of where you’ve been and where you’re going with a journal. Take notes. Most importantly, write down all of your questions. This will not only help you keep track of what you’re learning, but it makes it easier for you to get help from friends, colleagues, or people you run into at an event.

I’ve found that people have always been willing to help me, many times sit down and walk me through something in extensive detail, and even pair program with me. This always happened when I took the time to explain what I was struggling with and what my specific questions were. When people see that you care enough to write down your questions, they see that you’re serious about learning and probably remember the time when they struggled understanding the same thing. Most people are willing to help at that point — and it will be invaluable guidance for you at those scary, troll-infested trail heads. This leads us right into the next rule.

6. Find mentors

This is a long adventure. You’ll be happy to know others have made the journey before and many of them will be willing to help you if you just ask.

When you find a mentor and they take time to work with you, make sure they know how much you appreciate it. Follow up with them and show them your progress. Find ways to go out of your way to add value in their lives as well. They will notice your efforts and be much more willing to make introductions and continue to work with you.

As mentioned above, bring your questions to your mentors and show them what concepts you’re struggling with. If they can see how important this is to you, they will be your best resource for filling in the knowledge gaps.

7. Learn the right way

No one knows exactly how to build software. There are all kinds of philosophies and opinions on the “right” way to code. You’ll have to use your books, mentors, and own judgement to sort through all of these theories. The point is you should care about the quality and professionalism of your work. There’s a tendency to “do what works” and develop poor habits, especially if you don’t realize they are bad habits. Fight this tendency at all costs, even if you feel like it’s slowing you down.

The best developers and teams have a strategy and methodology to how they build applications. These strategies and methodologies are designed to minimize complexity and provide a logical structure upon which one can make sense of the chaos that is programming. It sounds like a cliche, but great developers treat programming as an art, not an occupation. Among these people, there are best practices they will expect you to adhere to. If you’re ignorant of this lingo, you won’t be learning things that the best developers do when they sit down to write code. Seems like information you don’t want to miss out on, right?

Take the time to learn and use best practices in everything you build. Understand what it means to write Object Oriented code, get comfortable with identifying and avoiding Code Smells, learn how to refactor each block of code and practice making it clean. It’s actually difficult to explain how much this will pay off for you in the long run.

8. But don’t be afraid to do it wrong

Be smart with rule #7 above. We all need to break things and “do it the wrong way” before we can fully appreciate “the right way”. Hack stuff together at first, make things work, try any solution you think might implement your feature, and don’t ever be afraid to do so. It’s an important step in your learning.

I know #7 and #8 feel like conflicting rules, but they aren’t. In fact, one popular methodology or best practice is summarized with the saying, “red, green, refactor,” which refers to a design strategy called Test-driven development or TDD. In TDD, you write an automated test that defines a new features (red, failing test), then the minimum code to make that test pass (green, working code that’s probably really ugly), and finally refactor your ugly code until it’s clean. Doing it “wrong” is actually built into the development flow, it’s considered completely normal, and it shouldn’t be something you’re afraid of.

9. Stay open-minded

The world of software development is vocal and opinionated. No matter what path you start traveling down, someone is going to tell you it’s a bad one and list a bunch of reasons why you shouldn’t do what you’re doing. Don’t worry about it and try to avoid being dogmatic yourself.

Languages, the tools we have available, and the philosophies on how to build software are constantly changing. If you aren’t open minded about these changes and able to consider new ideas and opinions objectively, you’ll get left behind. Don’t let it hinder progress, but always remember to stay open minded to the changes that are happening in the industry.

10. Build products

At the end of the day, books, code exercises, and mentors only get us so far. We have to put our knowledge to practice. The only way to do this is to start building products. All those cool hacks or ideas you’ve had, start making them. The majority of your daily code should be towards building something. Not sure what to build? Try re-creating existing products or services from scratch.

Start small and pace yourself. My first product was an application that allowed me to push a button on my computer screen and see a message. It didn’t win any innovation awards or make me any money, but it was incredibly empowering to see something I created from scratch actually work. It helped me start putting the pieces together.

I think this last rule is the most important, and all the others extend from it. I like to call this approach “product-driven learning.” The act of struggling to make sometime from nothing will push you forward, keep you motivated and excited, and always drive you in the direction you need to go.


It took me a year to learn enough to build my own products, get hired for exciting freelance projects, and receive job offers. But learning to code was one of the best decisions I’ve ever made.

Good luck. And keep me posted on what your building!

(This was originally posted on my Medium page.)

Nelson Mandela..

“I have cherished the ideal

of a democratic and free society

in which all persons will live

together in harmony and

with equal opportunities.


It is an ideal for which

I hope to live for.


But my Lord, if it need be,

it is an ideal for which

I am prepared to die for.”

– Nelson Mandela

In 1964, Nelson Mandela spoke these words during his trial for conspiracy to overthrow the state. And the rest is history. Here is a complete transcript from that day.

It goes without saying that he lived to change the world.

Thank you Mr. Mandela.


Negative Capability..

I was recently asked “what is the most fascinating thing you’ve learned in the past month?”

Last week, I finished Mastery by Robert Greene. In it he discusses the concept of Negative Capability. This idea, combined with Greene’s explanation of it’s importance, is the most fascinating thing I’ve learned in the past month.

Wikipedia defines Negative Capability as the “ability of [an] individual to perceive, think, and operate beyond any presupposition of a predetermined capacity of the human being.” It amplifies the power of Positive Thinking, as discussed in books like Paulo Coelho’s The Alchemist – and illustrates a critical hurdle in the pursuit of greatness. Greene explains how important Negative Capability is to “Awaken The Dimensional Mind” and embrace the full potential of our creativity – his last step before Mastery.

Many times, what holds us back from achieving what seems impossible is that we conform our beliefs and ideas to fit into a world that others have defined for us. Avoiding this trap is never easy, but doing so – as Dr. Ben Carson points out – is the key to excellence. When we pursue our passions without allowing outside reasoning to influence us: possibilities become limitless.

The ability to “operate” from a mindset not bounded by predetermined capabilities is the most important differentiator between doing work and doing exceptional work. Dimensional Thinking, achieved through a state of Negative Capability, encompasses abilities that I aspire to. These ideas certainly represents the most fascinating thing(s) I’ve learned in the past month and will continue to work on understanding further.

A World Consumed..

Every company is in the software business.

Marc Andreessen famously explained Why Software Is Eating The World. Of course he’s referring to web-enabled “smart” software or “smartware.” Skeptics might counter that Andreessen is being obnoxious, but his instincts have helped start multiple billion dollar companies, making him difficult to bet against.

The power of the Internet and today’s exponential rate of innovation, make things feel more like “smartware is devouring the world.” It’s intimidating. Companies not only face the proverbial – ‘how do we grow?’ But now are challenged with – ‘how do we survive being eaten?’ The reality is a world where Every Company Is A Software Company.

Developers are in the driver’s seat.

The only way to survive this brave new world is to play without fear, to create within the smartware arena. As smartware devours the world, the successful will be those who are best at building smartware. Therefore, in a world consumed – power rests with developers.

It’s frustrating to hear for non-developers. It required time, money, and many failures before I realized it was true. Some take comfort in different sources of counter logic. But ask yourself, what happens when the best developers work for your competitors? Or when everyone else is a developer, except you? I agree with Douglas Rushkoff. The answer is pretty straightforward.

Does your company have advantages? Are you poised to win?

Did you embrace the digital shift early, or are you just keeping up, still waiting to feel threatened? Has your organization built a culture and team ready to capitalize on the shift controlled by The Rise of Developeronomics?

Bill Ford says “he used to worry about making more cars.” Now he worries – “what if we only made more cars?” Venkatesh Prasad, Ford’s senior technical leader, describes Ford as “a maker of sophisticated computers-on-wheels.”

You can become the best in your industry at building smartware, or you can wait until your competitors do and put you out of business. The window of opportunity is closing and the war for resources has begun. The following are three strategies that any company can use to win.

1. Be magnetic.

The first step in winning at Developeronomics is to attract top developers. Talent needs to aspire to work at/with your company. Smartware builders migrate to companies for a variety of reasons. The physical environment (free food, sexy office). The intellectual environment (brilliant co-workers, freedom to explore). Most of all – it’s a badge of honor. Toting your alma mater might yield respect. Saying you’re a Square developer means someone might ask for your autograph. Companies like Google don’t offer jobs, they accept applicants. Be magnetic.

2. Have skin in the game.

To participate in investment upside, one must first take on risk. An example of how to do this successfully in the developer economy is Y Combinator. Deliver cash, connections, advice in exchange for stock, goodwill, and brand equity within the developer community. Done right, this can produce cash returns. It also builds a reserve of talent that can immediately be mobilized.

Google provides another example. They didn’t invest in Python because they calculated a cash ROI. They saw a community of enthusiastic developers. It was an opportunity to invest in that community, the future of it’s contributors, and to pull that talent into Google’s platform.

Investing in platforms or entrepreneurs leverages existing resources and expertise to help developers create, explore, and grow. It makes your company’s HQs a place to be, a place to seek support, a place to contribute. Have skin in the game.

3. Build smartware.

Developers want to develop. And as with anyone, they want their work to see the light of day. They want to contribute to something that “matters.” Thinking of them as a commodity is a drastic mistake. Doing so makes it almost impossible to build “smartware sweat equity.” Combining purpose with camaraderie, dedication, and vision can produce 10x development results. If you’re not at this level, you’re someone else’s lunch. Build smartware.

The time is now..

Smartware will indeed eat the world. The trick is to realize it already has. Building it allows your company to attract smart people, stockpile value in the developer economy, and potentially gain millions of customers in the process. Growing a consulting business for example is no harder than building successful smartware, however the economies of scale are significantly limited in comparison. Even McKinsey is a software company. Your company is capable of winning the war. But you must start now.



I’m almost done with Robert Greene’s latest book, Mastery. It’s an excellent read and I highly recommend it, along with his other work.

Without giving too much away, Greene explains that the right apprenticeship – i.e. observing an expert – studying an expert – working for an expert – is critical to developing Mastery.

Before schools and universities, people learned through apprenticeships. At a certain age, you decided what profession you wanted to pursue, then applied to train under an “expert” in that field. That didn’t mean you needed a famous teacher or the top person in the field from day one (although that’s certainly ideal). It meant you developed your talents by seeking out and working with those who knew significantly more than you. You’d repeat this process with more advanced teachers until you were learning directly from the greatest people in the country. Finally, you’d branch off and pursue your own creative genius. Within this system, you were responsible for your own education. Greene provides plenty of examples of how this cycle played out and impacted folks like Da Vinci, Darwin, and Mozart.

Unfortunately, we’ve lost sight of this strategy to achieving excellence and the result is our modern, “industrial” education system. We’ve decided to align our efforts behind standardized tests and curriculum, while acquiring degrees and certificates. Very little of our system today gives much consideration of practical knowledge, hands-on experience, or any of the rich learning opportunities that can only happen in an organic environment. In the process, we dismiss the idea of taking more control of our own educations. What’s more concerning than that is the fact that our system manages to actually stifle creativity. Through excruciating repetition and often times dogmatic philosophy, we manage to extinguish or oppress the light that is “true talent” or one’s “true self” at an extremely early age.

After our educational check-boxes are complete and our fear of pursuing our passions is well entrenched, we proceed to choose salaries and perks over environments where we interact with excellence. We let our egos and pride dictate our career decisions, instead of letting our hearts and aspirations guide us and inspire us to strive to be great at what we love.

As Sir Ken Robinson pointed out in his now famous TED talk, “we don’t need education evolution, we need a revolution”. Robinson goes on to strongly recommend that we move away from the “industrial model” of education, focusing less on the people and more on “linearity” and “conformity”, and adopt an “agricultural model” of education, focusing less on predicting outcomes and more on supporting individual growth. He elaborates by saying we cannot prescribe a single formula for individual human development, rather we must create an environment that nurtures individuals, helps them grow, encourages them to try, fail, find their true talent, and allows human development to flourish.

I’m not saying school does nothing good. People fought long and hard in this country to have the opportunity to attent school and I am in no way suggesting that anyone shouldn’t feel very fortunate to be able to go to high school, college or graduate school. It’s a privilege and honor to have that opportunity. My experience at college changed my life for the better, no doubt. What I’m saying is that we need to take control of our educational journey, stop following single-file lines into our careers, and stop relying on the “mechanical machine” that is our system to walk us through everything we’ll “need”. The first step of the revolution is not rejecting the current system completely and losing sight of the value it does provide. It’s simply re-claiming the confidence and discipline to create our own learning path and not relying on the system to know everything that’s right for us.

This is all much easier said than done. I didn’t come by these thoughts on my own. A combination of ideas from others, plus my own apprenticeships and advice from experts I ladmire has helped me start to wrap my head around the changes that I’m observing in our economy.

I believe we each have talents that it is our distinct honor and responsibility to find and develop. Skills and interests that fill us with joy and that we have the ability to master. These talents are all very intricate, complex, and unique. And I can’t believe that a system rooted in conformity has all the nutrients necessary for the type of growth we want to strive for.

Thoughts on Efficiency and Software..

I was chatting with a good friend of mine yesterday, Jason, who I hadn’t seen in awhile. We were talking about the election and areas we hope to see our country start to really focus on. Climate change and the environment was one of those areas.  He asked me why I had shifted my focus from solar cells to programming and I realized that decision was something I’d thought a lot about, but hadn’t really put into words.

Efficiency has always been a passion of mine. How can we waste less; time, energy, attention, material, and so on? For that reason, I fell in love with the beauty of a solar cell. It was capable of taking a renewable resource and with zero moving parts or harmful by-products, convert that resource into electrical current. Quantum physics told us that eventually we’d reach a limit in how efficiently a solar cell could convert energy from a photon to moving electrons. So, pushing the technology to that limit was fascinating to me. It felt like the area where I could make the most impact on “world efficiency” and the overall environment.

After spending two years studying solar cells in college and almost four years working in the solar industry, I came to realize two things that made me question what I thought about where I could make the most impact on efficiency.

The solar industry felt like a race to the bottom, not a race to the top.

The driving force within the solar industry is “grid parity” which refers to the point in time when it costs the same or less to generate electrical power using solar technology as it costs the utility company to generate the same amount of electrical power using the cheapest alternative. As you can imagine, calculating the cost target for grid parity and how to get there is very complex. But, when the industry hits this point (and in many circumstances it already has), the game completely changes. It’s clear that solar is better for the planet and when it costs equal or less to generate power with it – utilities, business owners, and policy makers whose interest it is not to switch to solar, will not only have scientific facts and society’s concern for the environment working against them, they will also have basic economics forcing them to embrace the technology.

What concerned me about this concept was not how to get to grid parity, rather it was what does it mean for the industry when we do? Although the solar industry still has big technical challenges to solve, I felt like there was a relatively straightforward path to grid-parity. You continue to drive efficiency to it’s maximum and cost to it’s minimum. Right now, that’s fun and exciting and inspiring. It’s the good, clean guy against the big, dirty guy. But at the end of the day, the electricity market is a commodity market. And that’s what I mean by a “race to the bottom”.

Everything is about driving out costs and when you wake up the day after reaching grid parity, guess what? You’re a company that supplies a commodity. And at least for me, it was a bit frightening to think of being an expert in a technology that (best case scenario) is sold as a commodity. It’s not a consumer market. I wouldn’t interact with end customers, really. I’d have less of a chance to “impress and delight” real people. I’d be behind the scenes, making the stuff that lets my lights turn on and off. People don’t love their utility company like they love their car company or their computer company or even their refrigerator company.

Although you can add value both from the top (products, features) and the bottom (costs, processes), new markets, world-changing technology, innovation almost always comes from the top. That’s where truly transformative companies like apple and amazon and networks like twitter and kickstarter are born and live and where entrepreneurs are pushing the envelop as hard as they can. I wanted to invest in a career that would build skills for “competing from the top”, not “racing to the bottom”.

Inefficiency in consumption is equally if not more important than inefficiency in generation.

What I mean by this is that it doesn’t matter how efficient the solar cells on my roof are if I waste the energy they produce. All this time, I was concerned about how energy was generated in our country (which is still very much a concern), but hadn’t really considered how energy is consumed in our country. It turns out we waste a crap ton of it! Think about how often you leave the TVs/computers/lights on when they aren’t being used or crank the temperature up or down all day so you dont come home to a freezing or scorching house. This is all incredibly inefficient. By just replacing old windows on their house, my parents cut their energy bill by 40% last winter. That kind of efficiency gain is massive! And it has everything to do with consumption, not generation.

Cool. So what’s the point? Go around turning people’s lights off when they aren’t home?! Seems kinda low-tech and boring. Actually, that’s it exactly!  Nest is a perfect example of this idea in play. Although Nest is compared to Apple in terms of their attention to design detail, simplicity, and user experience – what makes Nest so innovative is not their hardware, it’s their software. It’s the fact that their system studies your behavior, your preferences, and learns how to manage the temperature in your house. All you have to do is act normal and it is working in the background to make sure you are always comfortable at home, without wasting any unnecessary energy. It’s not bugging you to think about yet another decision throughout your day, it’s just taking care of it for you.

It’s obvious to me now that this is the future. We are in the middle of seeing the Internet shift from our desk(top) to our lap(top) to now mobile. It won’t be to long until all the products in our living rooms, kitchens, and garages are online too. And they’ll be capable of making smart decisions for us, in turn making our stores, offices, and homes more efficient. When I considered this idea along with arguments like Douglas Rushcoff’s Program or Be Programmed, I knew that I wanted to understand the world of software and contribute to making products and services that make things logically more efficient.

In a roundabout way, I think I successfully explained these ideas to my friend yesterday. Although there are many other reasons why I’ve become so interested in software and the Internet, these concepts are the two that sparked me to take a career risk and dive into programming and building software.


We must not promise what we ought not, lest we be called on to perform what we cannot. – Abraham Lincoln

As we accelerate our path towards open source, transparency, and ubiquitous connectivity – entrepreneurs and businesses will succeed or fail depending on whether they keep their promises or not. That means we need to put as much thought into what’s worth promising as we put into anything else.

It’s very tempting to describe what we are working on as being “perfect for that” or “the X for Y” or to respond to customer feedback by saying “well that’s what feature X will do for you”. But that’s all messy and confusing. We can’t be everything for everyone and by trying to do so – we’ll never be able to make a clear promise to anyone.

Yes, iteration is critical, ideas incrementally improve, and we may not nail our promise from day one. But let’s think less about how to tweak our promise to match what we are working on and more about what promise is worth making and exactly what it’ll take to deliver on it.

Companies Are Making Big Money Doing Annoying Things..

This weekend I saw the new Spiderman movie on IMAX 3D. It’s not that the movie was bad. It’s just that, other than swaping out a few actors and actrices, there was barely an ounce of imagination applied to the same story and cinematic style that very recently went through a 3-movie series.

I’m a big Spiderman fan. In fact, it’s no coincidence that as I type this post, I’m drinking from my favorite Spiderman coffee mug. But, I couldn’t help but feel disappointed that Hollywood packaged up and spit out basically the exact same movie that came out in 2002.

The reality is that this new movie is making a ton of money. That’s because we all went and saw the first three and now we are all paying big bucks to go see this new one. It made me think about some of the industries making big bucks with annoying products or services or strategies. Hey entrepreneurs out there, doesn’t that last sentence seem wrong to you?!

For example, take the cable television industry. If I want to (legally) watch my favorite sporting events, I have to pay $30 a month for a package of TV channels – 98% of which I will never watch. [Sorry Kardashians.]

What about when I visit a website that I like, but after clicking on every single link on the page, I’m forced to watch a 10 second promo for the next show on TBS or told that now’s the time to buy a new Toyota. [We don’t need cars in NYC].

Sooner or later, Hollywood is going to regret all the unimaginative, regurgitated movies they throw at us, I’ll be able to watch TV a-la-carte, and companies with massive TV and Internet media buys will lose to competitors who treat their brands more like personalities than digital billboards. That’s because creative people will get so tired of these things the way they are that they’ll do something about it.

But as long as these culprits keep making money, they’ll continue to do what they’re doing. So really, it’s my fault that the new Spiderman is what it is. I went to the first Spiderman movie twice in the theater and was there opening weekend for all the rest of them. I wouldn’t be surprised if some Hollywood exec has a picture of me in the office for everyone to laugh at on their way to the bank.

Anyhow, I hear entrepreneurs (including myself) talk a lot about “finding the right idea”.  Instead of wracking our brains, there are big opportunities all around us. Just look at some of the industries making big money doing annoying things – and set out on a mission to disrupt them. It won’t be easy, but the payoff will be huge.  Boxee’s doing it.  Soundcloud and Spotify did it.  GoChime and many others are working on it.  Why not you too!?




Blast From The Past..

If you grew up in the 80s – then you know (and most likely love) Reading Rainbow and could probably identify LeVar Burton’s voice out of any crowd.

Last week, we saw Burton announce the launch of Reading Rainbow 2.0 – an iPad app for kids that brings back the beloved television series – this time for a new generation.

This return has me thinking about a couple things. First, I agree with Gary Vaynerchuk here and feel that this re-launch signals a trend that we may start to see much more of soon. More companies and brands will start re-launching products and services that found their original success in the pre-Internet world – this time customized for the web and our mobile devices. This may seem like an obvious move to you, but Burton really is a pioneer with this. There’s a war going on between big, old media companies and the tech world. The big media executives are doing everything they can to squash (or at least delay) Internet innovations that will impact their music, movie, and TV businesses. Burton has shown many times in the past and now again, that he’s taking the opposite approach and chooses to embrace the new technologies. I think the app is going to be a huge success and will re-introduce everything that I loved about RR to millions of new minds.

The second thing this re-launch has me thinking about is how much has changed. For me, watching RR required a different mindset. I knew I’d only be able to see 1 episode at a time – so I cherished it. I knew I couldn’t stop and rewind – so I paid attention. I knew I couldn’t have words I didn’t know immediately defined – so I wrote them down and looked them up after. With the Internet and the iPad, all that changes. Bringing an experience that I knew so well as a kid back has helped me compare how the new generation learns, what their mindset must inherently be, and has me wondering how our overall education system in America may need to change in order to keep up.

By the way – I don’t mean to imply that the tried and true (pre-Internet) techniques for learning are “worse” – and that our new technologies for learning and content absorption are “better”. But, I do feel that it would be a mistake to take the approach that big media companies have taken and try to stall technology and innovation. A better strategy is to embrace it -i.e. – understand the new technology, what it means and how it effects our behavior, and to continue to improve it.



I watched an interesting TED talk by Sheena Iyengar yesterday where Iyengar presents on the “art of choosing”.

There are times when being able to make our own choice is the most important thing.  Other times, choosing between options just stresses us out and causes us to waste energy.  Still others, we aren’t the most experienced, insightful, or skilled person to make the particular decision – yet we still wrestle authority away from those who are.

This concept got me thinking again about the “attention economy” and how the expansion of our information networks will continue to effect our lives and behavior.

It seems to me that many times the most challenging part of decision making is knowing when the choice is worth spending time on and when it is not.

In the business world, it means knowing when to trust others to make important decisions and how to allocate the attention of the organization so that people are focused on what they’re best at, the largest percentage of the time.

Open-Minded Process..

We are often very closed-minded when it comes to process. What I mean by process is the rules for getting things done, the procedure, the flow. In terms of business – it’s how the organization works.

Sometimes we don’t even realize that we’re being closed-minded. Logically it makes sense to think “well it worked before, so it should work now” – or – “it’s not working because you’re not doing it right”. But just as everything around us is constantly changing or evolving, our processes need to change and evolve too and it’s a mistake to not be open-minded to that fact.

I came across a recent interview with Dennis Crowley the other day, where he talked a bit about this topic and how he manages it at foursquare. He explained that sometimes things at foursquare “break” and that many times this is a function of the company’s growth rate – i.e. – growing from a 25 to 50 to now 130 person company in a short period of time. I thought it was very insightful and interesting to here Crowley say honestly (watch the video for his direct quote) – sometimes things just stop working and we have to realize that, figure out why, and change things so that they work again.

Thinking through this has been a reminder to myself that it’s important to stay open-minded to process changes and that just because something worked before or it’s been written down in a book – doesn’t mean it’s always going to work or be the right solution. The goal shouldn’t always be find something that works sufficiently and repeat indefinitely.  It should be find something that works and improve on it as many times as possible.



Venture for America Benefit..

This past Tuesday, I had the privilege of attending the Venture for America (VFA) summer celebration event at the IAC building here in NYC.

VFA has an amazing mission.  Their goal is to create 100,000 new jobs in America by 2025.  What’s even more amazing is how they are going to do it.  VFA recruits talented college graduates, pairs them with early-stage startups, and puts them to work for two years.

VFA believes that by encouraging and supporting more graduates to join startups, help small companies grow into big companies, start new companies of their own, they will be fostering the work that will create jobs in America, develop innovative entrepreneurs, and grow local communities.

The Keynote speaker at the event was Tony Hsieh – author of Delivering Happiness – and one of the most impressive entrepreneurs I can think of.  He spoke about his work with the Downtown Project in Las Vegas and noted that 50% (and growing) of the world now lives in large cities.  Thus, investing in the revitalization of America’s downtowns – is also an investment in improving a great deal of lives and the overall American community.

Which brings us to the best part of VFA!  Those talented young grads that they’ve organized are all going to startups operating in underserved cities around the US.  So Detroit, New Orleans, Las Vegas, and others are getting some of the support they need to grow local startups and rebuild.

Wishing Andrew Yang the best of luck and my applauds for a great program and the work he’s doing with VFA.