Was I too harsh?

A place to discuss the implementation and style of computer programs.

Moderators: phlip, Moderators General, Prelates

User avatar
sourmìlk
If I can't complain, can I at least express my fear?
Posts: 6393
Joined: Mon Dec 22, 2008 10:53 pm UTC
Location: permanently in the wrong
Contact:

Re: Was I too harsh?

Postby sourmìlk » Sat Jun 02, 2012 5:10 am UTC

Spoiler:
Image


Also this
DaveInsurgent wrote:It worked more or less (especially because no one is actually capable of validating the output, there are no requirements and no actual stakeholders)

Reminded me of a time I was writing a small traceroute for a client constantly complaining about connection issues. The traceroute ran from our server to whoever goes onto the webpage with the raceroute, and was intended to show that the connection only started going slowly on their end. They shut up after that. But before I started coding it, my dad suggested just writing "printf("It's on your side.");"

I laughed at him for thinking we still use printf.
Terry Pratchett wrote:The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.

User avatar
Shivahn
Posts: 2200
Joined: Tue Jan 06, 2009 6:17 am UTC

Re: Was I too harsh?

Postby Shivahn » Sat Jun 02, 2012 5:57 am UTC

sourmìlk wrote:I think I'm in the 20%, but I'm also aware of the Dunning-Kruger effect.


This is the best effect.

It's how I simultaneously believe myself to be top 40 and bottom 10% of everything I ever do.

It also leads to the delicious loop of "1) I seem to be pretty ok at this. 2) Wait, everyone thinks that. I probably am doing awfully. 3) Wait, that realization makes it likely that I am just good enough to see my own flaws, so go to 1)."

User avatar
sourmìlk
If I can't complain, can I at least express my fear?
Posts: 6393
Joined: Mon Dec 22, 2008 10:53 pm UTC
Location: permanently in the wrong
Contact:

Re: Was I too harsh?

Postby sourmìlk » Sat Jun 02, 2012 6:07 am UTC

Shivahn wrote:

Code: Select all

10: I seem to be pretty ok at this.
20: Wait, everyone thinks that. I probably am doing awfully.
30: Wait, that realization makes it likely that I am just good enough to see my own flaws
40: GOTO 10

FTFY.

But yeah, that process is always fun. The sad thing though is that awareness of the Dunning-Kruger effect doesn't actually seem to diminish it. I was reading on the scientifically rigorous website Cracked.com about a study in which people were asked to rate some characteristic of themselves. Predictably, they all rated themselves above average. When the scientists gathered all the subjects together, told them that this was a mathematical impossibility, and asked if anybody might want to revise their opinions, nobody did.
Terry Pratchett wrote:The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.

Ben-oni
Posts: 278
Joined: Mon Sep 26, 2011 4:56 am UTC

Re: Was I too harsh?

Postby Ben-oni » Sat Jun 02, 2012 7:10 am UTC

The 20-80 breakdown here isn't Pareto's Law as applied to programmers, though that breakdown probably exists, too. And nobody is locked into one side or the other. A spectrum of programming skill or productivity will probably breakdown somewhat differently, though the 20% are more likely to either be in or progress into the higher side of those curves. An analogy: The 20% are those who are actively expanding their toolbox. You might start out with a small toolbox, but it will grow if you keep with it.

User avatar
sourmìlk
If I can't complain, can I at least express my fear?
Posts: 6393
Joined: Mon Dec 22, 2008 10:53 pm UTC
Location: permanently in the wrong
Contact:

Re: Was I too harsh?

Postby sourmìlk » Sat Jun 02, 2012 7:23 am UTC

I'm not sure what point you're trying to make.
Terry Pratchett wrote:The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.

DaveInsurgent
Posts: 207
Joined: Thu May 19, 2011 4:28 pm UTC
Location: Waterloo, Ontario

Re: Was I too harsh?

Postby DaveInsurgent » Sat Jun 02, 2012 2:12 pm UTC

Luckily, nowadays most of these people have been shunned to tech support work, or for in-house teams, or for governments, and stuff like that. They're not actually bad - they just see programming as a day job.)


So, what does a 20%er do when they're stuck on an in-house team? Or do in-house teams still need them?

User avatar
Steax
SecondTalon's Goon Squad
Posts: 3038
Joined: Sat Jan 12, 2008 12:18 pm UTC

Re: Was I too harsh?

Postby Steax » Sat Jun 02, 2012 2:26 pm UTC

DaveInsurgent wrote:
Luckily, nowadays most of these people have been shunned to tech support work, or for in-house teams, or for governments, and stuff like that. They're not actually bad - they just see programming as a day job.)


