Larry Page and Sergey Brin Are Lousy Coders 204
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!"
Ideas vs. Implementation (Score:5, Insightful)
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.
Re: (Score:2)
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".
Re:Ideas vs. Implementation (Score:5, Informative)
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.
Re: (Score:2)
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.
Re:Ideas vs. Implementation (Score:5, Insightful)
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).
Re:Ideas vs. Implementation (Score:5, Insightful)
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.
Re: (Score:3)
search, maps and Android, yes. Nexus devices, arguably. Glass, maybe in the future. Everything else was garbage IMO.
Oh and you forgot mail. Which I love.
Re: (Score:3)
A lot of interesting things come out of google:
Also:
Driverless Cars [wikipedia.org]
Robots on the Moon [wikipedia.org]
Re: (Score:2)
Those were pretty much all acquisitions.
Re: (Score:3)
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.
Re: (Score:2)
I was talking about how people's talent was being wasted today, not the pre-doubleclick history of google.
Re: (Score:3)
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.
Re: (Score:2)
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.
Re:Ideas vs. Implementation (Score:4, Insightful)
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!
Re: (Score:2)
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.
Re: (Score:2)
Good grief, I feel like I'm explaining the basics of communication to an autistic kid!
You must be new here.
Re: (Score:3)
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
Re: (Score:2)
Re:Ideas vs. Implementation (Score:5, Informative)
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.)
Re: (Score:3)
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.
Re: (Score:2)
What about:
Re: (Score:2)
I think you've missed GP's point. Do you have evidence that those three were specifically ideas which came from Larry and Sergey?
Re:Ideas vs. Implementation (Score:5, Informative)
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.)
Re: (Score:2)
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).
Re: Ideas vs. Implementation (Score:3)
Re: (Score:3)
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.
Re: (Score:3)
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,
Re: (Score:2)
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.
Re: (Score:2)
Re: (Score:2, Insightful)
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.
Re: (Score:2)
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)
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
Re:Yes, and? (Score:5, Funny)
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.
Re: (Score:3)
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.
Re:Yes, and? (Score:5, Funny)
I heard that Frank Lloyd Wright couldn't grout a wall to save his life.
Re: Yes, and? (Score:5, Insightful)
And a lot of Wrights buildings are in shambles, or gone. Because he was an artist, not a builder.
Re: (Score:2)
Re: (Score:2)
I would say that proves he was an over-hyped idiot, not an artist.
Re: (Score:2)
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]
Re: (Score:2)
Indeed. Much of what makes his later works unique is that he was constantly pushing the boundaries of "architectural" norm. Cantilevers were unheard of, using concrete in the manner he used it was unheard of, etc. Someone has to forge the path and make the mistakes for everyone else to follow behind and improve. Just take a look at your own code. The first time you tried to implement something? I bet it was garbage. The difference is, your code is a recompile away, a building, not so much. These days
Re: (Score:2)
Or maybe he wasn't "criticizing" them but was just reminiscing about the old days when interviewed for this book?
Re: (Score:2)
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.
Re: (Score:2)
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.
Write it once then write it again (Score:2)
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
Re: (Score:3)
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.
Re: (Score:2)
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
Normal for PhD students (Score:5, Insightful)
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.
Re:Normal for PhD students (Score:5, Funny)
and in the business world, with salesmen selling product that hasn't been completed yet, let alone QA'd, there's no difference
Re: (Score:2)
There's a big difference between an academic "end of the world" deadline and a business "we can patch it later" deadline.
Re: Normal for PhD students (Score:2)
Re: (Score:2)
If the NASA project is funded based on hitting this launch window, then there will be no money to pay the hundred or so people for two, eight, or fifty years in order to make the next launch window. Project aborts and everyone goes home.
Has that ever actually happened?
While it doesn't have a specific launch window to hit, JWST is years late and billions over budget (seven years and four times its original budget, according to Wikipedia) and no-one's been able to cancel it yet.
Re: (Score:2)
Commercial projects? If a company's budget is so tight that missing a launch deadline means people stop getting paid, then that company has already failed and is only waiting for the accountants to recognize it. Commercial 'deadlines' are a lot more like graduation deadline than research deadlines.
Think startups and consumer electronics. Miss the deadline and you don't get the orders for Christmas. Don't get the orders and you don't get another round of funding. Bye Bye
Re: (Score:2)
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,
Re: (Score:2)
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)
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)
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)
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)
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)
...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.
Just like all old code (Score:3)
I don't think it's fair to criticize old code by today's standards.
Bill Gates was a lousy coder too (Score:4, Insightful)
Re: (Score:2)
I've heard that he was actually a good coder but have no citation.
his BASIC interpreter worked first time on Altair (Score:5, Informative)
Re: (Score:2)
10 FOR I = 1 to 100
20 X=X+1
30 IF X = 50 THEN I= 100 ; GOTO 50
50 NEXT
Otherwise coding is boring. (Score:2, Funny)
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.
Re: (Score:2)
Maybe I'm falling for a parody, but ... for what type of application and in what environment do you write code?
Re: (Score:3)
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
Re: (Score:2)
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.
Re: (Score:2)
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.
Re: (Score:2)
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.
Re: (Score:2)
In science yes, the other 99% of coding done for pay is not like that.
Re: (Score:2)
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
Re: (Score:2)
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.
Re: (Score:2)
Re: (Score:2)
coding is 20% at a large software company (Score:3)
The needs of the business (Score:3)
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.
Re: (Score:2)
If you write bad code because of deadlines.......well, nothing will make you miss deadlines faster than writing bad code. You can do better.
Re: (Score:3)
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.
eye of the beholder (Score:2)
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
Reminds me of a story... (Score:5, Interesting)
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)
Re: (Score:2)
Re: (Score:2)
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
Re: (Score:2)
So it's better than "Who Moved My Cheese?". That's something, at least.
Re: (Score:2)
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.
I wish I had students like this! (Score:5, Interesting)
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.
I'm sure they'd admit as much (Score:5, Funny)
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).
Re: (Score:2)
no she did google news. and did the founders too.
I ship. (Score:3)
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.)
Re: (Score:2)
All coders start that way (Score:5, Insightful)
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.
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.
Re: (Score:2)
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.
Re: (Score:2)
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)
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.
Ironically Bill Gates could code quite well (Score:2)
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.
Why would they? (Score:3)
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... (Score:2)
Re: (Score:2)
I wouldn't expect Ford to know how to assemble an engine.
Uh, Henry Ford built the engine for his first car on his kitchen table.
I wouldn't expect Oppenheimer to know how to operate a centrifuge.
You think Oppenheimer couldn't figure out how to run a centrifuge?
I have this lovely bridge for you (Score:2)
> "[He] doesn't know how to do that task nor understand the technical issues but doesn't think it should take or cost that much!"
So you just pay whatever someone asks for? We should talk. I have some wonderful solutions to sell you. I don't know exactly how to make toilet paper, but I'm pretty sure it doesn't cost $84 million per roll and I'm not going to pay $84 million per roll.
Beyond that, he was probably right - accomplishing the business goal should not cost that much, as you somewhat admitted ...