Hacker News new | past | comments | ask | show | jobs | submit login
Joel Spolsky: A Visit to Microsoft and Google (inc.com)
107 points by twampss on June 9, 2009 | hide | past | favorite | 61 comments



I think there are some interesting comparisons between Microsoft and Google that Joel left unsaid: First, perhaps only a company with 90,000 employees (i.e., bloated) has enough spare resources to built a custom wifi authentication system with temporary passwords, color brochures, etc.

Second: Google's meeting with Joel was put on YouTube, and Microsoft's was...off-the-record? I think this one speaks for itself.

And seriously how can anyone get any real work done with all those meetings all day long?


Google is not immune to those all-day, every day, meetings. Many managers and directors and veeps are very much booked all day every day. It just happens on the business campus which is a few blocks away from where I guess Joel visited.


And seriously how can anyone get any real work done with all those meetings all day long?

Going to meetings all day is considered their "real work".



"At Google, some developers suggested that we create an enterprise edition of Stack Overflow that large organizations could use internally to share and organize important information."

I'm somewhat surprised that Google doesn't offer something like this already. They have more resources than Stack Overflow and organizing information is supposed to be their forte.


This won't be a wide spread thing. In most corporations, people won't want to piss off the boss-man by voting his answer down. Reputation is ego and ego in the work place gets ugly.


I disagree.