So, what does a 20%er do when they're stuck on an in-house team? Or do in-house teams still need them?


From my experience and network? They usually shine really brightly, then realize they're not living up to their potential because of corporate pressure and whatnot, and move elsewhere.
In Minecraft, I use the username Rirez.

User avatar
Zamfir
I built a novelty castle, the irony was lost on some.
Posts: 7604
Joined: Wed Aug 27, 2008 2:43 pm UTC
Location: Nederland

Re: Was I too harsh?

Postby Zamfir » Sat Jun 02, 2012 4:46 pm UTC

If you can't be a good programmer if you see it as a day-job only, then that is a pretty bad state for the profession. In particular, it's a strong argument for young people to aim at another career if they can.

webzter_again
Posts: 119
Joined: Sun May 27, 2012 4:37 am UTC

Re: Was I too harsh?

Postby webzter_again » Sat Jun 02, 2012 6:45 pm UTC

Ben-oni wrote:though the 20% are more likely to either be in or progress into the higher side of those curves.


Hmm, sounds like we're heading to the 1% vs 99%

jareds
Posts: 436
Joined: Wed Jan 03, 2007 3:56 pm UTC

Re: Was I too harsh?

Postby jareds » Sat Jun 02, 2012 7:30 pm UTC

Zamfir wrote:If you can't be a good programmer if you see it as a day-job only, then that is a pretty bad state for the profession. In particular, it's a strong argument for young people to aim at another career if they can.

The way people are stating it is a little strong. I would agree that people who enjoy programming as a hobby are better programmers, but that doesn't actually mean it needs to consume your life or that it can't, as a hobby, fall mostly by the wayside as your life progresses, or even that it has to be your favorite hobby.

I know several people at work who I would suspect don't program much outside of work (mostly married with kids, but that's just because it's enough to make me assume someone doesn't have a lot of free time even if I don't know them well). They are all good programmers; certainly not even close to the people that the article describes as the 80%.

But we use a non-trivial programming test as a hiring filter...
(It does differ from the Pesto scenario in that the candidates have a computer with a compiler and debugger and are left mostly to their own devices for an afternoon but the problem is harder, which (1) makes it more similar to their normal programming experience and (2) at least eliminates the stress of someone sitting there waiting for you to answer. I'm sure it's still possible to fail due to stress; I'm actually curious what the anti-stress posters think of this variation.)

Back to the day-job issue, one will in general find that people spend more time on their hobbies when they are in their 20's and much less as they get older due to life events. In my mind the point is really that you may very well want to aim at another career if programming isn't something you enjoy enough to do as a hobby when you're young, not that you need to plan for programming for 20 hours a week outside of work to keep your skills sharp.

Stated this way, it should not be so surprising for an intellectual profession. I'm sure if you separate mathematicians and math teachers into groups that do, or do not, enjoy math puzzles enough to have sometimes done them in their free time, you will find that the former are better at their jobs (if you find any mathematicians in the latter group in the first place). Should people who don't enjoy math should avoid these careers? Sure. Should all people avoid these careers? No, that would be silly.
Last edited by jareds on Sun Jun 03, 2012 12:51 am UTC, edited 1 time in total.

User avatar
Steax
SecondTalon's Goon Squad
Posts: 3038
Joined: Sat Jan 12, 2008 12:18 pm UTC

Re: Was I too harsh?

Postby Steax » Sat Jun 02, 2012 11:53 pm UTC

Zamfir wrote:If you can't be a good programmer if you see it as a day-job only, then that is a pretty bad state for the profession. In particular, it's a strong argument for young people to aim at another career if they can.


Well, the 80% aren't necessarily bad programmers. They usually get their job done, and, with some pushing, can get it done fairly well too. The only issue is that the 20% tends to get exasperated at the 80%; they seem lazy to fix semantical errors ("if it's working, then it's good enough, right?"), don't have the initiative to learn new stuff, etc. It was why I brought up the classification in response to DaveInsurgent.
In Minecraft, I use the username Rirez.

User avatar
Aaeriele
Posts: 2127
Joined: Tue Feb 23, 2010 3:30 am UTC
Location: San Francisco, CA

Re: Was I too harsh?

Postby Aaeriele » Sun Jun 03, 2012 1:50 am UTC

webzter_again wrote:
Ben-oni wrote:though the 20% are more likely to either be in or progress into the higher side of those curves.


Hmm, sounds like we're heading to the 1% vs 99%


Except that all it takes to be in the 20% is a mindset. You don't have to acquire monetary resources or any other such (all you need is available for free on the internet), and it's not a status that you're basically stuck in (you can pretty easily decide that you're going to make an effort to learn more for yourself).
Vaniver wrote:Harvard is a hedge fund that runs the most prestigious dating agency in the world, and incidentally employs famous scientists to do research.

