Research on Programmers
-
I'm a Phd student in software engineering at Georgia Tech, who studies how developers work. You might have seen some of my work, such as "Programmer, Interrupted" or Developers Getting 50% of Documentation From Stack Overflow. The funny thing is that most researchers in my community never talk to developers, or rarely even consider real world problems. I'm trying hard to change that and engage more with everyday developers. What do you think would be the best way for researchers to engage with developers? One new direction I am taking is trying to get researchers to at least pool together than research studies and results together: http://checkbox.io/studies.html
Chris Parnin, www.cc.gatech.edu/~vector
-
gameweld wrote:
What do you think would be the best way for researchers to engage with developers?
Get a job?
-
That is the job. What do you think Microsoft Research and IBM Research does? Does a researcher have time to run fMRI studies on programmer's brains while coding on a project too?
-
I'm a Phd student in software engineering at Georgia Tech, who studies how developers work. You might have seen some of my work, such as "Programmer, Interrupted" or Developers Getting 50% of Documentation From Stack Overflow. The funny thing is that most researchers in my community never talk to developers, or rarely even consider real world problems. I'm trying hard to change that and engage more with everyday developers. What do you think would be the best way for researchers to engage with developers? One new direction I am taking is trying to get researchers to at least pool together than research studies and results together: http://checkbox.io/studies.html
Chris Parnin, www.cc.gatech.edu/~vector
I agree with Pualee, a decade of programming experience would be the number 1 task. How else would you be able to understand how large of a magnitude poor API documentation is as an issue or poor naming. ASP.NET or COM anyone? Of course, the other real world issue is that Programmer A is not the same as Programmer B and the difference in use patterns between programmers means a study of programmers will skew towards the poor programmers so much that it will negatively affect good programmers.
Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost "All users always want Excel" --Ennis Lynch
-
I agree with Pualee, a decade of programming experience would be the number 1 task. How else would you be able to understand how large of a magnitude poor API documentation is as an issue or poor naming. ASP.NET or COM anyone? Of course, the other real world issue is that Programmer A is not the same as Programmer B and the difference in use patterns between programmers means a study of programmers will skew towards the poor programmers so much that it will negatively affect good programmers.
Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost "All users always want Excel" --Ennis Lynch
I got a B.S., worked 2 years, got an M.S. while working part time. During that time I realized something very clear. People in academics are completely disconnected from people in the day to day grind. It is very visible when you have a prof who also worked prior to teaching. There is also a huge difference between the student who works in the industry, and the one who has not. It is two different things, and if you want people who work for a living to spend time with you, you're going to have to work with them. After work, they have homes, families, and the rest of life to catch up on.
-
I agree with Pualee, a decade of programming experience would be the number 1 task. How else would you be able to understand how large of a magnitude poor API documentation is as an issue or poor naming. ASP.NET or COM anyone? Of course, the other real world issue is that Programmer A is not the same as Programmer B and the difference in use patterns between programmers means a study of programmers will skew towards the poor programmers so much that it will negatively affect good programmers.
Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost "All users always want Excel" --Ennis Lynch
-
I got a B.S., worked 2 years, got an M.S. while working part time. During that time I realized something very clear. People in academics are completely disconnected from people in the day to day grind. It is very visible when you have a prof who also worked prior to teaching. There is also a huge difference between the student who works in the industry, and the one who has not. It is two different things, and if you want people who work for a living to spend time with you, you're going to have to work with them. After work, they have homes, families, and the rest of life to catch up on.
I still remember when I was trying to get Visual C++ installed and was getting Linking errors and my C.S. professor couldn't help because he only knew gcc.
Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost "All users always want Excel" --Ennis Lynch
-
If you read the other messages, I already have over a decade of professional programming experience.
What can I say, I am not a professional researcher and it isn't my job to investigate you when replying to a post. You asked a question and I gave you an honest answer. A decade of programming experience is required if you want to understand programming. If you already have a decade of solid experience you really don't need advice.
Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost "All users always want Excel" --Ennis Lynch
-
What can I say, I am not a professional researcher and it isn't my job to investigate you when replying to a post. You asked a question and I gave you an honest answer. A decade of programming experience is required if you want to understand programming. If you already have a decade of solid experience you really don't need advice.
Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost "All users always want Excel" --Ennis Lynch
Part of the challenge has been helping programmers understand what research is and how it works. A common mistake is to consider experience the same thing as evidence. For years, everyone "knew" that stomach ulcers were caused by stress, until evidence showed that it was actually bacteria. Research in the 60s on bike accidents still affects the way biking laws are instated in the US. Research in SE can impact the idea of open-offices, how technical documentation is created, preventing deathmarches, and create useful tools. But none of that can happen if programmers never let themselves be heard. Stop banging on your keyboard, tell a researcher!
-
Part of the challenge has been helping programmers understand what research is and how it works. A common mistake is to consider experience the same thing as evidence. For years, everyone "knew" that stomach ulcers were caused by stress, until evidence showed that it was actually bacteria. Research in the 60s on bike accidents still affects the way biking laws are instated in the US. Research in SE can impact the idea of open-offices, how technical documentation is created, preventing deathmarches, and create useful tools. But none of that can happen if programmers never let themselves be heard. Stop banging on your keyboard, tell a researcher!
-
gameweld wrote:
What do you think would be the best way for researchers to engage with developers?
Provide free alcohol and a lifetime's supply of BACON. That would be a start.
Chill _Maxxx_
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier -
Researchers that follow the tenets of ethnography, do exactly that. The argument is that they want to avoid bias. I've been a professional developer since 2000 while going to school, so my perspective is a little more different. The difference is that in the 80s when software engineering research was first being done, there was huge funding and partnerships for researchers to engage with developers at places like NASA. Now there is almost no funding for research in computer science, so SE researchers have moved away from studying software development, and instead focus on things like static analysis. But this has lead to the situation where researchers would study something like debugging tools for 50 years without running a user study!
gameweld wrote:
Researchers that follow the tenets of ethnography, do exactly that. The argument is that they want to avoid bias.
In fact, the exact opposite is true. Modern anthropology is based on the key technique of "participant observation," based on the thesis that to understand the weltanschauung, the deep world-view, of another culture, and the polysemiotic umwelts of individuals interacting in the culture, requires immersion, requires learning the language, requires living with, working with, eating with, being with, the group you study. More narrowly, within ethnography, the term "reflexivity" may be used to describe the systematic attempt to expose the bias of the researcher, as manifested in how it shaped the research process, and outcome. Arguably, as a former programmer (is that a "state" ? ... once you are "in it" do you ever "get out" ? ... or, is that an "activity" ?), you have more potential bias to evaluate in your work. Do keep in mind that "classically," ethnography is considered one of the three branches of cultural anthropology (the other two are anthropological linguistics, and archaeology), with an emphasis more on the comparison of cultures. In practice, these "branches" are more conceptual categories, and what goes on "on the ground" in research, and in research's processing by the institutions of academia, may be quite similar, for a variety of social science researchers regardless of their particular "brand." And, inherent in the assumptions of modern anthropology is the premise that the field-worker/researcher can never overcome the existential bias of being an "outsider" from the group they study, no matter how long they try, no matter how fully they adopt lifestyle, customs, behavior, etc. Their hypotheses, their claims to insights, are always culturally relative. Their conclusions, and research, are constructions of a new reality: which does not mean that this "constructed reality" is not very valuable, and unique. And, the reverse, the pilgrim who arrives in "the new world" to explicate for others the uniquely different "old world" they "walked out of the jungle from:" well, that's another profoundly questionable proposition, and possible form of bias: "the inside view" which may be incredibly contaminated by either catering to what the target "audience" wants to hear, sensationalism, hidden agendas, etc. But, often, the "constructed reality" of anthropological, and ethnographic, studies of other h
-
I'm a Phd student in software engineering at Georgia Tech, who studies how developers work. You might have seen some of my work, such as "Programmer, Interrupted" or Developers Getting 50% of Documentation From Stack Overflow. The funny thing is that most researchers in my community never talk to developers, or rarely even consider real world problems. I'm trying hard to change that and engage more with everyday developers. What do you think would be the best way for researchers to engage with developers? One new direction I am taking is trying to get researchers to at least pool together than research studies and results together: http://checkbox.io/studies.html
Chris Parnin, www.cc.gatech.edu/~vector
Good luck to you. There is precious little empirical evidence to back up many of the dogmas that infest our industry. This is one of the only things I have seen thats been of any use: http://www.cse.chalmers.se/~feldt/courses/agile/lee\_2010\_integrated\_analysis\_of\_sw\_dev\_agility.pdf Perhaps the only way to get direct access to real developers working on real projects is to pay companies for their participation?
-
I'm a Phd student in software engineering at Georgia Tech, who studies how developers work. You might have seen some of my work, such as "Programmer, Interrupted" or Developers Getting 50% of Documentation From Stack Overflow. The funny thing is that most researchers in my community never talk to developers, or rarely even consider real world problems. I'm trying hard to change that and engage more with everyday developers. What do you think would be the best way for researchers to engage with developers? One new direction I am taking is trying to get researchers to at least pool together than research studies and results together: http://checkbox.io/studies.html
Chris Parnin, www.cc.gatech.edu/~vector
-
That is the job. What do you think Microsoft Research and IBM Research does? Does a researcher have time to run fMRI studies on programmer's brains while coding on a project too?
gameweld wrote:
Does a researcher have time to run fMRI studies on programmer's brains while coding on a project too?
No, build a "programmer" blind (instead of a duck blind), seat the researcher inside with a portapotty, pads, and pens to take notes on the behavior of programmers in their natural settings. If the researcher is lucky, they may even see the programmers engage in their mating rituals, something that has been rumored , but never observed. :laugh:
Psychosis at 10 Film at 11 Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it.
-
I got a B.S., worked 2 years, got an M.S. while working part time. During that time I realized something very clear. People in academics are completely disconnected from people in the day to day grind. It is very visible when you have a prof who also worked prior to teaching. There is also a huge difference between the student who works in the industry, and the one who has not. It is two different things, and if you want people who work for a living to spend time with you, you're going to have to work with them. After work, they have homes, families, and the rest of life to catch up on.
Your statement is quite true, at least in universities. Working in the industry for over 30 years, our needs are different than what academics are used to. This is why I quit the IEEE. Their articles were too academic for me. Too much theory and not enough practical. Also, I do enjoy MSDN magazine and Visual Studio Magazine. They give me useful information about tools, code examples, and designs that I can apply to my work.
-
I still remember when I was trying to get Visual C++ installed and was getting Linking errors and my C.S. professor couldn't help because he only knew gcc.
Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost "All users always want Excel" --Ennis Lynch
That probably did not help your grade. To do well (really well) in a computer class, you need to use the same tools that the professor uses and be able to talk about the tools. It's also called "sucking up".
-
I'm a Phd student in software engineering at Georgia Tech, who studies how developers work. You might have seen some of my work, such as "Programmer, Interrupted" or Developers Getting 50% of Documentation From Stack Overflow. The funny thing is that most researchers in my community never talk to developers, or rarely even consider real world problems. I'm trying hard to change that and engage more with everyday developers. What do you think would be the best way for researchers to engage with developers? One new direction I am taking is trying to get researchers to at least pool together than research studies and results together: http://checkbox.io/studies.html
Chris Parnin, www.cc.gatech.edu/~vector
I have to pick a fight with you now. Creating this documentation comes at a considerable cost and effort. And after all this effort, much documentation is rarely consulted (citation) In my completely biased, personal, empirical and anecdotical experience, MSDN is still a primary source for the documentation, I've always viewed sites such as StackOverflow acting as a multiplicator. MSDN provides the raw data that stackoverflow contributors bring into an easily-digestible Format. And it's going to be a bad fight because I won't let you go to Microsoft telling them about "other sites" and "considerable cost" and kill off one of the few thigns they still have goign for their platform before you have controlled for that. (say, number of stackoverflow posts with windows-y tags quoting or citing MSDN, weighted by upvotes, or by acceptance.) Phew. Had to get that of my chest. ( But you heard me :suss: ) Anyway: Rock on. We need less distance between research and practice if we want to become a respectable craft. Checking out your studies right away...
-
It makes it sound like we're some mysterious tribe, in the wild, that needs to be studied from a safe distance.
Chill _Maxxx_
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easierI guess that's like we want to see ourselves.
-
I agree with Pualee, a decade of programming experience would be the number 1 task. How else would you be able to understand how large of a magnitude poor API documentation is as an issue or poor naming. ASP.NET or COM anyone? Of course, the other real world issue is that Programmer A is not the same as Programmer B and the difference in use patterns between programmers means a study of programmers will skew towards the poor programmers so much that it will negatively affect good programmers.
Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost "All users always want Excel" --Ennis Lynch
I think that's a bit arrogant stance, it might be excused by pride of craft, but I don't think it's very helpful. Should programmers participating in such a study also need ten years fo experience as a researcher? I doesn't take ten years of bridge building experience to find out people who swear on Stone masonry arches tend to build more robust bridges than those insiting on liana and paper mache. For a Researcher, that "vast experience" might even come with a burden of bias. The gap between research and practise is a vast abyss in our trade, but that's not only the fault of the researchers. ELEPHANT YOU IE STOP "FIXING" MY SPELLING. I am regulary appaled how elitist and snobbish we, as a group, can react to any attempts of research and hard data. What do we have to lose?