One of our investors told me that one of the reasons he invested in IndexTank was because he’d seen me “go full stack.” I like that phrase, and I take it as a compliment. He was referring to the time back in 1998 when I built an mp3 search engine in C, hosted it on my desktop computer, promoted it until it reached 200k daily queries, and made six figures out of it (all in a matter of months).Being able to “go full stack” is a very good ability to have for an entrepreneur. It’s not necessarily good for other life endeavors (e.g. being an academic researcher, or the CEO of a large corporation). I’m sure it can be very counterproductive in some cases, because it means that you won’t be able to have a multi-year focus on improving one single ability. Even for an entrepreneur, it’s neither necessary not sufficient. My case is that it’s very helpful, and I’ll elaborate a little bit on what “going full stack” means from beginning to end. 1) You have an itch to scratch. It’s possible to start a company building stuff you wouldn’t use but other people want. I prefer to build things I want because it’s easier. If I’m building something I wanted and I’m not using it myself, that’s a red flag. It makes me happy to find myself hacking quick apps with IndexTank once in a while. 2) You can code. This doesn’t mean you are a guru who would make it to the finals of Google Code Jam, or even that you could impress a technical interviewer with your deep knowledge of encryption protocols or graph traversal algorithms. However, you can read a “Learning X Language” book and manage to write a program from scratch. It runs and it does something. It may be ugly and inefficient. You may shudder at the thought that a seasoned programmer might see your code and post a snippet to TheDailyWTF. It doesn’t matter, it works and you are ready to try to build a business. 3) You understand people. It’s not enough to create something you want, other people have to want it too if it has a chance to become a business. You can sense frustration from people who are trying to do something and get on with their lives, even though they don’t care about technology. You can empathize with them. I don’t care if a bottle opener is well crafted or pretty, I just want to open the damn beer! Do you have one? I’ll pay a couple bucks or whatever. 4) You can make things “not too ugly.” A designer may cringe when seeing Craiglist, but it has been successful for many years despite not being beautiful. There is a threshold of ugliness that makes people ignore a product because they can’t stand to look at it, Craiglist is clearly on the right side of it (perhaps barely). Our brains evolved that way. Do you use any sites made in Comic Sans? 5) You can put the pieces together. Coding is not enough, you need to be able to set up your product or service somewhere and make it available for people to use. Today that’s easy, in the case of web apps all you need to do is know how to deploy to the cloud and make sure your stuff doesn’t crash too much. 6) You can promote your stuff. Some young hacker guns believe that creating something awesome is good enough. Sometimes that’s the case, but more often it is the squeaky wheel that gets the grease. There are plenty of stories of Silicon Valley startups that had great technology but could not figure out how to get it in front of the right people at the right time. For example… um, well, you get my point. Because you don’t have deep pockets you’ll have to resort to guerrilla marketing tactics. This is a lot of fun (who doesn’t like the thrill of seeing a blog post get lots of retweets or upvotes on social news sites), but you can’t do it willy-nilly. This leads to the next point. 7) You can communicate. You don’t need to be a motivational speaker, but you have to be able to present your ideas to an audience. You must be able to tell a story both orally and in writing. You have to put yourself in the place of the listener. Are you still reading this? Are you bored? If so, I’m failing. OMG ZOMBIES! MICHAEL BAY!!! Ok, moving on. 8) You can sell. Obviously this depends on being able to communicate, but it’s more. You must not be shy about asking for money. You must think of your product not in terms of what it cost you to produce but in terms of the value it gives to your customers. What alternatives do they have? Will they do it themselves? Why did they come to you? Why did they listen to you? This seems daunting to a young hacker but it isn’t. If you are building something good, selling it is just a matter of spending time paying attention and listening. Read “How to Win Friends & Influence People.” 9) AND MOST IMPORTANTLY: You enjoy the whole process. None of the above feels like a horrible burden. Some things may not be as interesting as others (OH NOES ANOTHER SALES CALL!!), but the prospect of doing *whatever it takes* to be successful is exciting to you.
In case you haven’t heard of BitCoin, it’s one of those concepts straight out of science fiction books from late last century. Untraceable digital cash that’s not controlled by a central agency such as a government. Jason Calacanis thinks it’s the most dangerous project he’s ever seen.
Bitcoin is a P2P currency that could topple governments, destabilize economies and create uncontrollable global bazaars for contraband.
I have a deep respect for Amazon as a company. They have been consistently kicking ass for over a decade. They had a long-term vision and stuck to it while everyone else was out chasing the next buzzwordy fad. It worked. Moreover, they are not a one-trick-pony like Google so far (to be fair, the No Evil company's pony is more like a galloping flame-breathing dinosaur but still).
Las Vegas is not known as a beacon of honesty and trust in the world, let’s put it that way. I went there last weekend to attend a rock climbing festival, and I stayed at one of the well-known casino/hotel combos. I checked in to my room and I found this little card on the night stand:
I just saw this poston Hacker News, and I thought I’d write my answer here. Disclaimer: I don’t know if I am (or ever was) a hardcore back-end developer. I did make money for a long time doing web-scale development work for a bunch of companies.
- A CGI program written in C running under Apache that would process queries and call system(“/bin/grep”) over a file containing ftp links to mp3 files.
- An ftp spider called by a cron job that would go through a list of known sites, list the mp3 files there and guess if the site had “unlimited access” or if it required an upload/download/ratio.
Recently I switched from my old Macbook (first unibody version, late 2008) to the new Macbook Air. The main difference in terms of specs as far as I’m concerned is the disk, as the cpu and memory are virtually the same. The old Macbook had a 5400 rpm Fujitsu drive, the Macbook Air has an Apple TS256C SSD.
Technology ecosystems – most business markets, actually — have network effects. And that means that the only rank to have, as an ecosystem, is first place. Best in the world.
- San Francisco Bay Area – startups
- Hollywood – film
- New York – finance
- Detroit – car industry (disregard the current state of affairs)
- Cleveland – well…
[the crowd 'boos']
Derek Smalls: But nobody rocks like…
[looks on the back of his guitar where he has placed a reminder of the name of the town they're playing in]
Derek Smalls: Springfield!
If you are on Twitter, there is a chance you follow the Dalai Lama or have seen one of his cogitations retweeted by his ever-growing following. If you're like me you may think he actually runs a factory of fortune cookies, or that he wrote an advanced phrase regurgitation algorithm.
Generalizations almost always have exceptions. In this case, the exception is perhaps the majority of instances. If you are going to make the claim that the best option for an engineer is to join a startup, you’d better have compelling arguments.
- Startups change all the time. You will work on dead ends, and it will be frustrating.
- You may have to take off you engineer hat. Sometimes the company needs customer support. Or extra marketing, or sysadmin/operations. Or sales. Sometimes you have to first sell things you don’t have, and then build a crappy, I-hope-nobody-sees-this-code prototype.
- Your skills may become irrelevant if the company pivots. Say you are an expert in information retrieval and the company morphs from a technology vendor to a user destination site. You will be asked to make the website prettier, to optimize load speeds or to write blog posts.
- You will have stability. If you are hired by Oracle or Google to improve the garbage collection algorithms of the JVM or optimize where to display certain types of ads, chances are you’ll be able to work on this specific problem for long enough to accomplish something.
- You will work reasonable hours that will allow you try being a “well-rounded person.”
- You won’t have a lot of impact on whether the company lives or dies. Whether this is good or bad depends on your personality.
At the Southwest SFO check-in counter a few minutes ago. The desk guy tells me that my bouldering pads are oversized: each one is 67 linear inches (width, length and height added together) and the maximum allowed is 62. He'll have to charge me $50 per item. I smile, beg for mercy, he won't budge. Ok, you got me.