afuzzyduck wrote:ITS MEANT TO BE FLUTTERSHY BUT I JUST SEE AAERIELE! CURSE YOU FORA!

DaveInsurgent
Posts: 207
Joined: Thu May 19, 2011 4:28 pm UTC
Location: Waterloo, Ontario

Re: Was I too harsh?

Postby DaveInsurgent » Sun Jun 03, 2012 3:57 am UTC

So, Robert C. Martin made a point in The Clean Coder to suggest that every developer who wants to be good and remain employable needs to expect to spend 20 hours a week on top of thier job soley dedicated to the betterment of their skills.

I can't say I disagree with the concept, a doctor that works 40 hours a week certainly would have to invest additional time to stay current and continue to improve, as would just about any other professional I can think of. In fact, isn't that what differentiates a professional from a trade/vocation worker?

I'm not sure about the 20 hours though. That seems like a lot! I have a family, two kids. I am 26. I try to read and work on new things as much as I can, but I am certainly not a "20%"er. I can count on one hand the number of times I've seen a *nix shell, I use Internet Explorer... but I would be comfortable saying I am a decent developer - if only because I am aware that I'm *not* a *great* developer. I've been told by some colleagues my senior both in years and experience that I am one of the best engineers they have ever met, but I just don't buy it. I look at Kent Beck, Martin Fowler, and many others and I see a CLEAR line between us. But I don't think it's the 20/80 line. I know who they are trying to put in the 80 side - I work with people who never go to Stack Overflow or who have literally never even heard of it and don't see why it's of any use once you show it to them. They're the ones who yes, absolutely, arrive to work, unbuckle their seat belt and flip on "I am a programmer" mode vomiting out code until they get back in their car. Then they don't think about it anymore.

I think that, as an "80%", is wrong. It's not adequate - those people are inferior both in their skill and their ambition. They are NOT professionals. I consider myself to be an adequate professional, I expect that if I keep at it I will make senior developer/engineer some day with the right amount of experience and practice, but I don't consider myself a "20%" person. I say this most of all because I am not producing anything. I entirely consume: blogs, books, articles, etc. Yes, I have some half-decent SO answers, but that's not enough to elevate me to some top-tier group of elite pioneers. Or at least, let me say, it may be right now, but that's not a good thing. It's a sad state because there is, if the 20/80 thing is true, an abysmally low level of professionalism in the industry - and I believe that. But don't give me so much credit for being not bad at my job.

User avatar
Steax
SecondTalon's Goon Squad
Posts: 3038
Joined: Sat Jan 12, 2008 12:18 pm UTC

Re: Was I too harsh?

Postby Steax » Sun Jun 03, 2012 4:10 am UTC

I've always felt that the 20%/80% developer thing wasn't meant to classify people. It was meant to clarify this issue: The 20% programmers fail to recognize the existence of the 80%.

That's an issue with profound implications with real-life effects. For instance, it means that we can't rely on blogs or forums to spread information to the 80%. It's why we need to keep churning out books and content to reach out to them. It causes flaws in conversations and workflows: the 20%er will be busy advocating a team move to an agile workflow with lighter tools, or to pick up a NoSQL database or RoR, while the 80% is busy perfecting his code so he finishes behind budget and schedule. The 20%er would inevitably be annoyed at his coworker's stubbornness - so it's why the 20%er needs to understand how to talk to the 80%er and mutually explore their crafts. It's why we still need to support old and dying browsers and languages, and need to keep creating new tutorials and methods to bring them up to speed.

I think trying to classify people as a 20%er or 80%er is the wrong approach entirely. It was never the point. The point was that there is a gap, as strict or as grey as one would like to define it, and we have to bridge that gap - so if your coworkers aren't going up to speed, it's your job to realize that this gap exists.
In Minecraft, I use the username Rirez.

User avatar
sourmìlk
If I can't complain, can I at least express my fear?
Posts: 6393
Joined: Mon Dec 22, 2008 10:53 pm UTC
Location: permanently in the wrong
Contact:

Re: Was I too harsh?

Postby sourmìlk » Sun Jun 03, 2012 8:16 am UTC

I honestly have never knowingly met or talked to a coder that was in the 80%, so I suppose I understand why we wouldn't be aware of them. They're normal people who code for a living. Since when do I interact with normal people? (All of you: this is a compliment).

