Forgot your password?
typodupeerror
Google Programming

Larry Page and Sergey Brin Are Lousy Coders 204

Posted by Soulskill
from the if-it-compiles-it's-probably-fine dept.
theodp writes "Don't tell Business Insider's Nicholas Carlson about Santa and the Easter Bunny just yet. He's still reeling after learning that Larry Page and Sergy Brin are actually pretty lousy coders. That's according to I'm Feeling Lucky: The Confessions of Google Employee Number 59, a book about the company's startup days by Douglas Edwards. 'I didn't trust Larry and Sergey as coders,' Google engineering boss Craig Silverstein recalls in the book. 'I had to deal with their legacy code from the Stanford days and it had a lot of problems. They're research coders: more interested in writing code that works than code that's maintainable.' But don't cry for Larry and Sergey, Argentina — even if the pair won't be taking home any Top Coder prizes, they can at least take solace in their combined $50+ billion fortune. And, according to Woz, they certainly could have kicked Steve Jobs' butt in a coding contest!"
This discussion has been archived. No new comments can be posted.

Larry Page and Sergey Brin Are Lousy Coders

Comments Filter:
  • by intermodal (534361) on Friday November 01, 2013 @10:21AM (#45299953) Homepage Journal

    The computing world works specifically because some people have ideas and others have the ability to implement those ideas. And the few who can handle both of those are not generally going to be capable businessmen. It is a rare individual who can excel in all three roles.

    • Yes, but they had one idea of their own that launched Google. That's links-as-metadata idea of indexing. It was a good idea, but nothing since then has been "from the top".

      • by intermodal (534361) on Friday November 01, 2013 @10:41AM (#45300189) Homepage Journal

        Maybe nothing groundbreaking, but I am quite confident that they've brought more to the table than one idea over the years. Not of an empire-launching grade, but certainly reasonable, development-worthy ideas.

      • by s.petry (762400)

        Come now, be fair. They had many different ideas with Google. Search and meta-data is of course the biggie, but they also had many other innovations. Hardware implementation and use comes immediately to mind. While HA was not new, Google came up with a very cheap and easy method for HA.

        • by i kan reed (749298) on Friday November 01, 2013 @11:22AM (#45300593) Homepage Journal

          Larry and Sergy aren't google. Google is a collection of some of the best software engineers in the country(with most of their talent being wasted on getting more people to click ads).

          • by poetmatt (793785) on Friday November 01, 2013 @11:50AM (#45300839) Journal

            I would disagree with the talent waste. While they are at google, yes, but their focus isn't really getting people to click more ads. A lot of interesting things come out of google:

            search
            google music
            google maps
            google voice
            hangouts
            g+
            android
            android nexus devices
            ingress
            google glass
            that media player device thing
            google fiber

            I wouldn't say that "most" of their talent is in advertising.

          • by s.petry (762400)

            Larry and Sergy aren't google.

            No shit! Where did I state that they were all of Google? I said that you were wrong that there was only 1 idea to start Google, and gave examples of at least 2 other ideas they had. When Google started, there was very little "click" advertising so you are trying to re-write history to fit your bias. When Google started the majority of ads were still pay-per page ads like the Newspapers.

            • I was talking about how people's talent was being wasted today, not the pre-doubleclick history of google.

              • by s.petry (762400)

                Yes, but they had one idea of their own that launched Google. That's links-as-metadata idea of indexing. It was a good idea, but nothing since then has been "from the top".

                That is what you started with, and what I made a correction to. It is easy to claim "wrong" when you not only move the goal post half way across the globe, but time travel with it as well.

                • What goalposts? What the hell? I'm not trying to set a threshold of acceptance for something.

                  Claiming a fallacious argument for an argument that isn't even happening is moronic.

                  • by s.petry (762400) on Friday November 01, 2013 @12:55PM (#45301487)

                    You really can't read a thread as a conversation? Let me help.

                    You: Yes, but they had one idea of their own that launched Google. That's links-as-metadata idea of indexing. It was a good idea, but nothing since then has been "from the top".

                    Me: Come now, be fair. They had many different ideas with Google. Search and meta-data is of course the biggie, but they also had many other innovations. Hardware implementation and use comes immediately to mind. While HA was not new, Google came up with a very cheap and easy method for HA.

                    You: Larry and Sergy aren't google. Google is a collection of some of the best software engineers in the country(with most of their talent being wasted on getting more people to click ads).

                    Me: No shit! Where did I state that they were all of Google? I said that you were wrong that there was only 1 idea to start Google, and gave examples of at least 2 other ideas they had. When Google started, there was very little "click" advertising so you are trying to re-write history to fit your bias. When Google started the majority of ads were still pay-per page ads like the Newspapers.

                    You: I was talking about how people's talent was being wasted today, not the pre-doubleclick history of google.

                    You were wrong to deny my first point, but instead of admitting you were wrong you make false claims. You end up at a completely different point than you start, in a completely different era! Good grief, I feel like I'm explaining the basics of communication to an autistic kid!

                    • Since I'm really confused by your statement, I'll address it as literally as I can. With regards to your literal "first statement"
                      "Hardware implementation and use" isn't a novel idea, it's just what programming is. I kind didn't even parse that as a meaningful thing to say.

                    • by drinkypoo (153816)

                      Good grief, I feel like I'm explaining the basics of communication to an autistic kid!

                      You must be new here.

                    • by s.petry (762400)

                      So you believe that Google's initial use of cheap hardware (most of it disposed of by other businesses) with clustered software was not an "idea" that was rather unique at the time? At a time when everyone and their brother that was "big" was buying bigger and bigger machines. Their software concept for clustering was what every programming is?

                      That is blatantly incorrect. Even with GridEngine we in the industry were getting our first E10K with 64 processors around the time Google started. GridEngine cou

                    • by s.petry (762400)
                      No, I'm not new here. I attempt to teach and it's often a frustrating and fruitless pursuit :/
          • by swillden (191260) <shawn-ds@willden.org> on Friday November 01, 2013 @12:31PM (#45301205) Homepage Journal

            Google is a collection of some of the best software engineers in the country(with most of their talent being wasted on getting more people to click ads).

            Actually, very few of Google's engineers are focused on ads, at all. I'd guess that between ad auctions, ad displays, ad billing and miscellaneous management and support UIs, maybe 10% of Google's 20,000 engineers work on ads.

            You can argue that since the rest of the company is primarily supported by ads (90% of Google revenues are from ads) that all of the products built by all of the rest are "getting more people to click ads", but I think that's a stretch, and in fact that's not at all how anyone in Google sees it. In fact Googlers see it exactly the opposite: Google's reason for existence is all of the products we build. Ads are just a convenient way to pay the bills. Google doesn't even consider itself an advertising company. It's an Internet and mobile technology company which has found that ads are -- currently -- the lowest-effort and most scalable method yet found to fund large scale technology of the sort Google builds. Everyone would be fine with finding other ways to make money -- and in fact Google's non-ad revenues are consistently growing much faster than it's ad revenues. I think it's mostly the enterprise services business that has been growing like crazy.

            Not that ads are inherently evil. I know some people disagree, and believe that ads are pure manipulation. Personally, I occasionally find ads informative and useful, when they tell me about interesting (to me) products which I didn't already know about, or had forgotten. I don't believe I'm manipulated to any significant extent by them, but maybe that's just because I haven't been wearing my tinfoil hat, and am therefore so utterly mind-controlled by so many different forces that I've lost all free will and don't even know it. Anyway, I think the way Google does ads is at least neutral on the good/evil to humanity scale. And it funds a lot of really awesome stuff.

            (Disclaimer: I'm a Google software engineer. I do billing security systems, so I do support ads, but I also support Wallet, Play, pay-by-Gmail, etc. Nearly all of my daily work is focused on the emerging payments needs, mostly consumer-facing. Ads-related stuff drives maybe 1% of my work.)

          • by rossz (67331)

            some of the best software engineers in the country.

            I worked at google at the time they were hiring kids right out of college like crazy. I'm an older system administrator with a couple of decades of experience. What I saw was the highest concentration of idiots with advanced degrees in the entire world. Sure, lots of classroom knowledge, but very little real world experience combined with a touch of arrogance.

            I would hope that has changed with a few years of experience.

      • by gnupun (752725)

        Yes, but they had one idea of their own that launched Google. ... It was a good idea, but nothing since then has been "from the top".

        What about:

        • Google Maps — Ability to smooth scroll a large virtual map compared to slow, blocky scroll of older maps sites.
        • Gmail — Huge amount of disk storage for free emails. Before gmail, free email services offered only 3-10 MB space, where you had to regularly clear old emails
        • Search Ads — Users get text ads based on what product/service they are loo
        • by pjt33 (739471)

          I think you've missed GP's point. Do you have evidence that those three were specifically ideas which came from Larry and Sergey?

      • by swillden (191260) <shawn-ds@willden.org> on Friday November 01, 2013 @03:02PM (#45303043) Homepage Journal

        Yes, but they had one idea of their own that launched Google. That's links-as-metadata idea of indexing. It was a good idea, but nothing since then has been "from the top".

        Of course not. That's not the job of the people at the top.

        Their job is to look at all of the ideas coming up from the bottom, identify the winners and make sure they're getting all the resources and focus they need, and that the teams working on them are doing all of the right things. FWIW, I think that sort of leadership was lacking at Google prior to Larry's appointment as CEO. The major thrust of his management is summarized in his (rather hackneyed, I suppose, but memorable) phrase "More wood behind fewer arrows". It has annoyed a lot of users of Google's smaller, less-successful projects, but picking winners and losers and de-funding the losers is a critically important job.

        And don't think that picking winners and losers is easy. Well, it's easy to do, but very hard to do right. And, FWIW, I think Larry is doing a great job. I'm particularly impressed by his decisions to kill some large projects that never saw the light of day because they weren't good for Google's overall strategic future. Those are tough decisions, especially when tens of millions have been sunk into something which turns out to be good, but not quite good enough.

        As for Sergey... he's the driving force behind Google X, the research group that is responsible for self-driving cars, Google Glass, project Loon, and lots more that even Google employees haven't heard of yet. How much of it is his own ideas, how much of it is other people's ideas refined collaboratively with his input, and how much of it is him just clearing the underbrush so that other people with big ideas can get shit done, I have no idea. But they're doing very cool, forward-thinking stuff over there, and he's clearly an integral part of it.

        If you're looking for whether or not their brains and skills justify their enormous net worth... of course not. Money is only loosely related to ability. Luck and persistence (which improves your luck) have a lot more to do with it. Regardless, if someone has to be a billionaire, I'm pretty happy it's those guys, because I like what they're doing with their money.

        (Disclaimer: I work for Google. I try to watch the weekly company-wide meetings as often as I can, and those are the primary source of my impressions of Larry and Sergey, who host the meetings almost every week. Their obvious intelligence, insight and high standards of moral behavior consistently impress me.)

      • by gweihir (88907)

        Actually, they had two ideas: The targeted ads based on the search results is the second. While the former is worth a lot to humanity, the $50B is for the second only (which basically has negative worth to humanity).

    • Sometimes we write code quickly as a proof of concept. I enjoy the challenge of "that chip's not powerful enough to do what we need," because it means a day or two of fun to prove the assertion wrong. However, that code might not be pretty simply because my goal is a proof of concept, not a production system. Of course, ever once in a while pieces of that rushed code end up in a production device. At any rate, the early proto-Google systems were all about demonstrating that something was possible. And it wo
      • And Google had some pretty impressive concepts to prove at the time they were starting up. If you asked a bunch of PhD computer theorists and "Top Shelf" coders at the time, they would probably have told you "it's impossible," based on their experience of the past.

        Sometimes it takes an ignorant person to make real progress.

      • There are people who are allergic to this. 9/10s of SW vs HW guy debates center around this. HW guys need something fast that exercises the hardware thoroughly so that it can be tested and respun/shipped. SW guys need code they can continue to work with long after the HW guy is on the next big thing.

        It's a common case where a good software engineer will refuse to produce quick and dirty code that he'll have to rewrite later, just to test the hardware. It usually takes manager intervention to make it happen,

    • by cusco (717999)

      It used to be easier, when the technology was simple enough that one could know everything about a field. The Wright brothers or (much as I may loathe him) Edison would be good examples. The only one in the computer industry that I can think of is Bill Gates.

    • by wagnerrp (1305589)
      There are a lot of people with ideas. There are only a few with a proficient enough programming/engineering background to understand whether those ideas are remotely possible, or a wide eyed pipe dream.
    • Re: (Score:2, Insightful)

      by Anonymous Coward

      The computing world works specifically because some people have ideas and others have the ability to implement those ideas. And the few who can handle both of those are not generally going to be capable businessmen. It is a rare individual who can excel in all three roles.

      Bill Gates is one of those rare individuals.

    • by gsslay (807818)

      Never mind excelling at all three roles, even if they could excel at them all, no-one has time to excel in all three roles. You don't become a great coder without spending a lot of time coding. If you spend a lot of time coding, you do not have enough time to delegate/lead (or what ever else they do) to be a great businessman. They are just fundamentally incompatible hoggers of your time. You cannot do both.

  • Yes, and? (Score:5, Insightful)

    by bmo (77928) on Friday November 01, 2013 @10:22AM (#45299969)

    They're research coders: more interested in writing code that works than code that's maintainable.'

    So you're basically criticizing them because they're good at prototypes instead of production parts? Seriously? The world needs both prototype engineers and production engineers. STFU.

    Non-story/trollbait.

    --
    BMO

    • by Enry (630) <`enry' `at' `wayga.net'> on Friday November 01, 2013 @10:37AM (#45300127) Journal

      I've worked with researchers in the biomedical field for 10 years. I'm sure he'd prefer to deal with Larry and Sergey's code over some of the horrible stuff I've seen.

      As a teaser: I once saw a software package with a Makefile that was really a shell script to build the application.

      • That's no horror story - let's talk about 8 bit checksums on wireless data links, for things that can stop your heart. Dick Cheney had good reason to get a custom implant.

    • by lxs (131946) on Friday November 01, 2013 @10:40AM (#45300181)

      I heard that Frank Lloyd Wright couldn't grout a wall to save his life.

      • Re: Yes, and? (Score:5, Insightful)

        by Anonymous Coward on Friday November 01, 2013 @11:21AM (#45300583)

        And a lot of Wrights buildings are in shambles, or gone. Because he was an artist, not a builder.

        • The mark of an artist is mastery of his medium. If his buildings dont last, i would say thats a huge mark against him. True architectural art is functional, practical and beautiful.
        • I would say that proves he was an over-hyped idiot, not an artist.

        • by westlake (615356)

          And a lot of Wrights buildings are in shambles, or gone. Because he was an artist, not a builder.

          There are about 400 surviving Wright buildings --- not bad for an architect whose first significant works date back to 1886. Quite a few were lost to natural causes --- fires, floods and earthquakes. List of Frank Lloyd Wright works [wikipedia.org]

          It's true that "Fallingwater" had significant structural problems. It's also true that in 1991 members of the American Institute of Architects named the house the "best all-time work of American architecture."Fallingwater [wikipedia.org]

    • Or maybe he wasn't "criticizing" them but was just reminiscing about the old days when interviewed for this book?

    • Maybe, but the world NEEDS more production engineers and few prototype engineers, and it HAS a lot of people who wanna be prototype engineers and few who'd agree to be in production. Yet still in those areas the laws of supply and demand, and the price thereof, are upside down.

    • Unfortunately, the line is very much blurred in software development.

      Prototype code quickly gets incorporated as production code if it works.

      In some ideal world, prototype code never touches the real world. It is always rewritten by production engineers. Yet, the fact that their prototype code is being maintained suggests otherwise as it is in most places of software development.

    • In novel writing, like in programming of innovative things, you should write it once, then write it again, as well as make a series of incremental rewrites in the second version.

      You have different priorities the first time round. Get the most difficult core algorithm or core concept things implemented fast, to learn fast what's wrong with them.

      If you were a really really good programmer, you might try to build in generality, modularity even in that first go around, but you would have to make sure it wasn't

    • by godrik (1287354)

      I must +1 that. I am an academic and I do not have the time to write production ready code. I write code to prove a point: "this problem is solvable", "this algorithm can be implemented with that performance on this machine". Once the paper that goes with the code is published. I archive the code and will only touch it again when I want to solve a similar problem.

      If I was interested in production ready code, I'd pay a software engineer to release the software.

    • by Darinbob (1142669)

      I think there is indeed an attitude in the public that the CEOs actually do the bulk of the real work. Ie, they mistakenly think that Steve Jobs invented the iPhone (or even the smart phone), they think that Bill Gates is a genius coder, and so forth. I suspect some of them may even mistakenly believe that Meg Whitman knows what her company builds and sells.

      There's also the startup mentality that goes on. I have never seen good code created during the time that a company was a start up, it's almost alway

  • by Sir_Sri (199544) on Friday November 01, 2013 @10:22AM (#45299971)

    That's pretty normal for PhD students.

    Most of us are aware of better coding practices, but getting things done on academic schedules tends to result in whatever can be done before reading week or before tuition is due or the like.

    • by rubycodez (864176) on Friday November 01, 2013 @10:31AM (#45300055)

      and in the business world, with salesmen selling product that hasn't been completed yet, let alone QA'd, there's no difference

      • There's a big difference between an academic "end of the world" deadline and a business "we can patch it later" deadline.

      • by Sir_Sri (199544)

        There is a bit.

        We had a grad student get charged 3000 dollars in tuition (money she didn't have) because she submitted the final corrected version of her thesis wrong in the computer system (she created it as a new thesis rather than as an update to the existing submission), She didn't realize this problem for a full 40 minutes, and by that point it was 00:30 hours. She fought for a couple of weeks with the administration until finally the dean overheard her arguing with someone, asked for an explanation,

    • I'd rather say "academic work ethic" instead of "academic schedule" - never in my life did I have so much time on my hands as I did in grad school.

  • Typical (Score:5, Insightful)

    by Virtucon (127420) on Friday November 01, 2013 @10:23AM (#45299981)

    I've always seen software engineers point fingers at other engineers and say that their work sucks. It's the one thing that remains constant in this industry and it's no different from any other competitive field. Most of the time however the guys pointing the fingers have more skeletons in their closets in terms of bad code and use it as a deflection mechanism. Sure, there are incompetent coders but they usually wind up moving into management or the fast food industry.

    • Re: (Score:3, Funny)

      by Anonymous Coward

      Years ago, I was changing the architecture of some code and I commented to someone else, "This isn't so bad. The guy who wrote it did a really good job. The code is concise, easily understood, and well commented. I'll have this done ahead of schedule!"

      Other guy, "Hmmm. That coder was not known for his ability."

      Me: "Why?"

      OG: *silence*

      Then I met the guy.

      He was this good looking 6'-ish dark haired athletically built Québécois - who had no problem attracting the ladies.

      I mean really - MALE programmer

      • Re:Typical (Score:4, Insightful)

        by Nerdfest (867930) on Friday November 01, 2013 @10:37AM (#45300141)

        I've looked over soem code and said good things about it , then had the coder say they actually just copied some of my old code they found. I've also found older code of mine that I wouldn't pass in a code review in some cases. Hopefully we all learn and actually get better, setting a higher bar for ourselves. Sometimes it's hard to keep that in mind when we apply that bar to others.

    • Re:Typical (Score:5, Funny)

      by Daniel Dvorkin (106857) on Friday November 01, 2013 @10:39AM (#45300155) Homepage Journal

      Sure, there are incompetent coders but they usually wind up moving into management or the fast food industry.

      Apparently Page and Brin chose Door #1. That worked out okay. ;)

    • Re:Typical (Score:5, Funny)

      by Sponge Bath (413667) on Friday November 01, 2013 @11:38AM (#45300747)

      ...moving into management or the fast food industry.

      That explains the burger I got the other day. It was piled so high, there was a stack overflow.

  • by Hentes (2461350) on Friday November 01, 2013 @10:30AM (#45300045)

    'I had to deal with their legacy code from the Stanford days and it had a lot of problems. They're research coders: more interested in writing code that works than code that's maintainable.

    I don't think it's fair to criticize old code by today's standards.

  • by Junior J. Junior III (192702) on Friday November 01, 2013 @10:34AM (#45300095) Homepage
    For a lot of these mega-successful people, it's not the beauty of the code, or the maintainabilty of it. It's having the idea that software can do something, that this something is valuable and can be used as an engine drive profits, and then getting there first. Making it as good as it can be comes much later, if ever. Seemingly not at all if you're Microsoft. Not being able to code doesn't mean that much.
  • My code is generally pretty ugly...because I don't care about maintainability, or even at times efficient.

    I care about solving a problem, as it is a challenge. That's it.

    Improving efficiency, making the code look nice, documentation...all these things are boring and I'd rather not waste my time on them.

    And that's what most of coding is.

    • Maybe I'm falling for a parody, but ... for what type of application and in what environment do you write code?

      • by retchdog (1319261)

        fwiw, I feel the same way as metrix007. The application is statistical computing, and the environment is typically R with some C for non-vectorizable loops and such. I write in emacs.

        The thing is, not everyone who codes is a coder. If your job is to write maintainable software, generally to other folks' specs or ideas, over a period of months then, yeah, you'd better play nice. That job sounds like hell to me, and I'm glad I don't have it.

        95% of the code I write never gets re-used, because the idea it was i

      • by metrix007 (200091)

        I don't write code professionally at all. I couldn't deal with all the documentation, testing, debugging etc.

        It's just as a hobby.

    • by h4rr4r (612664)

      Those things are sometimes more important that getting it working. No point in having a working solution if it can't be maintained. Might as well take more time to get it working and have efficient, good looking code with great documentation.

      Those things are boring, but that is why it is called work and not play.

      • by jkflying (2190798)

        In science a lot of code is only used once-off to get results and prove that the idea is valid. Maintenance on something that nobody will ever look at again? Why?

        Put another way, often code is the means, and not the end.

        • by h4rr4r (612664)

          In science yes, the other 99% of coding done for pay is not like that.

          • Even outside of science, there's a demand for such code. Not much, because many managers feel that all coding projects have to be firmly embedded in a strong project management framework, and that support has to be arranged and ITIL-ized down to the last detail.

            My current client understands that this is not always necessary. Get a clever guy to write some crappy code that works, and use it for non mission critical stuff. Is there support? No, if he wants it fixed or changed, he has to get another cle
    • I care about solving a problem, as it is a challenge. That's it.

      Writing code such that it does what you need it to and is easy to maintain can be a fun problem to solve...at least for me.

    • by hazah (807503)
      The problem becomes only appearant when what you call "your code" is actually someone else's code that you happened to develop. At that point, your argument is completely moot.
  • by peter303 (12292) on Friday November 01, 2013 @10:50AM (#45300285)
    I work for one. In the startup stage maybe 50% or more of the work is coding. But then you ad sales, managers, testers, corporate, documentation, yada, yada.
  • by royallthefourth (1564389) <royallthefourth@gmail.com> on Friday November 01, 2013 @10:53AM (#45300305)

    more interested in writing code that works than code that's maintainable

    That's how business works in general. You want to write good code, but deadlines and shifting goalposts turn all your best plans into a swamp.

    • If shifting goalposts turn your plans into a swamp, then your plan wasn't flexible enough to begin with. Goalposts always change, make sure your code is flexible (note: flexible is not the same as generic).

      If you write bad code because of deadlines.......well, nothing will make you miss deadlines faster than writing bad code. You can do better.
      • If shifting goalposts turn your plans into a swamp, then your plan wasn't flexible enough to begin with.

        I agree. Anyone who's starts writing a stock control system on an AS/400 and can't convert it three minutes before completion into a chess game on Android is clearly a total fucking amateur.

    • Maintaining and extending software is *always* hard. If abandoning concepts such as minimizing coupling, or hiding data make the design/implementation easier, then do it. Code that tries to adhere to these best practices when the problem space makes it difficult is consistently horrendous to extend and no easier to maintain. Not all problems can be partitioned out into neatly abstracted uncoupled cohesive realms of responsibility. Beauty is code that works well and is easy to extend, not code that is ea

  • by fldsofglry (2754803) on Friday November 01, 2013 @10:55AM (#45300329)
    I saw part of a Robert Kiyosake (Rich Dad, Poor Dad) program (infomerical?) on PBS one day. He apparently had a woman come up to him and say that she was trained academically in writing and was perplexed at how she, being a good writer, was unable to achieve monetary and sales success. She then pointed out that she didn't think he was a very good writer.

    He responded by telling her that he went to school for sales and not writing. He then told her to look at his book and it how it says "Best selling writer and not best writing writer".

    I don't know...kind of seems relevant here in that well written fill in the blank has little to do with monetary failure or success

    Disclaimer: I have never read one of Kiyosake's books, so I don't know if he mentions this in one of them or not, but I thought it was a pretty insightful.

    • Re: (Score:2, Informative)

      by glennrrr (592457)
      My wife asked me to read Rich Dad, Poor Dad, and he is, indeed, a pretty mediocre wordsmith.
      • Ha, good to know! I certainly won't look to him for his writing abilities. And the content? Was the book helpful?
        • I read it, the story was in there. I found it to be a really good book. I wouldn't say that it has the 'secret' to wealth (which is basically a combination of hard work in the right direction and luck), but it does discuss a number of things that could make it harder for you to succeed if you aren't aware of them.

          One of the things I learned from it was, "the biggest financial mistake you can make is to think you are working from someone else." Now when I go to work (even when I worked a lousy job like con
    • Ain't this the truth. Lots of books get hyped. That 50 shades of grey book is all over the news and every single person I've heard give an opinion of it said it was poorly written.

  • by Anonymous Coward on Friday November 01, 2013 @12:02PM (#45300957)

    I am a biologist working with computers (statistics, bioinformatics etc). My main problem with CS students is that they are more concerned with frameworks, coding principles, version controls, choice of the right language than whether their code actually works.

    Biologists rarely get the things right. I had a brilliant student who came up with a new algorithm and actually discovered something new (in biology), but the code was an awfully coded Perl program without a single function declaration. But it was correct and produced interesting results. Contrast that with a CS student who spent three months of his thesis on building a Java framework for an algorithm that he did not come up with and produced a shiny tool that in the end turned out to be useless.

    You can find people who know how to read instructions (e.g. SVN manual) and produce clean, reusable, maintainable code by the dozen. Finding the people who have new ideas -- that is the hard part. Even if their code sucks, if their thinking is right, there will be money to pay a self-rigtheous CS student who will, in his words, "clean up the mess" (but will not otherwise come up with anything substantial).

    So maybe LP and SB are lousy coders. But then, they are great hackers.

  • by tobiasly (524456) on Friday November 01, 2013 @12:05PM (#45300983) Homepage

    I remember reading an interview with one of them several years ago (I believe it was Brin), where they talked about the original homepage. At a time when other search engines were cramming as much crap onto their homepage as possible, Google stood out for being very minimal and serving up "just results" very quickly.

    He said they were amused when people gave them compliments for taking such a bold move and assumed it was an intentional departure, but in reality they just didn't know HTML and cobbling together a single form and crappy logo was pretty much all they could manage (or were interested in).

  • by hajo (74449) on Friday November 01, 2013 @12:19PM (#45301093) Homepage

    I am typically the first guy to do an implementation. After that a bunch of guys come in and they refactor the code.
    I pass all acceptance tests. (Typically a cucumber suite). The people I work with know this.
    When I am contracting time is money. I don't refactor unless you pay me.
    I can refactor that code as well as anybody, but by that time I'm typically called away on another project.
    (My last assignment was writing a REST API while in Vietnam 5 subcontractors were writing a mobile app against my API on a nightly basis. That was a major pITA since they were 12 hours ahead of me. I prefer working against the West coast, three hours ahead is pretty much ideal.)

    Now after I'm done In typically think of a much more elegant way of doing things, but by that time I'm usually on something else.
    One thing: My hastily written code is nicer today than my refactored code was 5 years ago. So I guess I am improving.

    People that hire me typically couldn't care less about what tools I use, or how elegant my code is.(Unless you work for a software company; I deal with a lot of businesses in totally different fields that need an issue solved, and need it done quickly.)

    • This. I work in a similar manner: more fun much better pay and in the end the client pays less than what he would have for a more traditional development project.
  • by minstrelmike (1602771) on Friday November 01, 2013 @12:27PM (#45301155)
    I don't know of any coders who started off writing easy to maintain code.
    Most of the coders who do _write_ code that is easy to maintain only do so after having to come back a month or year later and revise code they themselves have written. /* revising other people's first draft of code just makes you over-confident that you are better than they are when that probably isn't true. Compare first drafts to first drafts, not to final code after all the bugs have been worked out and the customer has finally started understanding his own requirements */

    There are even good business reasons not to worry about maintenance, such as if the product doesn't fly, then maintenance of it is moot. And if writing easy-to-understand code slows down getting the product out the door, don't do it.
    • by Hairy1 (180056)

      How about this for a reason to write easy to understand code: Its faster. Writing easy to understand code means - get this - its easy to understand it. This means that defects become more obvious and easier to fix. Highly coupled monolithic balls of mud written by developers with an inflated opinion of their own skills are usually the source of intractible defects. Easy to understand code is the sign of an organised mind.

      • I agree that clean code is the sign of an organized mind.
        I guess my point is that _most_ people get better at what they do over time. Their code gets better and better.
        If your code isn't getting better over time, perhaps it is perfect and there actually is no room for you to improve whether coding or thinking.
        But I think that's kind of rare.
  • Lousy? (Score:4, Insightful)

    by scottbomb (1290580) on Friday November 01, 2013 @12:47PM (#45301389) Journal

    I wouldn't call the guys who wrote the best search algorithm known to man "lousy" at what they do. Perhaps unconventional, but certainly not lousy.

  • I find it amusing that Google has a good reputation for code quality and Microsoft is perhaps questionable, yet their founders have the opposite reputation.

  • by Hairy1 (180056) on Friday November 01, 2013 @03:09PM (#45303143) Homepage

    What is it with the Uber Coder mythology? The developer community has its own values. Each profession has certain ideas about what is valuable. Many people value money - that when someone asks how much you make this is a proxy for making a personal judgement. Coders generally don't judge based on money. They judge based on intellect. Not real intellect - that is far too difficult to determine, but rather perceived intellect.

    As a result we see a number of interesting effects. The first is the prima donna whose code is impossible to read and proud of it. If anyone questions it they usually reply that if you can't read it it is because you are not as skilled or intelligent as they are. Another effect is that overt technical skills are valued above soft skills. This means that becoming a manager or team leader is seen as almost selling out and becoming the Pointy Hair Boss.

    This fails to understand that success in software is not highly correlated with these 'geniuses' who refuse to play nice or refuse to manage teams. Success is correlated to effective teams who actually work at their communications and team development disciplines. The success stories we hear about may or may not be highly skilled; this is not a differntiator. What is key is the ability to develop and maintain effective development teams, and to manage them in a way that gives them the autonomy to be creative but the dicipline to ensure the deliver value.

    The skills Larry Page and Sergey Brin brought to the table that allowed them to succeed were not coding skills, and I think that the implicit critique of their technical skill devalues the real reasons they made it.

  • What Google needs is someone who can design a user interface. When I'm using their stuff, I don't have to look at the code, but I do have to deal with the UI. And theirs are surprisingly bad.

The person who's taking you to lunch has no intention of paying.

Working...