Answer by Anon User:
Ok this is funny: When I was at school at Portland State I had a friend who was sharing an apartment with 3 other guys (we were all foreign students getting a masters degree). They would frequently find urine splattered on the toilet seat after one of them used the restroom. So one day about a month into the quarter they finally decided to confront him. He insisted the toilet seat was not a "seat" but a splash guard to protect the bowls sitting edge from urine so the bowl is not contaminated with urine when you sit on it!
Answer by Adam D'Angelo:
A "good" engineering culture directly benefits a company in a few ways:
- The company gets the ability to hire better engineers. Many of the best engineers prefer to work with other great engineers in a good engineering culture, and that gives the company a recruiting and retention advantage. For an example see:"I figured Google would be better [than AltaVista] because I knew more of the people there, and they seemed like they were more technically savvy."
- Engineers are more productive, independent of their skill. This is a result of better infrastructure that builds up over time, a better codebase, more reuse of others' work, less time spent dealing with technical debt, bugs, and firefighting. The differences here can be huge, like 2-5x over an average company and even more when compared against a particularly bad culture.
- The organization can adapt to change more quickly. This is the result of a lot of small cultural effects adding up. For example, in a good culture it's easy to start a new project and have everyone immediately be on the same page about how code is going to be written, how services will be operated, and what is going to be reused from other projects. It's also easy for engineers to go into a project that's already been finished and extend it to support a new feature.
In terms of business outcomes, the sum of all this makes it possible for the company to build products and features that other companies can't, or get things done faster, keep infrastructure costs lower, stay on top in its market, and break into new markets. Here are some examples I can think of:
- The quality of Gmail in 2004 over other webmail products was a direct result of Google's stronger engineering team and culture.
- MySpace just couldn't keep up with Facebook's product development pace, even when it had a much bigger engineering team. I remember talking to an engineer who worked there who told me about how they had this huge list of regular expressions to try to prevent cross site scripting attacks, and whenever there was a new one they would make a new regex to try to fix it, rather than sanitizing html the right way. Things like that add up to a lot of time wasted that could otherwise go into making a product great.
There is obviously a lot more than engineering ability that goes into making a company successful, and it matters more in some markets than others. If a company's engineering strength is directed toward building things that don't matter, the company will be beaten by a competitor with a worse engineering team that's more efficient at getting outcomes.
To address Amazon: My impression is that Amazon has really good processes and it does a lot of other things well aside from engineering culture that make up for its weakness there. Also, I'm sure it still ends up much better at engineering than Barnes and Noble and most of the other companies it competes against.
Writing a simple Web Crawler
Although I shouldn’t really be procrastinating, writing for hours makes me depressed. Learning a new programming language makes me happy. Hence, for the past 2~3 weeks, I spent like 2~3 hours on Saturdays or Sundays to build a web crawler which I never done before. The crawler was implemented to capture and import posts from my Korean blog to this wordpress blog. In order to do this, I learned a new language, python.
This is what I did:
1. I opened up a http connection using urllib2 module.
2. In order to parse the content of interest, I used BeautifulSoup module. It is built on top of regular expressions and sgml. I can traverse the html tree very easily and can search a node using regular expressions.
3. I dumped it out to a text file in Movable Type format, which was inserted into wordpress import system.
View original post 416 more words
|The crazy lads|
by: Juma Stephen