Observations of programmers in the wild

Just got back from CUSEC . I got an interesting view of the current state of the programmer subculture. It is much more social than in my day. There is a whole culture of meetups, *-camps, and little conferences. Ruby seems particularly cool right now. Almost everyone had a Mac. Doing open source counts a lot for street cred.

What I found shocking was that there are now “cool programmers”, who are cool not because of awesome code, but by virtue of showmanship and relentless self-promotion. It’s like the cool kids in High School. Blogging and twittering has become a way to strike a pose and market yourself. Group events have become parties for working your popularity, and some of them have become semi-exclusive. To take a positive view, this just shows that programming has become a normal human activity, and programmers are reverting to the mean of human behavior. Still 98% male though.

I wonder if there is some connection to the fact that social networking apps are all the rage right now. Web 2.0 yada yada. I find it a little depressing that the ultimate fruit of our technology should be to give people new ways to gossip and flirt.

I got to meet Dan Ingalls and Avi Bryant. Had a good conversation with Avi. Just from talking with him, I could tell he is a great programmer, probably better than I am, even than I was at his age. Scary. Anyway, we talked about Smalltalk a lot. It suddenly clicked that a lot of the people who appreciate my work are Smalltalkers. Much of my work could be seen as trying to pick up where Smalltalk left off. There would be a certain poetic justice in my using Smalltalk as a development platform – stepping back in history in order to move forward. Every once in a while I check out the latest state of Squeak, but get put off by the terrible out-of-the box experience. I mean, bit-mapped fonts! The popup help refers to the red and blue mouse buttons (from the Alto). You can almost hear disco music in the background.

These cosmetics are a good example of why Smalltalk has had a seminal influence on programming, but no one actually uses it. The Smalltalk culture just doesn’t reach out. They are more like a cult in a mountaintop monastery. If you can prove yourself by overcoming the difficult path to reach them, they will teach their secret knowledge to you. But they are not about to make it attractive and easy for everyone. This attitude is even reflected in the core technology, which has difficulty packaging and distributing applications to users. Smalltalk is for programming, and teaching, but not for vulgar commerce. A great tragedy, in my opinion.

As for my talk, I guess it went OK, and a number of people talked with me afterwards, but I was dissatisfied with it. I tried to cram in both my research and reflections on the field, and there really wasn’t enough time for both and I ended up rushed and skipping.

