I've worked with a lot of engineers around the Valley, some who are genuinely competent and some who can fake it pretty well. One trend that I've noticed with alot of really good engineers is that they like to swing their dicks around when it comes to implementation.
You start a project with one of these guys, and the first thing to come up is how MySQL isn't going to scale, and how you're going to have to write your own data store. With that settled, you'll also need your own object-relational mapper, and you might as well make your own web templating language because well, it will fit in better with the architecture.
This, gentlemen, is dick-swinging, and it is the most colossal waste of time for a startup.
Now, it's a well known fact around Northern California that I'm the greatest programmer who ever lived, and I even fell victim to this. At my last startup, we were absolutely convinced that we were building ourselves into a corner by using MySQL, so we wrote our own data store. It started off as an RPC wrapper around some magical key/value store in Erlang (parallelism, fuck yeah), and ended up as a different RPC wrapper around BerkeleyDB. All in all, it went through three major rewrites, and the end product was something that took months to develop and would crash under moderate load.
But hey, it was a cool architecture.
As another small example, again at the last startup I spent a few hours one day writing a feedforward neural network implementation in Java, just to try my hand at implementing an algorithm. Again, a small waste of time, but it was my attitude toward it that signaled a larger problem: I wanted to see how awesome I really was (answer: pretty fuckin' awesome).
It's not just apartment-bound startups that fall victim to this, either. Kosmix, which is a well funded science project that's fooled itself into thinking it can be a major player in search, wrote its own data store in C++. It's basically a clone of Google's GFS because hey, if Google's doing it, then we should too, right? Who knows how much time, energy, and money was wasted on this thing, but that's all time, money, and energy that could go into making their final product not such a joke.
Kosmix falls to a different sword: they are well funded and assume they have all the time in the world. Maybe a serious venture round buys you time, but when you spend it all writing a file system that's not core to your product, you start talking Series C, Series D, and so on.
Fortunately, trench-level engineers aren't concerned with dilution. Oops.
At my current startup, we've got business-focused leadership. We have a good engineering team, and we don't let our hubris get the best of us. There are so few instances where a startup will need to write something like a file system, and we're not one of them.
As an entrepreneur, you should be prideful of your idea, now how big you think your compiler-cock is.
You start a project with one of these guys, and the first thing to come up is how MySQL isn't going to scale, and how you're going to have to write your own data store. With that settled, you'll also need your own object-relational mapper, and you might as well make your own web templating language because well, it will fit in better with the architecture.
This, gentlemen, is dick-swinging, and it is the most colossal waste of time for a startup.
Now, it's a well known fact around Northern California that I'm the greatest programmer who ever lived, and I even fell victim to this. At my last startup, we were absolutely convinced that we were building ourselves into a corner by using MySQL, so we wrote our own data store. It started off as an RPC wrapper around some magical key/value store in Erlang (parallelism, fuck yeah), and ended up as a different RPC wrapper around BerkeleyDB. All in all, it went through three major rewrites, and the end product was something that took months to develop and would crash under moderate load.
But hey, it was a cool architecture.
As another small example, again at the last startup I spent a few hours one day writing a feedforward neural network implementation in Java, just to try my hand at implementing an algorithm. Again, a small waste of time, but it was my attitude toward it that signaled a larger problem: I wanted to see how awesome I really was (answer: pretty fuckin' awesome).
It's not just apartment-bound startups that fall victim to this, either. Kosmix, which is a well funded science project that's fooled itself into thinking it can be a major player in search, wrote its own data store in C++. It's basically a clone of Google's GFS because hey, if Google's doing it, then we should too, right? Who knows how much time, energy, and money was wasted on this thing, but that's all time, money, and energy that could go into making their final product not such a joke.
Kosmix falls to a different sword: they are well funded and assume they have all the time in the world. Maybe a serious venture round buys you time, but when you spend it all writing a file system that's not core to your product, you start talking Series C, Series D, and so on.
Fortunately, trench-level engineers aren't concerned with dilution. Oops.
At my current startup, we've got business-focused leadership. We have a good engineering team, and we don't let our hubris get the best of us. There are so few instances where a startup will need to write something like a file system, and we're not one of them.
As an entrepreneur, you should be prideful of your idea, now how big you think your compiler-cock is.