DaveInsurgent wrote: I can count on one hand the number of times I've seen a *nix shell, I use Internet Explorer

Ouch. If you've got code problems I feel bad for you son. I've got 99 problems, but a kid ain't one.
Terry Pratchett wrote:The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.

User avatar
You, sir, name?
Posts: 6983
Joined: Sun Apr 22, 2007 10:07 am UTC
Location: Chako Paul City
Contact:

Re: Was I too harsh?

Postby You, sir, name? » Sun Jun 03, 2012 12:46 pm UTC

I don't think anyone[1] in this forum is 80% material, based purely on the fact that they visit this forum. The 20% are not some super-human elite clique, they are the programmers that actually care about programming, and partaking in this discussion means you're that sort of a person.

[1] Other than perhaps those 4 post accounts that drive by and post problems they can't solve and expect us to solve their problems for them.
I edit my posts a lot and sometimes the words wrong order words appear in sentences get messed up.

webzter_again
Posts: 119
Joined: Sun May 27, 2012 4:37 am UTC

Re: Was I too harsh?

Postby webzter_again » Sun Jun 03, 2012 2:10 pm UTC

DaveInsurgent wrote:I'm not sure about the 20 hours though. That seems like a lot! I have a family, two kids. I am 26. I try to read and work on new things as much as I can, but I am certainly not a "20%"er. I can count on one hand the number of times I've seen a *nix shell, I use Internet Explorer... [...] I look at Kent Beck, Martin Fowler, and many others and I see a CLEAR line between us. But I don't think it's the 20/80 line.


First, you're looking at how you compare stacked up against, arguably, the top 1% in their field (although Beck seems to be losing it a bit these days). If there is an 80/20 breakdown in programming skill, then there is probably a further breakdown within the 20% and within the 80%.

Second, while you might not have time to delve into things outside of your core, you should work hard to at least carve out time to advance your existing skills. If you're a web dev then, unless there is overwhelming reason not to, you really should have a couple other browsers in your workflow. Even if you're not a web dev, and you just need a browser, there's no harm in trying out Opera or Chrome or Firefox. If you're a Windows app dev, then push yourself to try some new tools. If you're using MSBuild for everything, then check out Rake for fun. Basically, push it a bit at work and mix things up where you can, if you aren't already.