26 Replies to “Observations of programmers in the wild”

  1. I went to CUSEC as well. Are you referring to some of the presenters, the delegates, or both?

    I could see the argument being applied to a couple of the presenters, but they also seemed fairly genuine.

    [No comment – Jonathan]

  2. Double posting here, but I also find it depressing that social networks are massive data mines. Ex. Facebook not only knows who your friends are, but exactly how you know them (“friend details”).

  3. I agree that the web2.0 crowd sometimes gets carried away with social networking tools but these tools have done a lot of good IMO. I live in Singapore. If not for blogging/twittering/etc I could never keep in touch with these awesome programmers living in some other part of the world. I follow Avi Bryant’s tweets, his blog, and I’ve seen his work on DabbleDB, Seaside, Maglev. He is largely responsible for making me interested in SmallTalk.

  4. Your comments re the cosmetics of Smalltalk, which I take to mean Squeak, are dead on. I understand there is much fascinating and beautiful tech in Squeak, but I am unwilling to stare at it long enough to learn how to fix its dreadful out of box appearance. So I’m doing Haskell to get my fix.

  5. I wonder if there is some connection to the fact that social networking apps are all the rage right now. Web 2.0 yada yada. I find it a little depressing that the ultimate fruit of our technology should be to give people new ways to gossip and flirt.

    Couldn’t agree with you more. What’s more, these sites provide a prominent, easily seen and decidedly inaccurate way of measuring ‘coolness’.

  6. The Smalltalk culture has a right to be “like a cult in a mountaintop monastery”, because arguably Smalltalk is indeed so kewl as to warrant such striking of poses and such ultra-intellectual exclusivity. Are you sure you’re a genuine Smalltalk programmer, worthy of the august appellation?

  7. The fact that that macs and ruby are popular is enough to lock up this generation of coders in jail and throw away the key.

  8. I think I agree with the sentiment in this post. In relation to programming languages, I think there are three categories of people.

    There are programming language researchers, who write extremely advanced, experimental compilers and interpreters and who really know their stuff, but rarely blog about it or go to conferences, they just publish awesome reasearch papers.

    Then there are programmers who don’t care what language they use as long as it is good enough, can be deployed easily enough, and has some half decent libraries. Their language may not be ‘cool’, but the software they write is. They never blog or go to conferences because they are too busy writing real software that real people use and that is really awesome, things like operating systems and stuff.

    Then there are douchebags who blog about programming languages but don’t know anything technical about them, write shitty web 2.0 apps, use ruby (or occasionally python) on their mac, and go to conferences and look cool in their thick rimmed glasses.

    It is the last category that need to be removed.

  9. “I find it a little depressing that the ultimate fruit of our technology should be to give people new ways to gossip and flirt. ”

    What exactly is ignoble about using technology to allow people to communicate with each other and enjoy themselves?

  10. in general, i agree on the whole “coolness” sucks thing… but it is short-sighted to address the socializing aspect of the technologies as their prominent achievement. as i see it, it is fair and reasonable to accept the social interface of the technologies as the necessary means to an end. data mining. there is far more to be gained from the analysis of representations of human behavior than an improved ad targeting machine. while we can only see the ads and the bullshit, the analysts are having a ball. if anything, the social interface is the only way to mask the initially unpleasant concept of being quantified in an analytical system which aims to understand human behavior and then, presumably, to influence it. really, it completely obscures it and few even consider what they are contributing to. i would also guess that voluntary data is far more useful than data provided to “required fields.”
    on the coolness topic, the presence of personality-fests always serves as a useful filter against low quality collaborations. avoid their avid supporters, their work, and their influence.

  11. “I find it a little depressing that the ultimate fruit of our technology should be to give people new ways to gossip and flirt. ”

    I’m not sure whether to laugh or sigh at the irony. Way to rise above it.

  12. > These cosmetics are a good example of why
    > Smalltalk has had a seminal influence on
    > programming, but no one actually uses it.

    It’s a good example of confusing one specific Smalltalk implementation (Squeak) with all the other Smalltalk implementations.

    It’s a good example of being out-of-touch; there’s even a Squeak derivative that has “TrueType fonts with subpixel anti aliasing”
    http://pharo-project.org/about/screenshots

    As you mention Avi Bryant presumably “no one actually uses it” is just negative hype – or perhaps you just don’t know where Smalltalk is used commercially.

    [Isaac – That’s the best news I’ve heard in a while! Finally someone is forking Squeak and trying to build something clean and usable. Still in alpha, but I will keep an eye on it. FYI, I was a commercial Smalltalk developer in the mid 90’s (VisAge). Ditched it for Java. – Jonathan]

  13. (Why require name and e-mail when I can enter bogus values?)

    Oh this is so painfully true.

    Python and Django certainly has this kind of behavior.

    An interesting ponder is: who is cool, and who has commit access?

  14. As one of the delegates at CUSEC (and one of the people who heard you speak), I can say with confidence that you have nothing to worry about. Your presentation was fine, and even though you might be dissatisfied I can assure you that we weren’t!

  15. If you’d said “I was a commercial Smalltalk developer in the mid 90’s (VisAge). Ditched it for Java.” in the blog article readers might have seen that:

    – Smalltalk obviously was “for vulgar commerce” IBM VisualAge Smalltalk “Big business…” “Big future…”
    http://www-01.ibm.com/software/awdtools/smalltalk/about/

    – Java beat out Smalltalk partly because the Smalltalk vendors were so interested in vulgar commerce that they actually wanted to be paid for Smalltalk instead of giving it away!

    – “They are more like a cult in a mountaintop monastery” is more like a parody of Lisp complaints than a knowledgeable opinion from the days when Smalltalk was pushed as the OO replacement for Cobol.

  16. Yeah, I’m amazed by Smalltalkers clinging to the coloured buttons thing.

    Forget about fonts, which is cosmetic enough to ignore. If they’d just accept that the mouse and window open/minimize/close/maximize controls are now more or less standard (I don’t care if they use Windows, Mac, Gnome or KDE … just use one of them!) then they’d get an order of magnitude more users.

  17. Do you really believe popularity is a new phenomenon?

    The Internet is just an enabler.

    @I find it a little depressing that the ultimate fruit of our technology should be to give people new ways to gossip and flirt.

    Jamie Zawinski said it best in response to Nat Friedman wanting to build an open source groupware app at Novell: ‘”How will this software get my users laid” should be on the minds of anyone writing social software (and these days, almost all software is social software).’ ~ JWZ

    Also, you are out of your mind if you prefer community to tools. You need to be a visionary leader to start something big. Stick with .NET and WPF. Talk to Miguel de Icaza about your ideas. He works in Boston and hacks on Silverlight. Also, if you haven’t paid close enough attention (actually, any attention at all), people are asking to start an OSS project *around you and your ideas*, but your blushing. People are falling over offering to help you out.

    The funny thing is that the ego-maniacal programmers you are talking about would kill to have your momentum, and would be much better at pushing the popularity. However, they don’t have your eye for simplicity, so they will always fail.

  18. @Had a good conversation with Avi. Just from talking with him, I could tell he is a great programmer, probably better than I am, even than I was at his age. Scary.

    Does this mean you feel you’ve declined in “great programmer” mojo over the years? If so, why?

    [Age erodes your stamina for concentration. It takes longer to work up a white-hot level of concentration, and you can’t keep at it for as long. You can compensate with experience and wisdom to work smarter, but you can’t win in a flat-out sprint. Jonathan]

  19. John “Z-Bo” Zabroski > Do you really believe popularity is a new phenomenon?

    Do you mean by “popularity” high-school popularity?

    “Once you have something that grows faster than education grows, you’re always going to get a pop culture.”

    “A Conversation with Alan Kay” December 1, 2004

    http://queue.acm.org/detail.cfm?id=1039523

  20. Leave it to Alan Kay to poetically explain why any given adult will often seem dumber than a four year old. I had to do a triple-take to grasp his point.

    @Jonathan

    I know I’m not recognizable as a programmer, for that reason. I have an even temperament throughout. Sprinting burns me out, though. No Scrum for me, thank you very much. It is all about the decathalon.

  21. and I mean popularity as in the prime objective is to get laid.

    Popularity is all about knowing how to attract people to you. That means playing off their strengths and weaknesses, detecting each really well, etc.

    In high school, if the prettiest girl thought I was attractive, then all of her female friends saw me in a different light.

    I know many of my peers want acknowledgment from best programmers. They are so surprised when I say I don’t have a blog. I learned my lesson about being shallow when my hot girlfriend in college dumped me when I said I was giving up sports and weight lifting for being a nerdy bookwarm computer scientist. Having large mental muscles and flexing them is no different than bench pressing 500 pounds.

Comments are closed.