Hacker News new | ask | show | jobs
by mahyarm 4613 days ago
I thought everyone knows that it isn't true, it's like a BS marketing talking point. The things most of us in startups work on isn't technically difficult or pushing the envelope, and that alone should point to not having the best people or teams. Because these places will never gain the interest of or the pay the price for the for the very best, which can easily reach $400k/yr starting. The only technically challenging item is scaling a large software service doing relatively simple things, and that happens once you've gotten traction. Once you have traction you can pay for those people.

Is text chat hard? No. Facebook? Nope. Video Chat? Yes that is a bit harder, but still relatively solved. Social _____? Probably not. Any casual video game? No. Salesforce.com? Nope. Zoho? No. Airbnb? Nope. Dropbox? Nope.

The more interesting things are the google self driving car, machine learning and the occulus rift to a point. But those things are few and far between.

5 comments

Yeah I don't want to get too venty because I'm too cynical/pessimistic as it is but..... I'm a professional web engineer now & especially as the cloud hosting universe stabilizes, most stuff seems so trivial. Can still be interesting, but yeah most startup level stuff is solved.

Previously I completed a master's thesis on audio signal processing / machine learning. Trust me, the work I was doing in that world was 1000x more advanced because it was essentially ALL r&d, but you get paid more in today's world to implement CRUD sites at an acceptable flow rate. It's a good way to sharpen some CS skills I was missing, but I think algorithmic development is much more of a dream job.

Can still be interesting, but yeah most startup level stuff is solved.

If you'd said that the challenges facing most start-ups don't involve solving a particularly interesting technical challenge on day one, I'd agree that this was likely.

However, if most start-up level stuff more generally were solved, everyone would be running successful start-ups, which clearly most people aren't.

My personal (albeit naive) belief is that the limiting factors on most startups is a good idea. Start-ups only work when they are based on real consumer desires.

"Necessity is the mother of invention" but what is the mother of a start-up....? There are few who understand this realistically.

The talent is there but where is the business plan? It's not very often you hear a start-up idea that rattles you. If I heard one I'd hop on board just for some stake in the company. Also founder/managers are a pain... I imagine it must suck to be the engineer-slave of an ivy leaguer who is going out to another bar for a fund-raising meeting that will affect your future salary working on their hair-brained idea.

Technical problems being essentially solved has nothing to do with a startup actually succeeding in the market place.
Dropbox wasn't a trivial engineering problem. While making facebook for a couple thousand users isn't too hard, scaling it to hundreds of millions was no trivial feat either.
I was under the impression Dropbox is a UI to Amazon S3. I use them and don't mean to deny it's a slick package. But I could duplicate the entire thing in about a day with inotify and rsync. The scaling is mostly on Amazon.

That said, I must point out that the scaling issues all of these super modern "change the world" companies, such as Twitter and Facebook, have are purely for the purpose of centralizing power. It's a self-inflicted headache. It's great business to be in control of millions of users. But it's a sad state of affairs for the internet in general. We've gone from open, decentralized, and peer-to-peer protocols to one company controlling everything.

There are interesting scaling problems. But Facebook isn't one of them.

> But I could duplicate the entire thing in about a day with inotify and rsync. The scaling is mostly on Amazon.

No, you could duplicate a narrow piece of Dropbox's functionality in a day. You could not even get anywhere near duplicating the product and the service in anything less than months.

Dropbox pretty much uses librsync and, I believe, inotify on Linux. With Amazon S3. That is Dropbox. Literally.

Polishing any product takes time. But that's universal and has nothing to do with engineering. What exactly is non-trivial about Dropbox?

Some of the technical challenges I can think of:

1. Version control.

2. LAN sync.

3. Dropbox probably also does a lot to try and minimize their S3 costs - so probably a good deal of compression/duplication-detection on the backend.

4. Any and all networking issues. Even if using OSS gets you 98% of the way, Dropbox probably gets you 100% of the way.

5. Performance. I don't know what Dropbox is doing, but about a year ago I tested out Google Drive, SkyDrive, Dropbox, and SugarSync. I didn't want to use Dropbox because it gives you the least free storage, but Dropbox was consistently 2x faster than the competition (without using LAN sync). That makes a huge difference so I switched to it, and if Dropbox engineers are beating out Google and Microsoft engineers, they're clearly doing something special.

It's a shame that the "Shit HN Says" Twitter account is dead. This would be a dead cert to end up on there.

In all seriousness, from a highly abstracted view, Dropbox isn't all that complicated. However, the same things are said about numerous other projects. I remember when Stack Overflow took off, and everyone around here said "I could build Stack Overflow in a weekend".

It turns out that, yes, you can build Stack Overflow in a weekend. However, all you've managed to build is a basic Q&A site. What you've missed is practically everything that makes Stack Overflow work. The rep count probably doesn't work as well, the moderator controls aren't there, the OpenID integration isn't there, the markdown controls aren't as sophisticated, it's slower, etc.

I don't have a link to it, but not long ago there was a repost of the original "Show HN" for Dropbox, where there were similar criticisms of how "trivial" Dropbox is to implement. The devil is in the details.

Also, I have to admit that I used to be wayyyy too stoked on scripting languages until I did a thought exercise realizing that the most interesting thing I could then ever do in the web-world is make an RPC to a far more interesting service.