Since professional development is vital to keeping you current, which in most cases is beneficial to your employer, you should broach the topic of carving out an hour or so every day on the job for training. Sure, it's not 20 hours a week above and beyond, but it's 5 hours a week that will have long-term net positive results for both you and your employer (surely you aren't 100% productive 40 hours a week at work, plus you might learn ways to be more efficient that up your productivity much more than 5 hours)

DaveInsurgent wrote:I think that, as an "80%", is wrong. It's not adequate - those people are inferior both in their skill and their ambition. They are NOT professionals. I consider myself to be an adequate professional, I expect that if I keep at it I will make senior developer/engineer some day with the right amount of experience and practice, but I don't consider myself a "20%" person.


I'm sure there are bands within the 80% (if we assume such a thing) as well. In the article linked to by the article Steax mentioned, the author does a good job framing up, specifically, what he means by the delineation.

eta: I currently work at a .net shop on a small team (I'm half of it). We do web dev stuff. asp.net mvc (and whole lot of other, cooler, frameworks are the standard... asp.net mvc has been out for years now). One candidate we interviewed, when asked what they knew about the mvc stack, said nothing but they'd love to learn someday. They've been programming for a while and in .net the whole time and doing web dev stuff for most of that time.. but all in old, crusty technology without even looking to see what else is out there. Those are the people that I think of at the bottom of the not-criminally-incompetent stack.

ImagingGeek
Posts: 380
Joined: Fri Aug 06, 2010 6:41 pm UTC
Location: Canada

Re: Was I too harsh?

Postby ImagingGeek » Mon Jun 04, 2012 1:39 pm UTC

Ben-oni wrote:
ImagingGeek wrote:
Ben-oni wrote:And I don't buy the arguments about interviews being innately stressful.

And you are 100% wrong.

Again, don't put words into my mouth. I didn't say they're not stressful. I did, in fact imply that they are. I said I don't believe the argument predicated upon that fact is valid.

Maybe you should read those links I posted...the argument predicated on that fact is supported by a plethora of evidence.

Or, you can keep on ignoring the evidence.

Bryan
I have a new blog, on making beer.

Not that anyone reads it...

User avatar
Zamfir
I built a novelty castle, the irony was lost on some.
Posts: 7604
Joined: Wed Aug 27, 2008 2:43 pm UTC
Location: Nederland

Re: Was I too harsh?

Postby Zamfir » Mon Jun 04, 2012 3:29 pm UTC

webzter_again wrote:
I'm sure there are bands within the 80% (if we assume such a thing) as well. In the article linked to by the article Steax mentioned, the author does a good job framing up, specifically, what he means by the delineation.

based ont hat article, is he really talking about a difference in skill? His description of the 20% are people who make programs at home, who contribute to OSS projects, who chase the latest fashion in OSS tools.

Which can surely make you better professional programmer, but that's no guarantee, and other things might be just as effective. Especially for a large company with a mature and effective way of working that won't be changed on a whim. Then you can be much better off with someone who focuses on the job and the directly relevant tools and practices, instead of diverting their mental attention to hobby projects and trying out the cutting-edge.

User avatar
darkone238
Posts: 111
Joined: Thu Feb 09, 2012 6:37 am UTC

Re: Was I too harsh?

Postby darkone238 » Mon Jun 04, 2012 9:33 pm UTC

Regarding 20% vs 80%, I don't feel that I really fall into either category. I graduated with a degree in Computer Science and got hired directly into a job. I enjoy learning new things, especially things that help me do better at my job. I don't go out of my way to work on open source projects, I don't spend my weekends rewriting gcc or fighting with the latest and greatest *nix distro. However, I don't just "code enough to get by." I want to be better and I am always trying to improve or learn new methods. Maybe that makes me part of the 20%, even though I am not as passionate about many of the things they listed?

User avatar
Shivahn
Posts: 2200
Joined: Tue Jan 06, 2009 6:17 am UTC

Re: Was I too harsh?

Postby Shivahn » Mon Jun 04, 2012 10:19 pm UTC

Don't worry about being the 20%, worry about being the best you can.

The main problem with labels like that is that people fixate on them, rather than what they mean, or why they're good.

User avatar
Steax
SecondTalon's Goon Squad
Posts: 3038
Joined: Sat Jan 12, 2008 12:18 pm UTC

Re: Was I too harsh?

Postby Steax » Tue Jun 05, 2012 2:27 am UTC

Yes, don't worry about where you are. It doesn't really work that way, and it doesn't even matter. The concept was brought up to illustrate the gap that exists between active, explorative people and the more goal-focused developer. It's meant to describe how people in the 20% camp need to realize the existence of the 80% and cope with it. There's no necessary better group among the 20%/80%; it's not to determine productivity, ability, or whatever. People of either camp could be 'better' than the other. It's just a difference in how they receive, process and work with knowledge in their field.

But as YSN said, by the mere fact that you're here is pretty much, by definition, enough to get you into the 20% group.

There's another metric which I like: you're an amateur developer until you realize that everything you write sucks.

Probably not too related with the 80/20% discussion, but also useful.

And yes, I love Jeff Atwood's blog.

And perhaps we should split the thread?
In Minecraft, I use the username Rirez.

User avatar
darkone238
Posts: 111
Joined: Thu Feb 09, 2012 6:37 am UTC

Re: Was I too harsh?

Postby darkone238 » Tue Jun 05, 2012 8:57 pm UTC

Steax wrote:Yes, don't worry about where you are. It doesn't really work that way, and it doesn't even matter. The concept was brought up to illustrate the gap that exists between active, explorative people and the more goal-focused developer. It's meant to describe how people in the 20% camp need to realize the existence of the 80% and cope with it. There's no necessary better group among the 20%/80%; it's not to determine productivity, ability, or whatever. People of either camp could be 'better' than the other. It's just a difference in how they receive, process and work with knowledge in their field.

But as YSN said, by the mere fact that you're here is pretty much, by definition, enough to get you into the 20% group.

There's another metric which I like: you're an amateur developer until you realize that everything you write sucks.

Probably not too related with the 80/20% discussion, but also useful.

And yes, I love Jeff Atwood's blog.

And perhaps we should split the thread?

That's probably a good idea (both on not worrying about 20vs80 and splitting the thread). When labels are concerned I am more concerned (not worried, per se, but..) with how others will label and treat me. I've received a lot of negative attention in the past for not doing things like participating in open source projects on *nix, etc. I suppose I should just learn not to care ;)

User avatar
sourmìlk
If I can't complain, can I at least express my fear?
Posts: 6393
Joined: Mon Dec 22, 2008 10:53 pm UTC
Location: permanently in the wrong
Contact:

Re: Was I too harsh?

Postby sourmìlk » Sun Jun 10, 2012 7:32 pm UTC


That actually worries me. I like a lot (although certainly not all) of the code I write. Some of my game engine's modules I'm rather proud of, and now I'm worried that I'm just suffering from the Dunning-Kruger effect.

EDIT: After reading this I'm a bit less worried. My code is improving at least. On the one hand, I hope it continues to do so. On the other hand, I hope that doesn't give me the urge to rewrite everything every year.

Also, I asked my dad (a rather experienced programmer) and I think he recognizes the distinction between hobbyist developers and those who just code as a job.
Terry Pratchett wrote:The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.

User avatar
You, sir, name?
Posts: 6983
Joined: Sun Apr 22, 2007 10:07 am UTC
Location: Chako Paul City
Contact:

Re: Was I too harsh?

Postby You, sir, name? » Sun Jun 10, 2012 10:30 pm UTC

sourmìlk wrote:

That actually worries me. I like a lot (although certainly not all) of the code I write. Some of my game engine's modules I'm rather proud of, and now I'm worried that I'm just suffering from the Dunning-Kruger effect.

EDIT: After reading this I'm a bit less worried. My code is improving at least. On the one hand, I hope it continues to do so. On the other hand, I hope that doesn't give me the urge to rewrite everything every year.

Also, I asked my dad (a rather experienced programmer) and I think he recognizes the distinction between hobbyist developers and those who just code as a job.


I guess it varies from person to person. I personally can't stand looking at old code I've written. It's weird and awkward. Like listening to a recording of myself saying stupid things.
I edit my posts a lot and sometimes the words wrong order words appear in sentences get messed up.

User avatar
Steax
SecondTalon's Goon Squad
Posts: 3038
Joined: Sat Jan 12, 2008 12:18 pm UTC

Re: Was I too harsh?

Postby Steax » Mon Jun 11, 2012 12:11 am UTC

By "sucks", they don't mean "horrible and beyond use". They're implying that a good programmer realizes they can always use with some improvement, or refactoring of some sort. It's the basic premise behind efforts like open source and team programming... And why programmers love to revisit their code. I find much of my old code literally repulsive in at least one way. Usually it's some sort of horrible optimization fail or a piece of code that's three times as complex as it needs to be.

Articles like that aren't meant to judge, either way. They're meant to help people realize their faults.
In Minecraft, I use the username Rirez.

User avatar
sourmìlk
If I can't complain, can I at least express my fear?
Posts: 6393
Joined: Mon Dec 22, 2008 10:53 pm UTC
Location: permanently in the wrong
Contact:

Re: Was I too harsh?

Postby sourmìlk » Mon Jun 11, 2012 12:48 pm UTC

You, sir, name? wrote:I guess it varies from person to person. I personally can't stand looking at old code I've written. It's weird and awkward. Like listening to a recording of myself saying stupid things.

One of the reasons why I don't let anybody record me.

Steax wrote:Articles like that aren't meant to judge, either way. They're meant to help people realize their faults.

I don't see much of a distinction there.

Anyways, a few days ago I was helping a friend's acquaintance (hereafter referred to as "Jim") with some debugging. Jim had a friend create a bit of code that just selected and then displayed on a webpage information from four random rows in a database. The code worked for a bit, but after updating a table the code referenced (just the table's content, not its structure), the code broke. Jim couldn't reach his friend, but my friend offered my services to Jim in exchange for lunch (which was delicious, by the way: I got cheesecake). It was reasonably simple to debug: Jim's friend was relying on the rows' unique IDs never being updated or broken (basically, the all the row IDs would have to be numbered 1 ... [max rows] without any breaks).

