Possible SCNA topic

I’ve been thinking about what talk I might give at Software Craftsmanship North America this year. I have a reputation for “Big Think” talks that pull together ideas from not-software fields and try to apply them to software. I’ve been trying to cut back on that, as part of my shift away from consulting toward contract programming. Also, I’ve heard rumblings that SCNA is too aspirational, not enough actionable.

However, old habits die hard, and I’m tempted to give a talk like the following. What do you think? Should I instead talk about functional programming in Ruby? Since this antique Wordpress installation makes commenting annoying, feel free to send me mail or reply on Twitter (@marick).

Persuasion, Scientists, and Software People

Science, as practiced, is a craft. Even more, it’s a high-stakes craft: scientists have to make big bets by joining in on what Imre Lakatos called “research programmes”. (A research programme is a Big Theory like Newtonian physics, quantum mechanics, Darwinian evolution, Freudian psychology, the viral theory of cancer, and so on.) It’s interesting to learn how scientists are persuaded to make those big bets.

It may also be useful. There are similarities between scientists and software people that go beyond how software people tend to like science and to be scientifically and mathematically inclined. Scientists build theories that let them build more theories. They build theories that let them build experiments that help them build more experiments. Software people build programs that help them build programs—and help them build theories about programming. So ways scientists are persuaded might also be ways software people can be persuaded.

If so, knowing how scientists persuade each other might help you persuade people around you to risk joining in on your craftsmanship “programming programme”.

In this talk, I’ll cover what the science students Imre Lakatos, Joan Fujimura, and Ian Hacking say about how science progresses. I’ll talk about viruses, jUnit, comets, Cucumber, Mercury’s orbit, Scrum, and positrons.

4 Responses to “Possible SCNA topic”

  1. drew Says:

    Part of the linkage there is probably Design of Experiments. I’d love it if that discipline were more widely understood and practiced in software-land.

    http://en.wikipedia.org/wiki/Design_of_experiments

  2. Brian Marick Says:

    My dissertation topic was a properly done Design-of-Experiments experiment. I discovered: programmers vary a lot. This is why I do not have a PhD.

  3. tomm Says:

    I follow your blog mostly because I love it’s “Big Think” perspective. That said, I think this topic will miss its audience (the reason however is a longer explanation than I would like to leave here).

    FWIW, I’d be interested in hearing your take on why, after all these years, programmers and languages are warming up to functional programming constructs and concepts. Is it quality control? Craft? Job security? What?

  4. utahkay Says:

    I think it’s important to talk about what you’re passionate about. Of course you could be interested in many different things, but if it comes down to a choice between something you’re really excited to talk about vs something you’re moderately interested to talk about… I know which talk I’d want to hear.

    I don’t think they would have you on the program if they wanted an ordinary or expected talk in that spot.

    I hope to make it there and hear the talk you decide to give!

Leave a Reply

You must be logged in to post a comment.