4 ms·
You haven't been building twitters, have you? (I have, I was in a team that build Jaiku, microblogging service that Google bought in 2007). An average programm
by dirtyaura 13y ago
You haven't been building twitters, have you? (I have, I was in a team that build Jaiku, microblogging service that Google bought in 2007).
An average programmer couldn't build Twitter.
Even with only 100K users, you start to hit interesting scaling problems that are specific to activity streams. (For example, should you use inbox or outbox model to construct the streams). They are well understood now, but they were not well understood in 2006-2007, when Twitter (and Jaiku too) had constant scaling issues.
- ojbyrne 13y ago2 points: 1. Of course an average programmer could build twitter. It would just take a very long time. 2. "Not well understood in 2006-2007" is the key. Its easy to say "I could build blah-blah-blah in a weekend" now. Because that's after the non-average programmers at companies like twitter figured out all the hard problems.
- benjamincburns 13y agoI think you're dead right on point number 2. The reusable components that are pouring out of today's "big data" boom make building simple-but-large services much, much more approachable than even just a few years ago. But point number 1 is a bit like saying "of course you can factor a 2000 digit number into the two primes which created it, it would just take a while." This is an awfully oversimplified way to put it, but without launching into a long diatribe wrought with lots of smaller generalizations, I'll just use one big one: it's been my experience that the average programmer is typically no better than a very buggy compiler for a fairly low-level subset of natural language. I come to this perspective as someone who does a fair amount of hiring for a government contractor. Government contracting is the place where the average to sub-par programmers go to find work. The pay is "good enough" but crappy compared to private sector, and the people you work for range from disgruntled (if you're lucky) to incompetent. But it's a very stable and reliable way to earn a living, as cost-plus contracts have promoted an environment where anyone with a resume can get a job, and where your pay is dictated by how many years you've been in the business (correlated strongly to how old you are). Very few people have the "dive in and solve the problem" mentality that it takes to build something like Twitter, even using bleeding-edge tools. Fortunately we live in a world where the number of people who do have that talent is quite large, it's just that the number of people who don't is much, much larger.
- dirtyaura 13y agoA variant, which is more interesting to think about: Could a single average programmer, starting today with cloud technology available today, build a Twitter clone in 7 years if he would get the current +200M users at the same pace as the original Twitter got? Twitter clone here meaning a replica of Twitter 2013, with all supporting functionality (ad management etc.). I say no, (s)he wouldn't be able to build it.