I commented on the last article "Employee 1: Yahoo" [0] regarding interjection of "Hahaha" by the interviewer. Seems it was changed to [Laughter], which seems much more inline and professional.
I missed the "hahaha", but came into this comment section to see if anyone else thought the "Craig : [Laughter]" got awkward from the get-go.
It is phrased like it's a response currently. Very staccato and interrupting the flow of the article.
I'd actually do the opposite and go more candid than professional, since "laughter" isn't quite informative. Perhaps something that looks like it's a side note, and less formal. So maybe;
Except that the entire team hated him. They don't talk about it since his death, likely out of respect, but they were pretty open about him fucking off to Europe and deciding not to show up for a few weeks. They were really angry about him claiming to be a cofounder and insisted that he had very little to do with reddit outside of writing web.py.
Funny how the accepted narrative changes after someone dies.
web.py was not an internal project. Yes, Swartz wrote the framework that they rewrote the site in (before later ditching it), but he did so outside of reddit and, iirc, wrote it before joining reddit.
They ended up rewriting it in Pylons soon after the acquisition. So yeah, it's technically true that he wrote the framework that scaled it to acquisition, but were he not there, they probably would've just written it in Pylons to begin with - it was available around that time, and was fairly popular among YC startups of that vintage (DropBox also started out with Pylons).
But what conclusions are you drawing from that? I think perhaps that might be where you and the OP could find some actual points for discussion vs just throwing facts around.
An early acquisition that he played a pivotal role inducing. They would have been better off without him, so it's hard to call him a founder with a straight face.
I'm sorry if he was some kind of hero of yours that you have to emphasis some trivial contribution he made in the grand scheme of Reddit's success.
My understanding is that reddit "scaled" by putting their infrastructure on top of Memcached's shoulders. While I have no doubt Reddit's grounding in Python allowed them to iterate important early features quickly, it wasn't like web.py was the only way to do that back then.
Not showing up for a few weeks without telling anyone, after collecting your rather large cheque while your "cofounders" bust their ass is likely to up the sodium content, yes.
If Aaron Swartz isn't a cofounder of reddit, then Elon Musk isn't a cofounder of PayPal. [1]
Edit: As far as I can see, the situation is almost exactly the same. Elon Musk's X.com and PayPal merged into PayPal. And Aaron's Infogami and reddit merged into reddit. The only difference I see is that the reddit founders don't like Aaron being a "cofounder". If they were both mergers, then I think it's fair to call both Elon and Aaron cofounders.
1) Reddit and Infogami merged into Not a Bug, not reddit.
2) Musk acted as a cofounder after the merge; Swartz did not. Swartz stuck around for a couple months post-merge then disappeared. So if you want to call him a "reddit cofounder", you can only do so in the loosest terms possible. He wasn't there for the founding and he didn't put in the work, but it says "cofounder" on the company papers.
> because he seemed like a wonderful person to work with.
Don't talk ill of the dead but my interactions with him were less than stellar. I think deep inside he had good intentions but the way he acted made me very angry and upset at times. My opinion on him changed later shortly before his death when he seemed more down to earth but that was years after I was almost mortal enemies with him.
"The thing about that time was we were all learning how to program web apps while we were building them and there wasn’t really a standard operating procedure or anything."
I'm going to have to disagree and say 2005 wasn't all that much "wild west" when writing web apps. Maybe it was for them, but not the enterprise world.
Probably because enterprise was writing the web of 1998 in 2005. Outside it Firefox was gaining traction, web standards movement was in its golden years (IMHO what we have now is a big regression), AJAX was a fresh kid on the block… Fun times.
I'm not at all familiar with Reddit's history, but a quick Google search tells me it was originally written in Lisp and then was rewritten in Python and is still Python to this day.
I don't think Lisp web apps ever became mainstream, and Python web apps were definitely a wild west back then. The enterprise world was using ASP and Java and Cold Fusion.
It would be interesting to hear why they switched from Lisp to Python. Was it difficulty in finding qualified people when the company started to expand, or did they run into some other issue?
Lisp proponents are always telling me how much better software would be if it were all written in Lisp, but it's really hard to find real world examples of it being used in production. It can't just be that most programmers are all just too dumb to understand the beauty of functional programming.
> If Lisp is so great, why did we stop using it? One of the biggest issues was the lack of widely used and tested libraries. Sure, there is a CL library for basically any task, but there is rarely more than one, and often the libraries are not widely used or well documented. Since we're building a site largely by standing on the shoulders of others, this made things a little tougher. There just aren't as many shoulders on which to stand.
> We were already familiar with Python. It's fast, development in Python is fast, and the code is clear. In most cases, the Lisp code translated very easily into Python. Lots of people have written web applications in Python, and there's plenty of code from which to learn. It's been fun so far, so we'll see where it takes us.
> Regardless of Python, reddit was begging for a rewrite. Whether it was the best decision to do it all at once is up for debate, but I'm very pleased at the way it turned out.
Rails didn't exist yet. People were still building from scratch instead of using a framework to get started. It wasn't the "wild west" in that no one was doing it, but it definitely was in terms of ecosystems that had developed around web development frameworks
That's true, even outside of the enterprise (J2EE) world, there were some fairly decent (for the time) and mature frameworks like Apache Struts and Apache Tapestry. You even frontend frameworks like Dojo Toolkit available then.
On one hand, I agree. For example, by late 2003 I was already working with PHP codebases that had adopted a roughly MVC paradigm -- routes mapped to controller objects and methods, active-record like database abstractions, and templates separated from anything but display logic -- and had an interesting optimization and caching setup. This all seemed broadly known as a good way to do things by 2005-ish.
But on the other hand: I'm not convinced this is the beginning and end of architecture considerations. We've still only been writing web apps for a bit over two decades, it's possible we still have some things to learn about how to organize them and get them to perform well. In particular, problems of scale circa 2005 aren't really the same as current problems of scale. There are just More Users on the web doing more things and we're tracking more data. We have different tools for managing all this. We're still figuring out if we like those tools.
And on top of that, we seem to be in the middle of an SPA/browser-as-VM kick that I suspect is going to look at least a little overdone and ill-considered in another five years or so.
This is good info. In 2005, Ajax all the hype but very new, Prototype just came out. script.aculo.us was the first popular library to add fluid interactivity like drag-and-drop to DOM elements. This is a year before jQuery.
On the Java front we had 'Model 2' frameworks like Struts 1. Struts 2 was brand new. Oracle had ADF and pushed it pretty hard. JSF was fairly new and nearly no one used it.
ColdFusion offered a complete package and was actually not terrible. MySpace was written in CF.
There was always ASP.NET.
But if you weren't coding in Java, CF, or ASP, you were using some bespoke not-yet-framework. I'd say 'wild wild west' is an apt description.
These frameworks were not the beginning of understanding how an MVC-ish architecture could be helpful in organizing a web application. They were the coalescing of that understanding into individual instances of re-usable code -- you see these frameworks all popping up across different platforms around 2005 because people understood the principles and benefits, and those principles had already been at work (and under discussion) in applications in the wild.
Most pointedly, 2003 for seeing that in a PHP (4.x!) codebase is not a typo. Zend was definitely not the beginning of MVC being applied with PHP, even if it might have been the highest profile example at its release.
And that's just for MVC. Various other kinds of discipline for separating display output and application logic go back into the 90s.
If the west seemed wild, it's probably more because developers like to homestead than because there weren't any maps pointing to civilization.
MVC is just a pattern, generalized in 1988, and even in websites without frameworks plenty of developers have structured their code accordingly prior to 2005. It is certainly more popular after 2005.
MVC is a buzzword now. It means nothing except that you use the words model view controller somewhere. Initially the observer pattern was an essential part of MVC. You don't see that in web frameworks.
At the time, in late 2005, we were writing in (I believe) python 2.3 and had rolled our own web framework because it was otherwise normal behavior to hook straight into wscgi. "wild west" might have been a bit of an exaggeration, but the available toolkit was certainly pretty bare bones.
It was also quite early in web 2.0, and I still remember when we switched up reddit's frontend to start using prototype.js (which had just come out earlier that year). Being able to use the same ajax call in both IE and Firefox! Magic!
Great series. As a fellow early employee I love for their stories to get told!
> That said, startups have culturally matured in the last ten years and it’s been fun to watch ... What’s really great to see is that all those people who were working 16 hours have now grown into their thirties and realized that, “Oh, sleep is really cool.”
Something I've noticed as well, though I think it is much more-so the people and not the startup culture. I know some younger people in the early stages of their companies and it seems they are still working really hard and devoting a large section of their life to their company. It does seem natural though that when people get a little older they diversify their life a little bit more.
Definitely not startup culture, more a computer/tech thing I think. Because this is accurate for anyone that grew up playing games. Also for LAN parties where initially you'd go 2-3 days without sleep but after a few of them you'd start sleeping.
> Craig : So you were essentially working part-time?
> Chris : Part-time in startup hours but it was like a full-time job. I would normally work from 6 to 2. Then go to sleep, get back up, and do it again.
> You know, your 20s are a magical period of time. I could get by on four or five hours of sleep without any major side effects. Basically it was like that for all of 2006. It was like two full-time jobs.
I dunno about most people but I can't function well on 5 hours sleep. I feel normal but after 2-3 days of that, I just start getting stupid. Things that I'd normally figure out instantly will stump me for ages. I'll find myself staring at my screen thinking "I know this is simple and I know I can do this." If I'm only doing easy stuff I can cruise by, but if I'm working on anything demanding my productivity plummets.
I would've liked to hear about more of his earlier life, pre-cambridge. How a person working on a phd at cambridge happened to have 2 open rooms in their apartment. A lot of what I'd be interested in is how people actually end up getting the ideas, or meeting the people, or being in the position to take the leap to the success that people have had.
A lot of startups are going to this forced-signup model. I'm not a fan (I don't work there anymore), but it does at least make the "funnel" look better on paper, sigh
Joining early stage tech startups is a gamble. Being an early employee at a highly successful company is 99.9% luck. I'd rather hear about the early employees at the hundreds of tire-fire startups without business models that investors sink millions into. I think a lot of unshared knowledge lies in those war-torn employees.
> You need some road rash to understand how to do things
This is assuming there is a guaranteed way to become a successful company.
What the road rash will teach you is probably that starting an IT company right now is more like being a golddigger. It is all gambling, and the VCs are laughing their way to the bank because they know this, and they wisely spread their money.
> I think the thing we learned most of all there was that breaking into travel is really hard. There are a lot of big players and most travel companies aren’t technology companies. I can’t tell you how many times I was on a call and the other person on the phone was referring to their engineering staff as “IT.”
And then they both laugh about it for several lines.
I don't get it. Is IT not what they're doing? I like being called an "engineer" as much as the next coder, but there's been plenty of ink spilled over how modern dev work has none of the discipline and care found in "real" engineering disciplines, which is why shit breaks all the time. Insisting that you do "engineering" instead of IT seems like naive egotism at best.
IT is often used to refer to working with technology in a supporting role in an organization. For example, someone who makes sure the files are backed up and the anti-virus is up to date on the desktops of a company is part of the IT department. Someone in a group that develops software, particularly if it is part of a customer facing product or service, is not considered to be in IT.
I think it comes down to the naming convention in common use, as opposed to the literal meaning of the words.
The reason why they are laughing about it is presumably because the person on the phone is referring to the people that fix the printers, when they should be talking about the people that write the software, and that these are different groups.
In the US at least, "IT" is the support staff that maintains networks, provides staff support, approves/rejects new employee software requests (mostly rejects), etc.
Software developers/engineers design new products for a company. It's a significant difference.
I personally don't mind being called "coder", "programmer", "software developer", or "software engineer" (the last two have been part of my formal titles), but please don't call me "IT".
I'm a coder and I've done all of those things, often at the same job where I was coding. Insisting on a sharply-drawn distinction sounds like it's just a way for coders to tell themselves that they're better than support monkeys.
He got offended by the term "IT" when talking about engineers. In Europe and most of the world that's actually the proper term for an engineering department.
Writing buggy code does not an engineer make. The pervasive, wanton disrespect for the title in the valley and the tech industry at large is absolutely disgusting.
65 comments
[ 2.6 ms ] story [ 128 ms ] threadI commented on the last article "Employee 1: Yahoo" [0] regarding interjection of "Hahaha" by the interviewer. Seems it was changed to [Laughter], which seems much more inline and professional.
[0] https://news.ycombinator.com/item?id=12009360
It is phrased like it's a response currently. Very staccato and interrupting the flow of the article.
I'd actually do the opposite and go more candid than professional, since "laughter" isn't quite informative. Perhaps something that looks like it's a side note, and less formal. So maybe;
(Chris laughs)
(Prompting another laugh from the interviewer)
etc.
(Prompting another laugh from the interviewer)
etc.
I think that's right, the same as in play writing.
Funny how the accepted narrative changes after someone dies.
Edit: Background: https://www.quora.com/Why-did-Aaron-Swartz-and-Steve-Huffman...
Very little to do with it except for writing the framework that scaled it to acquisition? Seems like a fairly important contribution to me.
https://news.ycombinator.com/item?id=51093
I'm sorry if he was some kind of hero of yours that you have to emphasis some trivial contribution he made in the grand scheme of Reddit's success.
https://www.reddit.com/r/todayilearned/comments/d2njs/til_th...
https://plus.google.com/u/0/+AlexisOhanian/posts/HJz9Vd58Wtb
Edit: As far as I can see, the situation is almost exactly the same. Elon Musk's X.com and PayPal merged into PayPal. And Aaron's Infogami and reddit merged into reddit. The only difference I see is that the reddit founders don't like Aaron being a "cofounder". If they were both mergers, then I think it's fair to call both Elon and Aaron cofounders.
[1] https://en.wikipedia.org/wiki/PayPal#Early_history
1) Reddit and Infogami merged into Not a Bug, not reddit.
2) Musk acted as a cofounder after the merge; Swartz did not. Swartz stuck around for a couple months post-merge then disappeared. So if you want to call him a "reddit cofounder", you can only do so in the loosest terms possible. He wasn't there for the founding and he didn't put in the work, but it says "cofounder" on the company papers.
Technically correct... The best kind of correct.
Don't talk ill of the dead but my interactions with him were less than stellar. I think deep inside he had good intentions but the way he acted made me very angry and upset at times. My opinion on him changed later shortly before his death when he seemed more down to earth but that was years after I was almost mortal enemies with him.
I'm going to have to disagree and say 2005 wasn't all that much "wild west" when writing web apps. Maybe it was for them, but not the enterprise world.
I don't think Lisp web apps ever became mainstream, and Python web apps were definitely a wild west back then. The enterprise world was using ASP and Java and Cold Fusion.
Lisp proponents are always telling me how much better software would be if it were all written in Lisp, but it's really hard to find real world examples of it being used in production. It can't just be that most programmers are all just too dumb to understand the beauty of functional programming.
> If Lisp is so great, why did we stop using it? One of the biggest issues was the lack of widely used and tested libraries. Sure, there is a CL library for basically any task, but there is rarely more than one, and often the libraries are not widely used or well documented. Since we're building a site largely by standing on the shoulders of others, this made things a little tougher. There just aren't as many shoulders on which to stand.
> We were already familiar with Python. It's fast, development in Python is fast, and the code is clear. In most cases, the Lisp code translated very easily into Python. Lots of people have written web applications in Python, and there's plenty of code from which to learn. It's been fun so far, so we'll see where it takes us.
> Regardless of Python, reddit was begging for a rewrite. Whether it was the best decision to do it all at once is up for debate, but I'm very pleased at the way it turned out.
But on the other hand: I'm not convinced this is the beginning and end of architecture considerations. We've still only been writing web apps for a bit over two decades, it's possible we still have some things to learn about how to organize them and get them to perform well. In particular, problems of scale circa 2005 aren't really the same as current problems of scale. There are just More Users on the web doing more things and we're tracking more data. We have different tools for managing all this. We're still figuring out if we like those tools.
And on top of that, we seem to be in the middle of an SPA/browser-as-VM kick that I suspect is going to look at least a little overdone and ill-considered in another five years or so.
Ruby on Rails, 2005. That's MVC for ruby.
Zend Framework, 2006. That's MVC for PHP. phpBB, 2001. MVC for PHP. But not generalized, specific usecase only.
Backbone.js, 2010. That's MVC for JS.
Sounds to me like in 2005 the web was pretty wild westy in terms of separating data from views and application logic.
On the Java front we had 'Model 2' frameworks like Struts 1. Struts 2 was brand new. Oracle had ADF and pushed it pretty hard. JSF was fairly new and nearly no one used it.
ColdFusion offered a complete package and was actually not terrible. MySpace was written in CF.
There was always ASP.NET.
But if you weren't coding in Java, CF, or ASP, you were using some bespoke not-yet-framework. I'd say 'wild wild west' is an apt description.
Most pointedly, 2003 for seeing that in a PHP (4.x!) codebase is not a typo. Zend was definitely not the beginning of MVC being applied with PHP, even if it might have been the highest profile example at its release.
And that's just for MVC. Various other kinds of discipline for separating display output and application logic go back into the 90s.
If the west seemed wild, it's probably more because developers like to homestead than because there weren't any maps pointing to civilization.
Struts for Java, 2000.
Spring for Java, 2002.
MVC is just a pattern, generalized in 1988, and even in websites without frameworks plenty of developers have structured their code accordingly prior to 2005. It is certainly more popular after 2005.
It was also quite early in web 2.0, and I still remember when we switched up reddit's frontend to start using prototype.js (which had just come out earlier that year). Being able to use the same ajax call in both IE and Firefox! Magic!
> That said, startups have culturally matured in the last ten years and it’s been fun to watch ... What’s really great to see is that all those people who were working 16 hours have now grown into their thirties and realized that, “Oh, sleep is really cool.”
Something I've noticed as well, though I think it is much more-so the people and not the startup culture. I know some younger people in the early stages of their companies and it seems they are still working really hard and devoting a large section of their life to their company. It does seem natural though that when people get a little older they diversify their life a little bit more.
> Craig : So you were essentially working part-time?
> Chris : Part-time in startup hours but it was like a full-time job. I would normally work from 6 to 2. Then go to sleep, get back up, and do it again.
> You know, your 20s are a magical period of time. I could get by on four or five hours of sleep without any major side effects. Basically it was like that for all of 2006. It was like two full-time jobs.
I agree with your point - it's worth learning about how things go at the failures too.
This is assuming there is a guaranteed way to become a successful company.
What the road rash will teach you is probably that starting an IT company right now is more like being a golddigger. It is all gambling, and the VCs are laughing their way to the bank because they know this, and they wisely spread their money.
For better or worse this seems to capture a lot of early startup experience. It's not all the glory of sunshine, rainbows and TEDx talks.
And then they both laugh about it for several lines.
I don't get it. Is IT not what they're doing? I like being called an "engineer" as much as the next coder, but there's been plenty of ink spilled over how modern dev work has none of the discipline and care found in "real" engineering disciplines, which is why shit breaks all the time. Insisting that you do "engineering" instead of IT seems like naive egotism at best.
I think it comes down to the naming convention in common use, as opposed to the literal meaning of the words.
The reason why they are laughing about it is presumably because the person on the phone is referring to the people that fix the printers, when they should be talking about the people that write the software, and that these are different groups.
Software developers/engineers design new products for a company. It's a significant difference.
I personally don't mind being called "coder", "programmer", "software developer", or "software engineer" (the last two have been part of my formal titles), but please don't call me "IT".