Trying to address the database rows by ID when it a) wasn't necessary and b) relied on faulty assumptions wasn't even nearly the worst part of his code. Instead of simply writing a loop that looped four times for each item to be displayed, Jim's friend copy pasted a large amount of code 3 times. He rewrote PHP's substr function (and did it poorly). Despite the fact that Jim explicitly asked him, he refused to comment his code. He then refused to admit that anything could go wrong and, when Jim tried to reach him, ignored all calls (which is why Jim needed me to debug).

The point is, if that's what I'm up against, I'm not worried, and if that's not what "sucks" means, then I'm not worried.

But what do you do about constantly wanting to redo your code? I've redone everything I've coded at work at least once and I've redone most of my game engine at least twice. Luckily I have a lot of free time in both work and at home, so that hasn't been a practical problem, but I can easily see it becoming one.
Terry Pratchett wrote:The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.

User avatar
Steax
SecondTalon's Goon Squad
Posts: 3038
Joined: Sat Jan 12, 2008 12:18 pm UTC

Re: Was I too harsh?

Postby Steax » Mon Jun 11, 2012 1:03 pm UTC

To an extent, yes. It's not really black and white, anyway.
In Minecraft, I use the username Rirez.

User avatar
sourmìlk
If I can't complain, can I at least express my fear?
Posts: 6393
Joined: Mon Dec 22, 2008 10:53 pm UTC
Location: permanently in the wrong
Contact:

