Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Google Businesses The Internet

Software Development Practices At Google 246

prostoalex writes "It's widely known that Google allows its engineers to spend 20% of paid work time on personal projects (that are nevertheless considered property of the company). But how does the practice actually work? Joe Beda provides a helpful insight in his blog, pointing out other interesting software development practices at Google. The code database is open for everyone, the snippets and pieces are documented and one is encouraged to re-use existing code. The intranet is transparent to the max and the company accepts the fact that there's more than way to accomplish something, so a better method is always welcomed. Interesting to note that just like Hawaiian shirt days in Office Space, the 20% per projects are "actively encouraged" - Joe suspects his review ratings might slip if he doesn't have one soon."
This discussion has been archived. No new comments can be posted.

Software Development Practices At Google

Comments Filter:
  • by winkydink ( 650484 ) * <sv.dude@gmail.com> on Friday March 25, 2005 @06:30PM (#12050127) Homepage Journal
    Here [igtc.com]
  • Personal projects? (Score:5, Interesting)

    by thundercatslair ( 809424 ) on Friday March 25, 2005 @06:31PM (#12050131)
    So you work on your personal project then google owns it? It seems like it would be more worthwhile to do them on your own time then.
    • by Rei ( 128717 ) on Friday March 25, 2005 @06:33PM (#12050158) Homepage
      You're paid to do it on company time, though. If you want to own it, do it on your own time and pick something else for company time.
      • by kindbud ( 90044 )
        If you want to own it, do it on your own time and pick something else for company time.

        That sort of defeats the purpose, doesn't it? If the employee does his real personal project on his own time, and a fake personal project on company time, he has cheated Google out of what they expected, hasn't he?
      • by winkydink ( 650484 ) * <sv.dude@gmail.com> on Friday March 25, 2005 @06:50PM (#12050317) Homepage Journal
        Unless you're extremely careful about documenting how & when you spent time on your personal project that you're working on in your own time, chances are Google owns that too (based on the IP agreements I've read in the Valley).
        • by AuMatar ( 183847 ) on Friday March 25, 2005 @07:17PM (#12050511)
          Except California law states that if you do it on your own time and on your own equipment, you own it. Its not legal to request an employee to sign that away, and is not enforcable. Burden of proof is on the employer to prove the employee did it on work time, rather than the reverse. In this state those IP agreements are a scare tactic, nothing more.
          • by winkydink ( 650484 ) * <sv.dude@gmail.com> on Friday March 25, 2005 @07:32PM (#12050604) Homepage Journal
            You do, of course, have to pay to defend yourself if sued. One assumes Google can afford it, can you?

            Ever connect to your home account from work? Leave a PuTTY window open all day? Remember, it's a judge with a law degree who'll be making the decision, not a geek with a BSCS.
            • I don't connect to my work from home. Ever. If its not important enough for me to drive in, its not important enough for me to work on.

              Thats besides the point though. If a large corps wants to try and sue you into submission, they can with or without a contract, and with or without a real case. They can make shit up and claim you stole their code if they want. Its not worth worrying about, because there's nothing you can do to avoid it.
            • by koreth ( 409849 ) on Friday March 25, 2005 @10:01PM (#12051457)
              One assumes Google can afford it, can you?

              I don't think Google can afford it, actually. Financially, of course they can -- but consider how carefully they've cultivated an image as a place where self-motivated, super-intelligent people are welcomed with open arms. They are pretty clearly following a management philosophy that says, "Hire the best and smartest people you can find, and get out of their way."

              Suing an employee to gain ownership of a personal-time project would be a serious blow to their future recruiting efforts and would cost them untold amounts of geek cred. It's hard to see what kind of personal after-hours project would be worth enough to risk the huge damage such a suit would do to Google's brand name. Even if they win, they lose.

              The only way they'd do it is if someone fraudulently claimed that a company-sponsored project had nothing to do with Google. In which case that person is kind of asking for it anyway.

          • by 3770 ( 560838 )
            Does anyone know if the same is true in Texas?
          • by stewby18 ( 594952 ) on Saturday March 26, 2005 @01:02AM (#12052372)

            Except California law states that if you do it on your own time and on your own equipment, you own it. Its not legal to request an employee to sign that away, and is not enforcable. Burden of proof is on the employer to prove the employee did it on work time, rather than the reverse. In this state those IP agreements are a scare tactic, nothing more.

            No, that's not at all true. The first exception in CA Labor Code Section 2870 says it doesn't apply to inventions which:

            Relate at the time of conception or reduction to practice of the invention to the employer's business, or actual or demonstrably anticipated research or development of the employer;

            (Feel fre to Check it yourself [findlaw.com].)

            If you work for a large software company, that covers a *lot* of ground.

      • Even if you do it on your own time, they still own it unless they give you a release or you declared it when you began your employment..
    • by yitzhak ( 720512 ) on Friday March 25, 2005 @06:37PM (#12050193) Homepage
      It's not just getting paid to do it - having access to Google's codebase and infrastructure would allow you to do "pet projects" that simply wouldn't be possible on your own.
    • Not so... (Score:3, Insightful)

      That assumes that you want to own it. Think open source type stuff. Even if you wanted to 'own' something like that, you can't, due to GPL.

      I like to write games in my free time, but most are just sort of practice platforms to try differing things out, not to market. If I could do something like that, I'd do it in a heartbeat. I write stuff for my own personal useage, so if Google wanted to 'own' the code, I would care less.
    • For real. Google's got the advantage here. Give employees 20% of their time to put on random personal projects. It makes them happy, and makes people want to work for Google. And by retaining ownership, Google will make all the profits off it. I'm not sure I would do it if I was at google.

      At least, I'd rather see them leave 20% ownership of the product to the employee. Then, the employee that created it/built it can still sell the rest to google, or to the highest bidder, etc.
      • by Rei ( 128717 ) on Friday March 25, 2005 @07:07PM (#12050454) Homepage
        But the thing is... you're getting paid, to do something that you want. If there's nothing that you want to do that you aren't willing to relinquish copyright on, then do something that you're not interested in. At the very worst, it's no worse than working at your average business, where you work 100% of the time on some specific corporate project; at best, it's a lot better, since you have a degree of freedom.

        I have trouble comprehending how people here feel that it's a bad thing to give people a choice on what project they're going to work on but not have ownership over, as opposed to having no choice as to what project they're going to work on and not have ownership over.
      • Reminds me of King Solomon. It's a logistical nightmare. Half a baby or 20% of an idea - it would be madness to do it that way.
    • by ackthpt ( 218170 ) * on Friday March 25, 2005 @06:38PM (#12050205) Homepage Journal
      So you work on your personal project then google owns it? It seems like it would be more worthwhile to do them on your own time then.

      Get ready, this may come as a shock, but some people actually do contribute to their employer's welfare, because they realize what's good for their employer is good for them. I can see where people who feel unfriendly to an employer would develop their own special projects at home, especially if morale has sunk pretty low at the workplace or the company doesn't seem to be fairing well and the employee only has a job to lose, rather than an idea which would be sold off in a portfolio of patents/copyrights.

      As many people at Google have shares in the company and stand to gain much more, I can see where they may kick in some good ideas, especially if they wouldn't have much of an opportunity of developing them further wihtout quitting and raising some venture capital and hiring a bunch of employees (who may wish to withhold their own best efforts) into a startup.

      • What's good for my employer is good for them. If it's good for me, that's a nice side effect that gives them a little internal P.R.

        I give my employer a little less than one third of my life, and they give me a paycheck. I owe them no more than what's in my contract and vice versa.

        I work for a huge multi-national, though, and own no stock in the company. Shares in a relatively small corp like google are worth contributing to. Here, I'd just be one of the hundred million or so meaningless shareholders.
        • by aldoman ( 670791 )
          Google is not a 'relatively small corp'. It is worth more than both Ford and GM.

          I think people do forget that Google is not a little project from two students. It's a huge business. I think it says a lot about our culture and society that Google, essentially nothing more than an advanced information filter, is worth more than the manufacturers of the thing that changed transportation and human contact forever. It just really does show how much information is worth these days.
          • I didn't mean it's worth less, I meant that it is smaller than my employer. Trust me - Google is definitely smaller than my employer, and has fewer shareholders.
          • I think you mean,

            It
            s future earnings potential is worth more than that of both Ford and GM In the estimation of rich guys and holding companies that can usually afford to eat the loss if they're wrong
            I wish more people would get a clue about how the stock market works.
    • Since you are programming something you need (itching your own scratch), you get the benefits of your program immediately, you may get the help of other Googlers on your project, and you get paid. Not to mention a supercomputer grid to do some compilation ;)

      What also arises is the ability of Google to integrate your wonderful project into their codebase if needed. Say you make a meta-tag scraper thing, or some other seemingly useless diddy, and then Google finds a good use for it. They test it out (but it
    • I was a web developer back in the early days when our company was trying to figure out the whole "Intranet" thing. I was lucky enough to have the time to crank out what I thought might be some useful general tools such as a survey builder and form builder.

      To this day, those basic tools have become central to our business and saved huge sums of money. Shucks, the paper costs associated with printing, distributing, and analyzing surveys were tens of thousands of dollars each year.

      In general, I think t
    • Google goes along the 'new economy' lines of thinking. If they make money as a company, everyone benefits, and since everyone benefits everyone stays and works together to benefit more. Think about working in a big corporation where it was a huge team, and everyone loved working there.

      Done dreaming? Well, that's what GOOG wants to sell themselves as. If there were a company which had no politics, no minor empires, little ambition but to do a good job, and everyone was going to have enough for sure, th
  • by Nevtje(hr ( 869571 ) on Friday March 25, 2005 @06:34PM (#12050161)
    Hang on... we all know majority spend 20% of their time on porn, but labelling it "personal projects".... yeah, could work as an excuse for filling in the efficiency void :)
  • Gnarly dude!

    What is this... a 1980s BMX article? ;)

  • career impact? (Score:3, Insightful)

    by kin_korn_karn ( 466864 ) on Friday March 25, 2005 @06:34PM (#12050164) Homepage
    The flip side to their encouragement of extensive code-sharing is, how does a young programmer make a name for himself at Google? In my opinion, a system that merely strings prefab parts together is not nearly the accomplishment that a from-scratch system is. If everything you are assigned to do is already written, then what have YOU done, other than figure out other peoples' APIs?

    Not that that can't be challenging, but IMO smart people do things their own way, not someone else's, because their way is better.

    And here comes the cavalcade of leeches spouting "smart people don't reinvent the wheel.."
    • Re:career impact? (Score:5, Insightful)

      by Homology ( 639438 ) on Friday March 25, 2005 @06:40PM (#12050228)
      The flip side to their encouragement of extensive code-sharing is, how does a young programmer make a name for himself at Google? In my opinion, a system that merely strings prefab parts together is not nearly the accomplishment that a from-scratch system is. If everything you are assigned to do is already written, then what have YOU done, other than figure out other peoples' APIs?

      Exactly! So when I needed to add some database capability to a program at work, the first thing I did was to design and implement an ACID compliant database with replication support!

      • The flipside is that you can make a name for yourself by making stuff that's simple, fast and "just works"

      • I'll tell you how a young programmer could make a name for him or her self at Google: add a script to the home page that when "I'm feeling lucky" is clicked gives the would be searcher the finger. I guarantee you wouldn't soon be forgotten.
    • Re:career impact? (Score:5, Insightful)

      by oGMo ( 379 ) on Friday March 25, 2005 @06:41PM (#12050232)
      And here comes the cavalcade of leeches spouting "smart people don't reinvent the wheel.."

      Smart people find wheels that haven't been invented.

    • And here comes the cavalcade of leeches spouting "smart people don't reinvent the wheel.."

      Smart people don't reinvent.....uh, damn.

      That was some sort of jedi mind tick wasn't it?
    • Re:career impact? (Score:4, Insightful)

      by Rylz ( 868268 ) on Friday March 25, 2005 @06:43PM (#12050256) Journal
      Google probably doesn't care about how a young programmer could make a name for himself. They just want to create the most productive environment possible, not one in which code has to be rewritten dozens or hundreds of times. As for a smart programmer having a better way to do something, if this is so, she's likely to go ahead and change something in the universal code base, since everything is apparently transparent.
    • And here comes the cavalcade of leeches spouting "smart people don't reinvent the wheel.."

      You used an already existing language - English - to post this article. You leech.
    • how does a young programmer make a name for himself at Google

      How, then, did Isaac Newton make a name for himself? By standing on the shoulders of giants."

      He had a host of mathematical notations (and if you think THAT'S nothing, try doing calculus using only words.) There were already techniques for finding what we would call the first derivative for most functions known at the time, as well as for finding the area under curves. The planets were already known to move in ellipses, and Galileo already had f
  • by OsirisX11 ( 598587 ) on Friday March 25, 2005 @06:36PM (#12050190)
    What if you only did 19%?
    Or 18%? 17%? Where do they start saying..
    "hey...you need to work less on what you are supposed to and more on your side project."
    • The idea of 20% is 1 day per week (1/5). Not sure if one specific day is recommended (friday?).
    • by ackthpt ( 218170 ) * on Friday March 25, 2005 @07:07PM (#12050453) Homepage Journal
      What if you only did 19%? Or 18%? 17%? Where do they start saying.. "hey...you need to work less on what you are supposed to and more on your side project."

      Let's consider this...

      Manager: Hey, welcome to our team, we're all going to be working on a great, exciting project! Are you all looking forward to a fun challenge that can add cool new features and attract more customers?
      Employee: [Yeah, right, exciting for you, but not for me, mister millionaire manager.] Yeah.
      Manager: Excellent! Ok, we've all got new workstations, the latest and greatest, installed with all the tools you should need, but if you need anything else just scribble it down and zap it over to me, I want to make sure you have everything you need.
      Employee: [Yeah, everything you need to squeeze every last drop of blood out of me, you capitalist pig.] Ok.
      Manager: Further, don't worry about your hours, come in late work late, come in early leave early, whatever, just so long as you can all make necessary meetings and hook up with each other when you need to.
      Employee: [Yeah, you'd really like it if I came in early and left late, mister exploiter.] Cool.
      Manager: And I'll have a caterer bring you lunches, snacks and drinks, whatever you like, just jot it down and I'll add to the list. Don't forget to take breaks now and then, we don't want anyone to burn out.
      Employee: [Why not, because then you'd have to go find some other guy to wring the life out of?]
      Manager: Oh, and one last thing, we did really well last quarter and everyone will get an additional bonus in their check. We'll also throw a party on Saturday where you can all kick back and have some brews and listen to a live band and bring your kids for a pool party and lots and lots of food.
      Employee: [You'd just like me to slave away on things and then choke on damn eggroll, wouldn't you, you bastard.] Wow!
      Manager: Carsten, you ok? You look a bit down?
      Employee: [Yeah, trodden under your oppressive boot.] Oh, I'm fine.
      Manager: Ok... but why don't you take the rest of the day off, have a long weekend. Heck here's some tickets to see the Warriors, if you can't use them, pass them to someone else.
      Employee: [You'd like that, wouldn't you, me sitting in the third row just as a fight breaks out and I get mauled by some genetic freak.] Uh, thanks.
      Yeah, I can see how working for such a place could suck...
      • Funny? It is more like insightful... I was talking to a colleague (a part-time student researcher) about why he should be full time (he spends all the time at the university anyway), and his logic was that "I don't need the money now, and if I get more money, I wouldn't know what to do with it, so I may go crazy with wanting more and more money." Coming from an early twenties kid, is is surely quite thought provoking.

        I am sure there would be the opposites of this kid, who will always be bitter irrespective
  • My 20% time (Score:5, Interesting)

    by Steven Edwards ( 677151 ) on Friday March 25, 2005 @06:37PM (#12050195)
    If I was at google I would spend my time working on

    1. Voice to search features
    2. Image searching features for iPaqs and the like to take images and search google.
    3. A better AI for being able to understand end user questions.

    My father in law is a farmer and lost most of his crop last year because the local university took 6 weeks to get back with him and tell him what was eating his crops. If instead he has a iPaq hooked up to google with a camra and speach search software he could have said "Hey google what the hell is this yellow stuff in the picture eating my plants"
  • I personally think that it should be encouraged to continue to break the monotony of repetitive processes, and continue the learning/experimentation process, in between projects, if at all possible.

    The development process can never be fully mastered, as it continuosly changes with technology, time, as well as creativity.

    To hinder the development process to 'work with what we have now, and ignore what else is available', is obviously limiting to the potential growth of the company.
  • How many pieces of flair do they have to wear?
    • by killjoe ( 766577 ) on Friday March 25, 2005 @07:14PM (#12050496)
      It's a joke but...

      Most companies start out this way. Friendly, open, honest, exciting. Then the company start growing and soon you no longer know the name of everybody who works there. Soon after that the management will turn over and they will bring in the CPAs. The CPAs will start talking about shareholder value and write vision statements. About six months to a year after that somebody will pull you aside and start talking about your flair.

      The insane thing is that all the smart people will leave as soon as the vision statement gets written. Those people can get jobs anywhere. The mediocre people will run the company from that point on but by now the company is so large it won't matter. Everything will take ten times longer, customer service will suffer, employees won't give a damn and yet the company will still somehow survive.

      I can't explain it but I have seen it a few times now.
      • The CPAs? Are you kidding? Or did you mean MBAs? Because I have a hard time seeing how certified public accountants would direct a company to focus on shareholder value rather than employee morale or product quality or innovation. Certified public accountants don't write vision statements; that's the executive committee (at their $2000/day offsite).

        I can't explain it but I have seen it a few times now.

        Maybe you should stick to the watching and stay away from the explaining, then.
  • by rice_burners_suck ( 243660 ) on Friday March 25, 2005 @06:45PM (#12050279)
    It's very interesting and refreshing to see a technology company that is actually run, as a business, in as innovative a fashion as its programs do from a technical perspective. And most surprising is that Google is actually quite successful. Companies like that can be counted on perhaps one hand.

    But one does have to remember one thing: It's not easy to make a company succeed in this fashion. Sometimes, as a manager, one wants to give one's employees everything, but one simply can't because of lack of resources. At Google, that isn't quite as large a problem, and they have the ability to perform some very long-range thinking and innovation, because their commercial success is giving them the freedom to do so. Their annual revenue is in the billions.

    I would say that Apple is also quite innovative in quite the same respect, though that will be highly debated, as is Wolfram Research, which will probably not be debated very much.

    Business that treat their employees like crap will ultimately lose. Businesses that are innovative in every respect, including business practice itself, don't have guaranteed success, but those that do succeed will do so in large quantities and the people who work there will have great fun in the process.

    • Google has an advantage in supporting the pet projects of employees that they're a software company. It doesn't cost a lot to make the whole codebase accessible to employees to play with (unlike, for example, giving employees access to hardware fabrication or something). As for the time, I wouldn't be surprised if Google gets just as much work on the assigned projects out of their employees as other companies do, simply because the 20% for pet projects comes primarily out of time people usually spend bored
  • by osewa77 ( 603622 ) <naijasms@NOspaM.gmail.com> on Friday March 25, 2005 @06:48PM (#12050300) Homepage
    "You're fired for blogging!"
  • by boomgopher ( 627124 ) on Friday March 25, 2005 @06:48PM (#12050303) Journal
    Shit, let me work on whatever part of out product I want for 20% of my time, and I could add some nice improvements. As it stands, the energy burnt off trying to get directors, product managers, etc to approve anything makes it too difficult...

  • Like this is new.. (Score:3, Interesting)

    by Anonymous Coward on Friday March 25, 2005 @06:50PM (#12050320)
    Pre-Carly HP had similar requirements in the division I worked at. You were not just encouraged, you were expected to do experiment and perform pet projects and report the results.

    In fact, EVERY Place I have worked my 25 year professional career (3 companies) had this same policy. One place the number was 10%, the other two, including HP, it was 20%.

    Nothing to see here. Move along. Google is not innovating in this case.

    • I work at HP. Its 0% here. I wouldn't have the time to work on a side project if I wanted to. Its considered a coup if I have time to put down my defect list and requirements list and do architecture improvement for a few hours.
  • by jparker ( 105202 ) on Friday March 25, 2005 @06:53PM (#12050351) Homepage
    At GDC 2003 or 2004 (can't quite recall) Fred Brooks (author of The Mythical Man Month, in case you're here by mistake) gave the programming keynote, and one of his suggestions was exactly this: to give your employees 20% of their time to work on whatever they want. He mentioned the benefits to morale, retention, etc., but he said the main benefit was the freedom to find new methods and new technologies. Pounding away on the day-to-day coding will only give you incremental benefits, but these 20% projects could provide the germ for an entire new product or business model. It's basically making everyone part of the R&D department.

    Also, if you have the chance, I highly recommend seeing him speak. In addition to being obviously brilliant, he's also a very entertaining and amusing speaker.
  • A damn good idea (Score:5, Insightful)

    by the eric conspiracy ( 20178 ) on Friday March 25, 2005 @06:54PM (#12050352)
    I really like the concept of 20% for projects like this. Some other companies like 3M have tried it and benefitted tremendously both in terms of employee engagement and in innovative products.

  • The 20% projects work well in my experience. Sometimes you have to take the initiative to make sure you take that time, but you usually end up doing fun, search-y type stuff. And you end up meeting other people from different parts of Google, and getting familiar with new/different bits of the Google code base. It's also a good way to break out of a rut and make sure that you think about "bigger picture" issues. If you end up crunching on an important project, you can also bank that 20% time and use it up l
  • ...on this [rubyforge.org].

    It's already paid off - I've gotten some good input from outside folks, and our company can use it however because it's under a BSD license. Everybody wins!
  • by mcguyver ( 589810 ) on Friday March 25, 2005 @07:01PM (#12050404) Homepage
    If slashdot were owned by a Google employee then that would explain why 20% of the stories that run on /. are about Google.

    /bye karma
  • Reuse! (Score:4, Insightful)

    by 14erCleaner ( 745600 ) <FourteenerCleaner@yahoo.com> on Friday March 25, 2005 @07:04PM (#12050424) Homepage Journal
    Wow, they seem to actually have code reuse company-wide!

    My personal experience with this: when I was working for a big multinational corporation a few years ago, the VP of my group declared that we would henceforth be reusing software components. A place was designated for placing the reusable pieces that would be reused in the future.

    Needless to say, the "reuse repository" sat their empty, until it was finally forgotten and presumably disposed of.

    I worked on a number of projects there, and I tended to copy useful bits from one to the other. I think I probably reused more software than the whole rest of the organization put together.

    My conclusion from this: reuse is really hard to implement, unless you trust the source of the code you're reusing.

    I suspect that Google can get it to work, mostly, because they get the cream of the crop programmers, so the stuff they have to share is really, really good. I kind of wish I could work somewhere like that...sigh...

    • If the "reuse repository" was otherwise unused, why didn't you use it for the bits you copied from one project to another? I'd guess that the rest of the organization was also reusing their code by copying it from project to project without anybody knowing.

      One problem with that general plan is that you don't reuse code in the future; you reuse code from the past. When you write something, you don't know if it is going to be useful in projects which haven't started yet. You find out that something is reusea
  • by CherniyVolk ( 513591 ) on Friday March 25, 2005 @07:35PM (#12050619)

    The assembly line was created, thanks to Henry Ford. During that time, machines assisted less qualified humans to complete complex tasks. Nolonger will a master shoe maker be needed, an idiot can inspect components down an assembly line.

    During this time, a person who could screw ten screws into a peace of metal within a particular time frame could directly be translated to production and in turn relate to prospective profits. (Time cards were probably born.)

    During the dawn of industrialism, economists and businessmen developed optimal management techniques in accordance to this model of production. It is a fixed model, you peace thirty components together in a day, that's thirty peaces of merchandise out the door; management is now tasked with optimizing output from workers.

    Today, a lot of work is more what I call, artistic. A software developer or engineer has to create an idea and apply it. This is a far cry from simply grabbing a screw and twisting it into a peace of metal; there is much more involved and worse there is no reasonable time frame or consistancy in production.

    The management techniques, economists, the business classes in schools and universities have not evolved from an assembly line managment goals to techniques to accomodate artistic development.

    IBM tried many years ago. They tried to pay a developer by how many lines of code were written, we all know this leads to utter failure in quality design and robustness.

    My point is, most companies are NOT going to adopt this model of management. They do not make sense of permitting a worker to spend 20% of his time on a personal project, becuase to them, that's 20% of the time away from production of their interests. The math hasn't been developed, and frankly, everything todays managers and businessmen were taught in school about management and business is completely wrong in regards to dynamic production.
    • I don't know... the 40 hour work week was created as the maximum you could push a worker before defects started cropping up. I think this 20% thing would put Google more in line with the rest of the world, with the added benefit that the workers or their "spare" day are actually contributing to Google's bottom line and having increased morale.
  • What if your 20% is a videogame, IRC client, MUD, or new GUI/Window system?
  • I wonder... (Score:4, Interesting)

    by dghcasp ( 459766 ) on Friday March 25, 2005 @08:22PM (#12050916)
    I wonder if this would be as effective at the "Average" company...

    Google is well known for their Ph.D. hiring fetish; generally, people with Ph.D's have experience with doing directed research and projects. Would a company staffed with average programmers get the same benefit from having them "play?"

  • Bees (Score:5, Interesting)

    by Viking Coder ( 102287 ) on Friday March 25, 2005 @08:31PM (#12050955)
    This topic somewhat reminds me of this:

    http://www.infobear.com/howswdie.shtml [infobear.com]

    Windows Made Me This Way

    How Software Companies Die

    Windows Sources, March 1995, p. 208

    By: Orson Scott Card

    You can domesticate programmers the way beekeepers tame bees.

    The environment that nutures creative programmers kills management and marketing types - and vice versa. Programming is the Great Game. It consumes you, body and soul. When you're caught up in it, nothing else matters. When you emerge into daylight, you might well discover that you're a hundred pounds overweight, your underwear is older than the average first grader, and judging from the number of pizza boxes lying around, it must be spring already. But you don't care, because your program runs, and the code is fast and clever and tight. You won. You're aware that some people think you're a nerd. So what? They're not players. They've never jousted with Windows or gone hand to hand with DOS. To them C++ is a decent grade, almost a B - not a language. They barely exist. Like soldiers or artists, you don't care about the opinions of civilians. You're building something intricate and fine. They'll never understand it.

    Beekeeping

    Here's the secret that every successful software company is based on: You can domesticate programmers the way beekeepers tame bees. You can't exactly communicate with them, but you can get them to swarm in one place and when they're not looking, you can carry off the honey. You keep these bees from stinging by paying them money. More money than they know what to do with. But that's less than you might think. You see, all these programmers keep hearing their fathers' voices in their heads saying "When are you going to join the real world?" All you have to pay them is enough money that they can answer (also in their heads) "Geez, Dad, I'm making more than you." On average, this is cheap. And you get them to stay in the hive by giving them other coders to swarm with. The only person whose praise matters is another programmer. Less-talented programmers will idolize them; evenly matched ones will challenge and goad one another; and if you want to get a good swarm, you make sure that you have at least one certified genius coder that they can all look up to, even if he glances at other people's code only long enough to sneer at it. He's a Player, thinks the junior programmer. He looked at my code. That is enough. If a software company provides such a hive, the coders will give up sleep, love, health, and clean laundry, while the company keeps the bulk of the money.

    Out Of Control

    Here's the problem that ends up killing company after company. All successful software companies had, as their dominant personality, a leader who nurtured programmers. But no company can keep such a leader forever. Either he cashes out, or he brings in management types who end up driving him out, or he changes and becomes a management type himself. One way or another, marketers get control. But...control of what? Instead of finding assembly lines of productive workers, they quickly discover that their product is produced by utterly unpredictable, uncooperative, disobedient, and worst of all, unattractive people who resist all attempts at management. Put them on a time clock, dress them in suits, and they become sullen and start sabotaging the product. Worst of all, you can sense that they are making fun of you with every word they say.

    Smoked Out

    The shock is greater for the coder, though. He suddenly finds that alien creatures control his life. Meetings, Schedules, Reports. And now someone demands that he PLAN all his programming and then stick to the plan, never improving, never tweaking, and never, never touching some other team's code. The lousy young programmer who once worshiped him is now his tyrannical boss, a position he got because he played golf with some sphincter i
  • I've been there (Score:4, Interesting)

    by fireman sam ( 662213 ) on Friday March 25, 2005 @08:46PM (#12051046) Homepage Journal
    I worked in a place that allowed me to work on whatever I wanted (as long as it was related to what the company did). I could get whatever I needed like set top boxes, ipaqs, dvd players. What I developed, they were marketted.

    First thing I did was port Mozilla to Nano-X, then get it running on an iPAQ. It was fun. The company however closed the Australian office (R&D) and I had to work elsewhere.

  • Anomaly (Score:5, Insightful)

    by Duncan3 ( 10537 ) on Friday March 25, 2005 @09:18PM (#12051223) Homepage
    Lets not forget that Google is a complete anomaly, they were in the right place, at the right time, with the right algorithm. Since then, they have had no real competitive pressure, and they make plenty of money on that first idea to fund anything they want. They could easily all sit and work on their own projects 100% of the time, and Google would still be profitable.

    Google is not the real world, is nothing like a normal company any way and so should not be compared to other companies in any way.

    The day Google faces real competition in the search realm, expect them to become a normal company in every way in a real big hurry.
  • by wannabgeek ( 323414 ) on Friday March 25, 2005 @10:04PM (#12051470) Journal
    From TFA
    The intranet in Google is super transparent. Teams are actively encouraged to share the most intimate details of their projects with the rest of the company. This happens through tech talks, design docs, lunch table conversations, etc.

    That is the advantage of being an ISV. In companies where you work under non-disclosure agreements with some other software provider, liberties are limited. (I know, that would not be the case if everyone in the world uses open-source, but that is not the case, yet). Yes, there will still be opportunities to share good ideas in the form of utilities and stuff, but there certainly are limits to what you can share with other teams without infringing on NDA.

    Hell, a few companies I know (in particular software contract-companies), have different access cards for different groups - preventing physical access. Sometimes it is imposed by client. But many times it's just the wisdom(!) of the PHBs who impose policies like, everything will be shared on a "need-to-know" basis!
  • by SuperKendall ( 25149 ) * on Friday March 25, 2005 @10:31PM (#12051630)
    I'm not even going to go into the 20% thing, because that has been done to death. Except that is to make one observation - the 20% works at Google because the people they hire are good fits for the plan. There are a lot of people at other companies that might not know what to do with a self-directed 20% plan...

    But there are a lot of other great ideas there as well. Everyone using the same codebase? Thank god you can finally look at any company code you want! Workers have to actually buy in to business plans instead of having to implement every crazy idea that comes down the pike? There's a breeze of fresh air a lot of companies could use.

    But what ties all of these great ideas together is the greatest idea of all - all of them rely on the fundamental assumption that Google trusts its workers. When you work with people you trust and they in turn trust you, many great things can be done - as Google has shown.

    Companies should ask at every step of the game if things they are doing show more, or less, trust in employees. Especially important to remember in the days of Sarbanes-Oxley when companies would cut of their own noses just to keep the auditors happy - even when they would have been happy without the drastic cosmetic alterations.
  • by heroine ( 1220 ) on Friday March 25, 2005 @11:24PM (#12051979) Homepage
    So the latest crop of CS graduates is now worshipping Google, Apple, and Pixar the same way the previous group worshipped VA Research, Redhat, and Cobalt.

    Given all the things these current hot companies do right and the previous hot companies did right, is anything about the current batch of hot companies a net improvement over the previous batch of hot companies or is this a different patch of the same ground being retreadded?

    Salaries are a fraction of what they were in 2000 but maybe software development processes have improved. Pensions and health benefits are gone but now the company intranet is transparent. Dot com parties are gone but there's 20% time for personal projects. Is this round of companies really better than the last iteration?

Math is like love -- a simple idea but it can get complicated. -- R. Drabek

Working...