Do you know about Facebook's architecture? I'll give you a hint which was brought to my attention a couple weeks. PHP is sitting on their front end, but trust me it is NOT doing any heavy lifting...

Lately I feel much more like "everything has its place" and I'm not so invested in hack hype. Java I'm seeing is a great language because it's kindof nestled between C++ and the web scripting/framework world. Lots of possibility for unique, almost C++ desktop-software-level but many strong frameworks and libraries for the web as well. And there are a lot of JVM languages that tie neatly together, so there is kindof a well-knit multi-lingual toolkit that is slightly less daunting than working with alien PHP-to-C++ RPCs (though this may be all psychological).

I'm not sure of the implication you're making there, and it confuses me.

Defined 'frontend' in that context? Also, are you referring to the HipHop compiled PHP as the 'backend', or are there some fancy Go/Erlang/Lisp/whatever tricks acting as MQ layers, shuttling data around that I'm not aware of?

I was implying that PHP wasn't doing any of the heavy business logic, but then I re-read some articles (most notably this one) & I'll admit I'm a bit confused.

https://developers.facebook.com/blog/post/2010/02/02/hiphop-...

I WAS referring to PHP as frontend, but based on the article it seems like there may be a lot more HipHop PHP than I suspected, because they mention that it would be too niche to write a ton of C++ code. However, there is this line which I think clarifies somewhat -- "HipHop allows us to write the logic that does the final page assembly in PHP and iterate it quickly while relying on custom back-end services in C++, Erlang, Java, or Python to service the News Feed, search, Chat, and other core parts of the site."

It seems like even though PHP is compiled & heavily utilized, it is still used mostly for page assembly on top of a Service-Oriented Architecture, with services written in C++, Erlang, Java, & Python.

Scaling is not domain complexity. Scaling may require significant technical expertise, but it's a safe problem: you only do it when you need to, which implies traction.
In his post he acknowledged the scaling difficulty, but the point is, having to scale is a good problem to have and you'll be able to afford good engineering at that point since you have "traction".
Scaling a LOLCats database to hundreds of millions of users isn't trivial either.
ha yes but his point is that once these problems reach a non-trivial point the big guns get brought in. It's not the startup team solving them...
Trivial is not necessarily the opposite of difficult though. Solving an easy but non-trivial problem can be done with average engineers, if you a sufficient number of them to get the work done.

This is what happens when a company hires genuinely exceptional people to do easy but non-trivial work:

http://www.quora.com/Working-at-Google-1/Whats-the-worst-par...

I would argue Dropbox probably took quite a bit of serious engineering, especially considering the scale it's at today. I'd pretty much agree with the rest, though.
I think there's something to be said for acknowledging that your team isn't the smartest out there. I don't think being smart is, in and of itself, a guarantor of'success'.

It seems to me that successful business is not just about having the smartest solution, but having the right solution at the right time... and having a thousand other things fall in to place perfectly as well.

Who are these mystical dev-fairies pulling in such salaries? Which sectors? Positions? Companies? I've had my fair share of jobs and I've never run into anyone who made that much as a developer. I'm talking strictly developer, not a PM, not a director.

What kind of people make this money?

HFTs. This story hit HN a couple of months ago:

> A year into his new job he had a job offer from UBS, the Swiss bank, and a promise to bump up his salary to $400,000 a year. Serge didn’t particularly want to leave Goldman Sachs just to go and work at another big Wall Street firm, and so when Goldman offered to match the offer, he stayed.

http://www.vanityfair.com/business/2013/09/michael-lewis-gol...

But yeah, realistically only a few programmers in the world are probably pulling down the kind of salary.

This baffles me a bit. Why would you even want this much money? These sums of money are comfortably beyond anything I could reasonably spend, so after a certain amount it's all moot.

You could live in a nice, cheap country with a good standard of living instead, and spend a tenth of what you make while living very well with your family. People keep wanting more money and what do they do? Get a car. Get a house. Get a second car. Bigger house. Big whoop.

Few people spend their money on experiences, or enjoying their life, because they work too much to have any free time, just so they can go back to their stately home, which becomes "eh, my house" after a month anyway.

My "recipe for success" is "make enough money so you won't have to think about it, make sure you have many good friends, and try to make others happy from time to time". Most people don't even seem to know what makes them happy, really.

Money isn't just for spending, and money isn't just for your personal desires as you seem to imply. You can also invest and be financially independent, free to work on whatever projects you want without ever having to really worry about money again. A lot of money is a form of freedom.

Want to write good secure texting application that works on all major desktop and mobile OSes and make it fully open source? You could do that if you were financially independent. You could also hire people to do so if you wanted to.

Also real estate is expensive in NYC/SF where you would get these kinds of wages.

Money is freedom. Simple.
Also finance machine learning guys making $500k/yr (so I've heard). That also might be HFT.
Which fits with the idea of "pay the price for the for the very best"
I know a guy: several knuth checks, hardcore systems programmer, extraordinarily well read, does advanced math (talking topology), nuclear physics, taught at a respected engineering school. He's being fought over at that level.. Which companies? Theres only the usual suspects who could play on that field