Re: Was I too harsh?

Postby sourmìlk » Mon Jun 11, 2012 1:06 pm UTC

Steax wrote:To an extent, yes. It's not really black and white, anyway.

Well yeah, of course. I guess classifications like Atwood's tend to polarize more than they probably should (at least when I look at them).
Terry Pratchett wrote:The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.

User avatar
Jplus
Posts: 1721
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: Was I too harsh?

Postby Jplus » Sun Jun 17, 2012 12:37 pm UTC

I really like the 80/20 distinction, although I fullheartedly agree that it shouldn't be interpreted as a discrete dichotomy. In fact, the sharper you define some imaginary border between the "classes", the more meaningless and unrealistic it becomes. People might be very motivated and interested but not very talented, or the other way round, or they might float anywhere between the categories for a legion of different reasons.

Also, I'd like to add the 10k hours rule to the mix. The 80/20 distinction doesn't tell you much about somebody's level of skill. In fact, the only thing that seems to matter for almost all things universally is the number of hours you've made. Typically people aren't really good at something (anything) until they've made at least 10k hours doing it*. So somebody at the bottom of the 80% (with some appropriate training and enough motivation) can perform much better than somebody high in the 20%, if the former made significantly more hours than the latter. 20% people will probably make more hours per week on average though, so they might reach the 10k hours sooner.

To speak for myself, I'm sure I'm high in the 20% (no false modesty here). On the other hand, I'm also sure I haven't made 10k hours of programming yet (it's probably somewhere between 5k and 8k). Everytime I consider my qualities I think of my hours, hopefully protecting myself somewhat from the Dunning-Kruger effect. Also, I strongly relate to this:
You, sir, name? wrote:I guess it varies from person to person. I personally can't stand looking at old code I've written. It's weird and awkward. Like listening to a recording of myself saying stupid things.



*) For irony, consider what this means for the level of sex skills in most people.
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
sourmìlk
If I can't complain, can I at least express my fear?
Posts: 6393
Joined: Mon Dec 22, 2008 10:53 pm UTC
Location: permanently in the wrong
Contact:

Re: Was I too harsh?

Postby sourmìlk » Sun Jun 17, 2012 3:11 pm UTC

Jplus wrote:*) For irony, consider what this means for the level of sex skills in most people.

Having never had sex, I don't know how often people do it or how much time it takes them* to within any degree of accuracy: what does this mean?

* - I know that it takes Dwight Schrute 19 minutes, 46 seconds to have sex with Angela Lipton (nee martin), but that's about it. Considering that this number comes from a comedy I'm willing to make no judgment about how accurately it represents an average.
Terry Pratchett wrote:The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.

User avatar
Jplus
Posts: 1721
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: Was I too harsh?

Postby Jplus » Mon Jun 18, 2012 10:17 am UTC

My rough estimate was that most people might never actually make even so much as 5k hours of sex in their entire lifetime. You can look up some statistics if you want to play with the parameters. ;)
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
Zamfir
I built a novelty castle, the irony was lost on some.
Posts: 7604
Joined: Wed Aug 27, 2008 2:43 pm UTC
Location: Nederland

Re: Was I too harsh?

Postby Zamfir » Mon Jun 18, 2012 11:00 am UTC

I don't think anything special happens round 10,000 hours, that's just a cute hook from Malcolm Gladwell.

It's more that 10,000 hours is the order of magnitude that you could practice a skill as a young person, and still considered a born 'talent' afterwards. 50,000 hours is too much: anyone who has spend that much time on an activity is clearly a senior and experienced practitioner. 2,000 is not enough: many people with an interest in the skill will rack up such experience before adulthood.

So when people are expectionally good at something at the apparent start of their career, they often turn out to have in the order of 10,000 hours of practice behind them.

Ben-oni
Posts: 278
Joined: Mon Sep 26, 2011 4:56 am UTC

Re: Was I too harsh?

Postby Ben-oni » Mon Jun 18, 2012 11:08 am UTC

Jplus wrote:My rough estimate was that most people might never actually make even so much as 5k hours of sex in their entire lifetime. You can look up some statistics if you want to play with the parameters. ;)

Oh, it's not so bad as all that, really.