I work for a large (65000+ employees) telco company, and our in-house problem/solution reporting database is totally broken. The search function is crap (it's based on predefined keywords, not really on free text). It has a voting system, but the votes are not used to classify the quality of the problems/answers. They are only used to track how active an engineer is browsing the database. You can randomly select problems and write nonsense commnents, the net effect is the same.

With a corporate Stack Overflow there would be no employee/boss conflict, since in my company all the users on a given domain are at the same hierarchy level.

When I discovered Stack Overflow I inmediately thought how good this would be to replace our corporate tool.


And in really big technical organizations, it can be worse than that. It isn't just the boss man that you could tick off. And there would be the stigma of asking a question that your peers could judge you on.


Voting should of course be anonymous, just like it is here. The effect of this would be that votes would be a good measure of reputation because there are no politics involved in the voting, only opinion on whether the answer is good or bad.


I actually had some of the same thoughts thinking how StackOverflow might work in an organization. Hopefully it wouldn't get too bad, but it could bruise some egos to discuss programming problems openly.

Overall, though, I would have liked to see a Stack Overflow inside some of the larger organizations I've worked at.

We're actually pushing into the corporate space with ErrorHelp-- but there's a lot less ego involved there (everyone runs into random unknown errors, really). Answers grow passively rather than being something people have to read each day to provide answers.


Such a system doesn't necessarily have to involve voting.


Yes it does. The whole point is to separate the good answers from the bad answers.


No it does not. Editors can pick the best answers, replacing the voting mechanism.


I've been wondering if there's space for a sort of HN/PivotalTracker mashup, an intranet 'news'/'stories' board for improvised quick-iteration project management.

Story/tasks wouldn't decay with time, but only by being (1) finished; or (2) deprioritized with regard to others. Karma could be two-sided: points for proposing the right things, and (even more) points for actually implementing them.

(There'd be ways to estimate effort; split oversized items; claim/merge items to avoid redundancies; calculate community 'velocity' over time; etc.)

A few anchor project/community managers might have admin powers to pin certain overriding goals at top, or 'dead' digressions, or change the relative payoffs for proposing vs. doing, etc.

That is, what if a community much like HN compulsively hit 'reload' and earned karma not around ephemeral (often attention-abusing) 'news', but instead around incremental goals on a shared project?


How fundamentally different is Google Moderator? You have accounts voting questions up and down.

Add the answer component and that would be it, no?


It has poor searchability. I worked on it and I still wish grievous bodily harm on those who use it for FAQs.

If I had my way, we'd throw away the current GWT implementation for a version that used unobtrusive JS and was a good netizen. Of course, if I had my way all the time, I'd also have a pony.


Companies don't want their employees to connect to the guest WiFi. Google might have configured the WiFi connection manager on their employee workstations to not allow connections to the guest network, and maybe MS though THAT would be a "waste of time," hence the different tact.

Microsoft also probably doesn't want employees to connect their personal devices the the guest WiFi -- very normal behavior.


Google employees can connect to the Guest network. But it's slow and you can't connect to the corporate network (like your work Gmail, Calendar, etc.) so you don't. They just assume you're smart enough to know that.


More importantly, the Federal CALEA wiretapping law basically requires any ISP (including corporations, colleges, and other organizations that provide 'net access to their community) to record the identity of anyone given access to their network so that law enforcement agencies can gain access to usage logs.

The fact that Microsoft chose to conform with the letter of this law is to be expected; rather, the fact that Google's lawyers somehow decided they didn't have to do the same is surprising, at least to me.


Its possible that the argument is that all visitors at Google are recorded and thus those logs are the same as logging network users.

Curious though, I glanced briefly at the wikipedia article ( http://en.wikipedia.org/wiki/Communications_Assistance_for_L... ) and it seems mostly about hardware needing to be CAPABLE of logging, not always logging already. Can you explain your first statement?


My understanding is that CALEA effectively requires you to associate an identity with each active network node, so that requests for a "wiretap" could be addressed more or less in real-time, rather than after the fact. Being able to tap into hardware to observe active network streams is only one piece of the puzzle; you also have to be able to figure out which connections belong the the subject of the wiretap request, which in most cases means associating a name with an IP address.


The specific CALEA statute sections you're referencing are related to the "capability" to log detailed activity--not a mandate to do so outside of the auspices of wiretap warrant.

To limit exposure under common carrier safe harbor, and consequentially insurance premiums, most ISPs maintain only sparse activity logs and flush those on a periodic cycle.

These policies may also differ radically due to compliance with municipal and state laws (CALEA is federal) and/or private contractor facilities where "sensitive, classified, etc." work is undertaken.

To use an analogy, the phone company doesn't/can't record your conversations on a routine basis, merely the initiating and terminating routes. Still, they must have the "capability" of complying with a wiretap's mandates if called-on to do so. Don't get me started on the "warrant less wiretaps" fiasco.

I suspect that Microsoft could just as easily have an open WiFi network, but fine-grained policies go hand-in-hand with their corporate culture. Some would argue that Google's course-grained policies create their own set of problems. For a similar example, look at how hardware provisioning and technical support is done at both companies.


That's exactly what I meant -- they have to have the ability to associate an identity with an IP/active network connections, which usually means recording it at the time that access is first granted. (Doing otherwise usually indicates the to subject of surveillance that they are being watched, which is generally considered undesirable by the watchers.) Noting someone's name along with their DHCP lease is very much not the same thing as recording all traffic to and from that IP.


Interesting. How do coffee shops and airports get this information?


I would presume that most coffee shops have no idea that CALEA even exists. The airport question is a good one, though -- they've obviously pretty security-minded (however poorly they may implement said security), so I would assume they've found some middle ground that allows them to offer "anonymized" access.

Of course, any paid access immediately associates a name with an IP: the person on the credit card used to charge the access.


So you're telling me a big chain like Panera breaks the law and nobody says anything?


Except if you pay with cash.


Google public access has a captive portal requiring you login using your google account.


Google public access is NOT the on-campus Google Wifi.

On campus theres some Wifi network that is open and unrestricted. The public access one has a public portal (and vastly lower coverage in Mountain View last time I checked.)


Not one I've ever used.


normal, but silly.


I've never had a private office with a door. Does it make a difference? I can get into the zone easily enough in the space I share, so I am curious as to what others have found?


I prefer to sit with my users. As you can imagine, this concept is met with a bit of resistance in corporate America.

I want to dwell with them and be a part of their lives. I want to hear them bitch about their apps, their customers and vendors, their bosses, and each other. I want to know what they go through all day every day.

When I sit and suffer with them, the resulting software is always better. All the meetings, prototypes, demos, specs, etc., etc., etc. have never been able to deliver the same knowledge needed to develop their apps.

OTOH, I don't want to sit with other programmers, unless we're working on the same thing at the same time. I don't care about your problems, I have my own.


Interesting point of view. I've had the... luxury... of sitting with end users and I certainly agree with your statement that it produces better software. However, I couldn't see sitting with them all day long, unless the projects themselves were fairly small. I fear that I'd never get anything done, because once the users figure out that you can magically make the software do whatever it needs to, they'll be asking for the moon. Pushing back would only get you so far, I think.

I sit in an office with a pretty fantastic programmer and I've certainly benefited from his knowledge, though I can certainly relate to "I don't care about your problems, I have my own."!


At work I sit about 10 desks away from users. But immediately next to me are programmers (both working with me and are not working with me). Most of my users talk more often and not terribly understanding of breaking a programmers "zone". So they are close enough for necessary feedback and interaction, but not too close. As a programmer, I find programmers are much more quiet and peaceful to work next to. :)


I think it depends on a few different factors especially the sort of person. I have been sensitive to noise and distractions my whole life, and on some days incidental noise drives me nuts and I can't concentrate at all. It's been like this in every position I've had, and I've never had an office door. I have definitely spent days at home so I could get deep into a technical problem without distractions. On the other hand, there are days when I can focus no matter what sort of noise distractions are present.

Also, someone with Asperger syndrome might be sensitive to noise.


In my experience doors most help the developers with the least self control :) We're all social animals. It's easy to get sucked into a coworkers interesting anecdote.

I've given my developers private offices. Each also has a notebook and there are many comfy seating areas. Most spend part of their day working in a social environment, and part working in the peace the 4 walls affords them.


It's nice being able to have some additional control of noise levels and what you generally hear. It's also nice having a space clearly delineated as your own.

On the other hand, interruptions seem worse than they do in a shared environment.


I really miss it. I thought I got more done personally. In the 90's I worked places where most programmers had a door. In the 00's almost no one where I work has a door anymore.


I found it interesting that, unlike Microsoft (and Joel's own company), Google does not give their developers their own private offices.

Are developers at Google as productive as they can be even sharing an office with 3 other people? Does it not matter if you are a certain caliber of programmer that shares an office with others of the same or similar caliber and level?

Perhaps those who work at Google have greater self-discipline and awareness to know when collaborating starts to cross the line into interrupting someone so the need for private offices is not as necessary as with other companies.


The "need" for private offices for developers is based on an evaluation: the cost of interruptions vs the benefit of improved communication among the staff. I doubt there's a "slam-dunk" case to be made for either side.


In PeopleWare authors pose that productivity is the best when people working on the same project sit together, is average when people sit alone and is the worst when people with unrelated tasks sit together.

Ergo, if you are willing to move your "location" as often as you change tasks it's best to sit together.


Or, you make sure that tasks assigned to a group of people stay "related"-- which shouldn't be hard to do, it most large organizations.


And Google makes this pretty easy because your home directory and all of your work lives in the cloud.


Can we please say "on their intranet" instead of the misleading "cloud" buzzword? (FWIW Googlers call it the "intranet" too.)


Can we please say "on their network" instead? That's a perfectly good word that already means "not the whole internet", and we don't need another.


"Intranet" is a pretty standard and inoffensive term for a company-wide network, isn't it?


I was a Google intern...


Oh, well, then buzzword away, o holy Gintern?


I didn't mean to tread on your experience. I should have said "in my experience, Googlers call it the intranet."


> sit together

Does "sit together" mean in an open environment or just in the same hallway within their own offices. I didn't think they specified here.


Google has a different perspective on collaboration. You can see some of it in this Google IO talk: http://code.google.com/events/io/sessions/MythGeniusProgramm...


I don't think they speak for Google there. They're advocating things which are the exact opposite of Google's practices, like doing open-source projects out in the open so people can see your mistakes (compare: Chrome, Wave, Android, GWT).


Can you clarify - what is not open source about Chrome or Android?


I liked the section where he considered stepping back and expanding to different subjects. Reputation and voting systems have added so much to our culture--it seems like a principal advantage of the Web. Google, Twitter, StackOverflow all reward it.

I don't think this has ever happened with Email or Usenet... but wow, imagine that. If Gmail could see which mailing list posts had been starred by other readers, it would save a ton of time.


Anyone have an idea of where he's getting the figure for the number of employees at Google? He says 10,000, but Wikipedia[1] has it at 20k.

[1] http://en.wikipedia.org/w/index.php?title=Google&oldid=2...


I think he either didn't bother to err.. google the number of employees, or just "rounded" to the number of employees that Google had back in the day. Or both.

Very unscrupulous on his side, I must add.


i cant believe inc is running such a blatant ad for stack overflow. I haven't done an in-depth analysis, but i'd wager that 40% of the content of that post was promoting his product. Joel is amazing at leveraging the PR/Marketing value of his writing. Go Joe!

(speaking of Go Joe, that new GI Joe movie looks amazing. I can't believe it is 2 months away)


It seemed like joel was pimping his website. That's true. I mean, it actually seemed obvious to the point of being tacky.


Getting asked to MS and Google to pimp your website is a valid excuse to crow about it, IMO.


Ah, but what is a small businessman to do?




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: