Hacker News new | ask | show | jobs
by dusklight 5484 days ago
So how old are you? Do you have any coworkers below 25? How well do they do with multitasking? Better than you?

Twitter, text messages and facebook have trained our minds to work differently. Have you been keeping up?

3 comments

> Twitter, text messages and facebook have trained our minds to work differently. Have you been keeping up?

Have you?

> In a much-cited 2009 paper* in Proceedings of the National Academy of Sciences, for example, Stanford's Eyal Ophir, Clifford Nass, and Anthony D. Wagner show that heavy media multitaskers demonstrate significantly less cognitive control than light multitaskers. The heavy multitaskers "have greater difficulty filtering out irrelevant stimuli from their environment" and are also less able to suppress irrelevant memories from intruding on their work. The heavy multitaskers were actually less efficient at switching between tasks - in other words, they were worse at multitasking.

* http://memorylab.stanford.edu/Publications/papers/OPH_PNAS09...

If you read the details of that paper, they are really not relevant to what I mean.

Let me be more specific.

So when I talk about the asynchronous nature twitter/texting/facebook what I mean is that there are people now (usually young people) who are comfortable with carrying out multiple conversations with different people/groups of people that occur at different rates of time. I am not suggesting that someone who is frequently using twitter/texting/facebook while at work would be more productive than someone who doesn't, but that this experience helps them be able to manage multiple workflows better.

From my own experience, when I talk about multi-tasking as far as it relates to a developer anyway, let me give you an example of something that I can do all the time: I get assigned a bug, I look at the bug board to see what other similar or related bugs there might be, and I assign them to me. Usually this means that some or all of the steps to reproduce the bug are the same, so that if I have to step into the debugger to identify the problem I can set breakpoints in places that should help me figure out more than one bug at a time. In the middle of this, a co-worker sends me an instant message asking for something. I don't immediately know the answer, but I know the general area of the code to look for the answer, so I dig around for a few minutes and then either reply with what was asked or a "I don't know but xyz worked with that code and might be able to help you better." Then I go back to my debugging. I find the bug, or I find a clue that will lead me to the bug, and I write some code, deploy it on the test server, and start a test, which I know will take 20 minutes or so. In the meantime I might reply to some e-mail, do some code review to see what might be refactored to be more readable and/or maintainable, or work on another set of bugs. Then when the earlier test completes I go back to check on it. I might not immediately go back to it after 20 minutes depending on where I am with my other tasks, I would probably find a good natural stopping point first, but the point is at the end of the day I am able to finish all these tasks much faster than if I did them one at a time sequentially.

I don't think what I just described takes particular mental prowess and most of the younger people at my work (and a few of the older ones too) do the same as well. But there are enough older workers who just get hopelessly lost if you ask them to do more than one thing at a time, whereas if I ask a younger co-worker to do the same thing they have no problems, that I have noticed it.

Its an interesting claim. You could contribute positively to the discussion by providing some sort of experiement to test it.

Would it be fair to say you believe that your high level of interaction with various social media sites and technologies has 'trained' your mind's agility? If so, several useful questions arise which I'd love to know answers too;

1) Can you produce more lines of production code over unit time?

If you use a source repository you might be able to analyze this by check-ins. I suspect a large open source project like KDE or Hadoop etc where you could correlate 'agility' of committer with the commits could shed some light here.

2) Do the designs and implementations produced have similar, better, or worse levels of qualities than designs and implementations done by 'less agile' developers?

I'd probably track bug reports and rewrites against lines of code committed.

3) Does the scale of problem change the effectiveness ratio? Which is to say if you're coding/designing/implementing at the top level of a big project vs at the fringe, does the difference between people trained with social media exposure continue?

Bascially correlating the above two data points across all levels of the code and design.

I think it's an open question how to measure developer productivity objectively. I don't think we really have a good way to answer this question right now, but definitely lines of code checked in is one of the worst. Checking in a 1k line class file with lots of dependencies that easily breaks when other code is changed, using a slow algorithm, with lots of difficult to follow code, would not be more productive than a 10 line method that performs the same functionality.

But I see where you are going there.

I mean come on, if you are comparing a fresh out-of-school graduate with someone with 10 years experience I think most people will agree that the older guy in this case will be more productive. There are things you need to know about working with a large code base that can't be taught by school but can only be learnt with experience.

When I say "older" developer, I mean the 40-50 year old who probably was a really good developer 10 years ago, got a steady, cushy job, with a salary that he/she is more than happy with, and stopped learning because he didn't need to anymore.

I know a lot of exceptions to the rule. The older programmer who got into it because he loves to code, who stayed in it because he loves to code, he keeps up with the times and continues to be relevant. The older programmer who just wants to make a buck and go home to his family? He fell behind a long time ago and doesn't want to catch up.

"When I say "older" developer, I mean the 40-50 year old who probably was a really good developer 10 years ago, got a steady, cushy job, with a salary that he/she is more than happy with, and stopped learning because he didn't need to anymore."

Which I'd agree with, but that eviscerates your thesis about the new mind training regimen does it not? After all the learning engaged developer missed out on the training you got from social media.

I think everyone here knows 'bad' developers, I was astonished at the number of people who I knew responded to the question "Why computer science?" with "I hear it pays well."[1] I suspect those folks stop being developers as quickly as they can and move into management (since it has a higher pay cap). So whether you are 20 something and programming by 'cut-n-paste' or 40 something and 'retired-in-grade'

It's wrong to generalize, and it's often a prelude to discrimination to generalize an opinion based on race, color. religion, sex, or age.

I'd love to get better tools and insights into developer productivity. I think it could be a useful differentiating factor on a source code control system.

[1] This contrasts with the people who respond "What? They'll pay me to do this? Cool."

In reference to your comment on discrimination.

http://www.paulgraham.com/say.html

Reading my original post, I think you are right I should have qualified myself better. I was just really upset by the tone of the OP. IMO the reason why many older developers are worse than younger developers is because they THINK they are better than the younger developers. They don't have the hunger to improve themselves anymore, and so they don't.

Personally, if Paul does a 'greatest hits' list for his essays I would vote to include that one in the list. I'm interested in your reference to it though, can you say more about how it relates to this discussion?

Are you suggesting that discrimination is one of the 'fashions' that Paul refers to?

Its statements liks this:

"IMO the reason why many older developers are worse than younger developers is because they THINK they are better than the younger developers."

Which causes me to wonder. We could certainly debate the results of a study that polled a few thousand developers between the ages of 20 and 60 and asked them to self evaluate themselves with developers older, the same age, or younger than them. Except we don't have that study, do you know of one ?

Paul's essay is a good one on open mindedness, and it gives great examples of how people can over-turn or distance themselves group-think by seeking out the unthinkable.

I certainly cannot claim to know what you are thinking but it reads like you think that labelling older developers as lazy, self-deluded, parasites is an example of giving voice to something that is 'true' but 'unsayable' because of some sense of societal impropriety.

I can't really comment on whether or not its 'true' because I've not seen any process where that question has been analyzed. The data from the Stack Overflow study says that people who self-report as older on Stack Overflow give more answers and have higher karma as a result. I didn't see anything in the data that would support a conclusion that these folks are making value judgements about their younger peers or that they no longer wish to improve.

"I was just really upset by the tone of the OP."

Paul wrote in his essay:

"The prohibition will be strongest when the group is nervous. The irony of Galileo's situation was that he got in trouble for repeating Copernicus's ideas. Copernicus himself didn't."

I guess I'm trying to figure out is what you're trying to say. Are you threatened by the idea that someone "older" who has more experience than you is probably "better" than you are by some definition? Or are you trying to argue that your youth and mad social skillz has permanently elevated you above the skill set of people who came before you?

I'm not critical of either view, I'm just trying to understand the data that leads to it. I liked the analysis of the Stack Overflow answers because it was data + analysis. As someone who is always looking to hire top talent, understanding effectiveness is something that helps me do my job better.

I am saying that the older programmers who are downvoting me are feeling nervous.

"I didn't see anything in the data that would support a conclusion that these folks are making value judgements about their younger peers or that they no longer wish to improve."

That's not from the report, just my personal unhappiness bubbling up. I entered the workforce expecting to learn how to be a better programmer from my more experienced co-workers. It was a bit traumatic to realize that they didn't even understand basic things like why using a hashmap is better than a nested for-loop or why one of the basic OOP principles is "favor composition over inheritance."

Since you mention data so much, I am curious, have you ever read "Fool of Randomness" by Nassim Taleb?

In my case, they've helped to destroy my ability to focus (or provided interruption and excuses not to develop it)