The 10k+ hours rule usually includes time seriously spent thinking about a field. Take mathematics: there's a lot less "doing" and a lot more "thinking about" involved in gaining skill and experience. Even with coding, it's not the amount of time you spend with your fingers on the keyboard actively typing code. The time spent staring at and examining code, the time spent trying to figure out where you went wrong, and even the time spent reading books about coding all count. All of which implies that the average 15 year old boy is highly skilled, sexually speaking.

Dr. Willpower
Posts: 197
Joined: Wed May 28, 2008 3:55 pm UTC

Re: Was I too harsh?

Postby Dr. Willpower » Mon Jun 18, 2012 6:19 pm UTC

These ideas are all fascinating, but they don't have any scientific basis. I don't mean to discredit the ideas (because I haven't), but the point stands to be made. These are just thought tools.In your real life you might find that they have zero correlation to reality. If you project these perspectives onto other programmers, you're making the mistake of prejudice (or, mid-judice, or whatever it would be called after having met someone but before having the knowledge required to pass judgment).

My point is to not let your instinctive desire to quantify things get the better of your rational understanding that everyone is unique (and thus defy quantization).
Image
Hat me, bro

User avatar
Jplus
Posts: 1721
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: Was I too harsh?

Postby Jplus » Mon Jun 18, 2012 6:58 pm UTC

You have a strong point that everyone is unique. However, there happens to be a scientific basis for the 10k hours rule. In particular, there has been a publication on the number of hours spent exercising by high level musicians. I don't recall where I heard about it or what was the criterium for "high level", but it might coincidentally be the Malcolm Gladwell thing that Zamfir mentioned. If nobody can fill me in on this I'll try to find it back sometime soon.
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
Zamfir
I built a novelty castle, the irony was lost on some.
Posts: 7604
Joined: Wed Aug 27, 2008 2:43 pm UTC
Location: Nederland

Re: Was I too harsh?

Postby Zamfir » Mon Jun 18, 2012 7:03 pm UTC

Gladwell wrote a book called "Outliers: the story of success", which was in turn based on "Toward a General Theory of Expertise" by a sociologist called Anders Ericson. I think it's fairly obvious why Gladwell is rich and Ericson is not.

Dr. Willpower
Posts: 197
Joined: Wed May 28, 2008 3:55 pm UTC

Re: Was I too harsh?

Postby Dr. Willpower » Mon Jun 18, 2012 8:01 pm UTC

Jplus wrote:You have a strong point that everyone is unique. However, there happens to be a scientific basis for the 10k hours rule. In particular, there has been a publication on the number of hours spent exercising by high level musicians. I don't recall where I heard about it or what was the criterium for "high level", but it might coincidentally be the Malcolm Gladwell thing that Zamfir mentioned. If nobody can fill me in on this I'll try to find it back sometime soon.


Well, I wasn't specifically referring to that, but I suppose I was talking about it. I seem to remember reading that somewhere or at least hearing about it. If its true, then that's all well and good. If its not, then okay. Its an excellent thought tool. I'm just cautioning against going around thinking about people differently based on how many hours of experience they have (or how many blogs they read, or if they realize they're amateurs).

The 10k hours thing is especially important for exercising caution. You might have 0 hours right now, but what about in five years? The current state of affairs for you and especially for anyone you meet is just a cross section of a much larger span of time. Anyways, I digress. My point is at best adjacent to a point already made some posts above and even that point is off topic.
Image
Hat me, bro

mr-mitch
Posts: 477
Joined: Sun Jul 05, 2009 6:56 pm UTC

Re: Was I too harsh?

Postby mr-mitch » Tue Jun 19, 2012 3:13 am UTC

Jplus wrote:You have a strong point that everyone is unique. However, there happens to be a scientific basis for the 10k hours rule. In particular, there has been a publication on the number of hours spent exercising by high level musicians. I don't recall where I heard about it or what was the criterium for "high level", but it might coincidentally be the Malcolm Gladwell thing that Zamfir mentioned. If nobody can fill me in on this I'll try to find it back sometime soon.


The Role of Deliberate Practice in the Acquisition of Expert Performance, Ericsson et al.
http://graphics8.nytimes.com/images/blogs/freakonomics/pdf/DeliberatePractice(PsychologicalReview).pdf

and other similar studies with Ericsson.

User avatar
Jplus
Posts: 1721
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: Was I too harsh?

Postby Jplus » Tue Jun 19, 2012 9:48 am UTC

Thanks for the pointer! I think there has been a more recent study (2005+-ish) as well, though.
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)


Return to “Coding”

Who is online

Users browsing this forum: No registered users and 4 guests