Thanks for this -- I can't speak for the person you're responding to, but I had the same confusion and it was definitely because I was thinking of Cringely.
I'll often use sequence diagrams or entity relationship diagrams when I need to explain how a piece of code works (or even just visualize it for myself). I don't tend to be very pedantically correct about it, but having a picture makes it a lot easier to follow how different pieces fit together. I generally leave out a lot of the less important details when doing this.
I wouldn't generally use it to design code that hadn't been written yet. There's a lot you only discover once you get something working, and that needs to inform the design.
All the time. Many times per day. I've been programming for fifteen years, and I think my willingness to Google things has only gone up over that time. There are a lot more things that I know off the top of my head now than when I started, but I've got way less tolerance for wasting time trying to figure out weird problems when there's already an answer online.
15+ years here too, I have exactly the same situation. 90% of the things I worked on years ago, I wouldn't bother with now; I would just google. There's only so many times you can make a library to handle 'common stuff' :)
Even though Google didn't exist back in 'the day', I would say I look up stuff more and more as time goes on - I always take a look at what's out there before making a decision to get coding.
As cliched as it is: The greater your experience, the more you know how little you know.
OT: Interestingly I just came across my first 'expert sex change .com' link in years a few days ago.. for some ugly and stupid legacy server error, naturally I swore at the site again, and told my colleagues about how much we 'hated on that' in the day.
This article is from a year ago and change. Have there been any recent developments? I've seen the link going around lately, but I can't tell whether it's because there's news or just because it happens to be going around again.
Having lived through this winter in the Northeast, I can promise you that SF is beautifully warm all year round. Case in point: it is a place where people use the word "freezing" to describe temperatures 10-20 degrees above the melting point of water.
There are so many things to love about this speech, but I think my favorite part is this: "the only thing that actually works is not ideological, it is impure, has elements of both arguments and never actually achieves any kind of partisan or philosophical perfection."
That's an extremely cogent observation about capitalism, but it would be just as relevant in a discussion about FP and OO, or about team social dynamics. Across the board, I see people doing better work when they spend less time seeking philosophical consistency and purity, and more time responding to real observed situations.
Pairing with other experienced programmers works very well for me, and has made me more effective as a programmer. I've also seen our junior developers learn a lot from pairing with each other. In my working environment, with other people who enjoy that style of work, we think it's pretty great.
It obviously doesn't work well for you, so I strongly recommend not doing it.
Why is it so terrible that people are playing with interesting, creative, sometimes crazy new ideas, and sharing their results?
I have had some good experiences with pairing where I've learned a lot, but more often feel that I've gone for weeks without ever feeling the flow, the point where all the pieces of system come together for me and I can see end-to-end what needs to be written, where and how, and that's what I write code for; if you took that away I'd give up tomorrow and become an accountant.
It's more the happy-clappy tone of these articles that grates than the fact the someone's done it and written about it. As someone else pointed out, the experiments are never controlled, never peer-reviewed, and often unreproduceable, but they're always presented as the next great thing to hit software development. It's time to stop with the bullshit, stop with the certified courses, stop with the pretence that if only your team pushed bits of paper around a whiteboard they'll magically become 10 times more productive. Instead, find out how each individual can be the best developer they can be, and facilitate THAT. Of course, that requires investing in actual people management, which is something that is in short supply compared to agile-methodologies-du-jour.
However, I've also seen situations where two junior devs have produced some appalling edifice of code between them, so perhaps that's an argument for rotating pairs faster. Personally I feel both they and the company would have better off if they'd been coached by someone with more experience, but that's not pairing, the power relationship isn't equal.
My understanding is that the Promiscuous Pairing idea was started by real developers working on a real project with tight deadlines. The point of the paper is that, counterintuitively, the approach worked very well _in practice_. So I wouldn't be so quick to dismiss it based on first principles.
That said, it certainly depends a lot on context. My team at work has tried full on switch-every-ninety-minutes Promiscuous Pairing a couple of times. Once, it worked really well: everyone started knowing the code much better; we got more done; we spent less time stuck and confused and more time producing quality software. Another time, it was a nightmare: everyone felt rushed and confused; it seemed like we were constantly being interrupted; we never felt like we were getting anything done.
I'm not entirely sure what made the difference. Our going explanation is that, the second time around, we had a higher baseline level of interruptions already, so the constant switching just added stress and made it impossible to focus. We haven't tried switching that aggressively since then (although we've been considering it lately, as the circumstances seem better for it--that's why it's on my mind right now). On the other hand, it's still rare for us to switch less than once a day, and that's been absolutely great.