raganwald
(This is a snapshot of my old weblog. New posts and selected republished essays can be found at raganwald.com.)

Wednesday, May 09, 2007
  Alternate Universes


J_____ leads the dev team for Vault and Fortress. In the course of our discussion, I suddenly realized that none of our marketing efforts would reach J_____. He doesn’t go to trade shows or conferences. He doesn’t read magazines. He doesn’t read blogs. He doesn’t go to user group meetings.
—Eric Sink, How would you reach YOU?


Now I don’t know J_____. But I do respect Eric, so I assume he has hired a very capable individual. But I have to admit, I’m scratching my head. I am obviously living in a bubble, surrounded by hackers and bloggers and other refugees from Normalia.

I simply can’t imagine anyone leading a development team who doesn’t attend trade shows or conferences, ever. Who doesn’t read professional publications (perhaps more online than dead tree, but still). Who is too busy to go to user group meetings, or (a remote possibility) has tried them but found there was nothing of interest, nobody of value to his life. And especially who doesn’t read any blogs. Are blogs that much of a time waster that there are none that add value to his career?

My colleagues at BigCo read blogs and go to Java conferences. I was recently part of a team discussing a new business opportunity with a very buttoned-down, penny-loafer organization. Very smart, capable people. And they read my blog. I suspect they go to conferences and read magazines. I can’t imagine any of them being so isolated from the rest of the industry. Yet here is this capable individual made from a different bolt of cloth.

What is he reading? MSDN magazine? I assume he is not a complete outlier. There must be a whole universe of people out there who are writing software who simply never intersect with my world, not even briefly. This situation is like two particles that are so far away in space-time that their four-dimensional cones of influence never interact.

Amazing.

And as Eric explained, I need to get out there and meet some of these people, learn how to talk to them, learn from them. My Universe suddenly feels very small and isolated.
 

Comments on “Alternate Universes:
This is so very, very true.

Online culture skews our perceptions that everyone is involved.

If you look at the top 10 blogs of an genre, most of them only have around 100k-300k subscribers. And it quickly goes down to the top 100 having around 10k subscribers.

It really isn't that wide of an audience.
 
Reg, it's remarkable how those people (like "J.") are perfectly suitable for doing a task they're familiar with and only look outside their comfort zone when they've finally been laid off.

I chuckle quietly when someone laments how they "just can't seem to find a job" after being laid off for months ... I ask them "what trade magazines do you receive? What journals do you read? Which blogs?" and they answer "none ..." or "I haven't since the last time I was unemployed ..."

Uh, pattern, anyone?
 
One of my standard interview questions for both contractors and employees alike is: "Which online or print resources do you read?" - an obviously directed question designed to find out if the person in question bothers to keep current or not.

No trade shows I can understand; worthwhile print periodicals are becoming harder and harder to find; but beyond that I can fathom no excuse.

In this day, in this age, with the sheer abundance, the sheer wealth, of valuable information being created online there's no excuse for not constantly learning. It's an exciting time to be a developer - in my mind not embracing that to some degree simply illustrates a lack of enthusiasm and interest in the industry and profession itself.
 
I stop short of saying that J_____ doesn't learn. I cannot imagine that he would be the dev lead of an ISV making development tools without a great deal of technical knowledge.

He couldn't possibly have been born with it, and I don't think "Building Scalable Source Control Systems 400" is offered at the local University, so I am quite confident he is learning.

My issue is, I don't know how he does it, and that tells me that I don't know everything I ought to know about keeping current in my industry.

Should I be taking courses in night school? Getting Java certifications? Having trainers come into my company?

Obviously there are other ways to learn and grow, and J_____ must be pursuing them. How else could he maintain the respect of his team and his boss? How else could he keep up with moderns development ideas?
 
That is a good point - the two do not necessarily equate at all. Perhaps it is generational (not age-generational per se but rather with regards to programming tracks: BigCo apps vs. web apps, non-networked apps vs. networked apps, etc.)

As for keeping up with "modern development ideas" - could it be that there is an entire industry in which this is not necessary? On the web it seems natural to assume a lack of inertia == death. Perhaps we're assuming away an entire class of our peers for whom that isn't true?
 
All of these things- reading magazines, blogs, going to conferences-- all of these things are notwork. Work is getting software written, reading the books necesary to learn new skills and perfecting the software you have written.

NotWork is social interaction that is not actually producing lines of code or improving the lines of code. While you can occasionally learn useful things from blogs, conferences, and user group meetings, the time invested vs. the work time improvement recieved is actually very low.

The majority purpose of these activities is socialization, purely.

This is why anyone who says they won't hare someone who doesn't have a blog is effing clueless-- they won't hire someone who has a superior work ethic?

A year ago, J___ was me. While I go to conferences its less than one a year on average. I don't read trade magazines (cause the content is generally poor.) and I never read blogs at all. For the last 4 months, I have invested time reading blogs and after a bit of initial enthusiasm am ruthlessly paring down the blogs I read.... because the vast majority of them are a complete waste of time, the vast majority of the time.

For instance, I like Ragenwald, its in the top 10 of blogs I read and I'd say the content here is relevant about %25 of the time. There's nothing you should do to change that because you aren't writing just for me....

but I am amazed at the narrow minded, arrogant and ignorant view of so many who confuse notwork for work, example being Dossy:
"are perfectly suitable for doing a task they're familiar with and only look outside their comfort zone when they've finally been laid off."

The primary avenue for learning new things is topic specific web pages (eg: for things that are not mainstream enough to support a book) or books. This is how you learn technical things, dossy. This is where you become a better engineer. Magazines and conferences are targetted at pointy haired types, they are too mainstream and thus generally not really going to improve an engineers skills.

The pattern is that commonly people like dossy confuse notwork for work.
 
could it be that there is an entire industry in which this is not necessary?

Possibly, although if you don't want to follow your job to a developing country, I recommend learning anyway.

But If there is such an industry out there, I don't think building tools for developers is that industry.

Something tells me that staying on the leading edge of the developer curve is important.

Even if you don't use every technique and every shiny new toy, don't you need to know what your customers are playing with?

I'm confident that J_____ is staying on the leading edge of the curve. And if he isn't networking the way I network, he is probably networking another way.

How else does he recruit members for his team? How else does he put his ear to the ground?

Again, I'm sure he is out there. As Jay points out, there are other ways to expand your brain. I want to know what they are!
 
It don't believe it for a second. Sounds like the evolved people who don't own TVs and can still quote episodes of The Simpsons from memory or own DVDs of Firefly that they watch on their computers.

I actually am one of those people myself. Don't mean to sound too critical. But still. You're programming, and you never reference any blogs? I just don't believe it.

@jay:

I never read blogs at all

Are you sure?
 
Reg,

One good way to become better is to work at a company with some really, really smart people in it. Just the other day I met the dev who owns the Windows thread scheduler (among a lot of other kernel features). He gets face time with David Cutler. So ... if I wanted to bone up on modern OS design in a many-core world, would I be better off trying to find a blog with this stuff on it, or by having lunch with this dev?

This is one of the reasons that folks work at companies like Microsoft, Google, IBM, etc. There's a whole different kind of notwork that happens around here.
 
John:

I am very happy that you have found your own happiness helping people to write code for Microsoft's platform.

It sounds like you are stimulated working in Redmond. You have one degree of separation from someone you really, really respect, and in time you may work directly with Mr. Cutler.

Now...

The article is about the vast majority of people, like J_____, who do not work with people like Mr. Cutler on a regular basis.

My question is, what are they doing, where do they get their knowledge, how do they stay current?

I get the impression from your comment that you are trying to champion the idea that you don't need to read blogs to be informed.

I don't doubt that for a moment. All I'm asking is, what do those of us who aren't prepared to make a certain kind of Faustian bargain do to keep up?
 
On the web it seems natural to assume a lack of inertia == death. Perhaps we're assuming away an entire class of our peers for whom that isn't true?

Yes, yes you are. If you look at hardware design and verification languages (what I do, programming is a hobby for me) there are about 3-5 blogs, tops (other than ones started by new grads that peter off after four months).

There's maybe 3 good forum/message boards.

I'm sure that's not the only discipline that hasn't embraced blogging. The EDA software industry that develops tools for digital/analog hardware simulation seems to be pretty low when it comes to blogging as well.

It's natural for any kind of web development to embrace blogging and the latest new internet thing. But there are lots of specialized disciplines that could be considered related to programming (requiring compsci/comp eng/elec eng degrees) that have almost nothing to do with blogging except for a handful of brave pioneers.
 
Reg,

Have you not read Mr. Sink's "Baptists and Boundaries"?
 
I am keenly aware of the Baptists and Boundaries post. In a lot of ways, Eric's latest post just repeats the same point.

Which fires me up with enthusiasm. I'm in Room Six, it feels like Heaven, but where is everybody else? What are they doing? What could I be doing with them if we hooked up? What do they know in Room 33 that I don't know in Room Six? What's the deal with Room 54? How come I don't know how to get to Room 54?

I'm going crazy with curiosity. If you tell me there are 1,000,000 programmers who don't care about anything except MSDN magazine and what MSFT will release next, fine. I know what room they're in, I can go there or not as I please.

But where is everybody else? What are they doing? How do they learn? What do they know that I could learn? What could I share with them?
 
I can imagine some reasons why software developers wouldn't read blogs.

First, if you are working on projects that have nothing to do with advancing the state of the art but everything to do with solving some current business problems in a conservative (enterprisey?) environment using "mature" technologies, there is perhaps little immediate need to stay up to date on the latest trends out here (though that can't be good for your career, long-term). All you need can be gleaned from books and documentation.

Of course, from a vantage point more similar to my own, "mature" is little more than a euphemism for "legacy". Thus, looking down from my bubble, it can be puzzling to see people starting new projects using "obviously dead" technologies like, say, CORBA, whereas within their environment it may indeed make some sense.

Another reason for not reading blogs is believing them to be a transient phenomenon. I've actually had this argument presented to me, in all seriousness, by certain older programmers. I guess the argument made some sort of sense, back in the day.

They'd seen so much stuff come and go over the years that they'd become insensitized to change, or at least stopped trying to guess what would have staying power and what wouldn't. Effectively, they'd ceased being early adopters - only following, not leading. For their online social interactions, they much preferred good ol' Usenet to web forums or blogs (and certainly the signal/noise ratio can be better on Usenet).

For a professional "career programmer" all the above may make sense. There are probably a good number of other perfectly reasonable excuses.

Personally, I think it simply comes down to whether one wants to live at the frontier or the homestead. I'm a happy camper as long as my bubbles intersect the cutting edge so that I can see the stars my destination ;-)
 
Come on, there is push technology (reading the blogs, magazines) and pull technology (web search and picking up the O'Reilly books pertinent to the project at hand). Of course I would rather hire someone who uses all of these, but if I had to choose one or the other I would definitely prefer those who use the pull technology. I find that push technology can get you up to speed in a shallow way quickly (how many of you have met the person who can babble all the acronyms quickly, but has no idea what they mean). The only way to really understand the field is to go through the pull technology methodically for years. One way to do this is by taking on a series of projects over the course of years.

Once you have mastered the pull technology it is usually easy to get up to speed on the (usually highly redundant) push technology.
 
My own experience with "push" and "pull" is that push is vital to pull!

The web can answer any question. The problem is, what is the right question to ask?. Obviously, if you only ever read blogs that stick to the things you think you already know, that won't help.

But if you are not young enough to know everything, it helps to have other people push new ideas your way.

I find that the "push" material whets my appetite, which I satiate through books and research papers.

Quite honestly, the choice between "push" and "pull" strikes me as a false dichotomy.

Now back to J_____. He may not read blogs, but can he really be an effective dev lead for a company building dev tools without looking into things he doesn't already think he knows?

I suspect he is "pushed" and he also "pulls," but he has his own way of getting new information.

And I still want to know what it is!
 
Reg,

If this is driving you so crazy, have you considered just asking Jeremy?

jeremy@sourcegear.com

Get your answer straight from the horse's mouth.
 
Matt:

Thanks, I have emailed him the question. I hope he is not too busy to dash off a response!
 




<< Home
Reg Braithwaite


Recent Writing
Homoiconic Technical Writing / raganwald.posterous.com

Books
What I‘ve Learned From Failure / Kestrels, Quirky Birds, and Hopeless Egocentricity

Share
rewrite_rails / andand / unfold.rb / string_to_proc.rb / dsl_and_let.rb / comprehension.rb / lazy_lists.rb

Beauty
IS-STRICTLY-EQUIVALENT-TO-A / Spaghetti-Western Coding / Golf is a good program spoiled / Programming conventions as signals / Not all functions should be object methods

The Not So Big Software Design / Writing programs for people to read / Why Why Functional Programming Matters Matters / But Y would I want to do a thing like this?

Work
The single most important thing you must do to improve your programming career / The Naïve Approach to Hiring People / No Disrespect / Take control of your interview / Three tips for getting a job through a recruiter / My favourite interview question

Management
Exception Handling in Software Development / What if powerful languages and idioms only work for small teams? / Bricks / Which theory fits the evidence? / Still failing, still learning / What I’ve learned from failure

Notation
The unary ampersand in Ruby / (1..100).inject(&:+) / The challenge of teaching yourself a programming language / The significance of the meta-circular interpreter / Block-Structured Javascript / Haskell, Ruby and Infinity / Closures and Higher-Order Functions

Opinion
Why Apple is more expensive than Amazon / Why we are the biggest obstacles to our own growth / Is software the documentation of business process mistakes? / We have lost control of the apparatus / What I’ve Learned From Sales I, II, III

Whimsey
The Narcissism of Small Code Differences / Billy Martin’s Technique for Managing his Manager / Three stories about The Tao / Programming Language Stories / Why You Need a Degree to Work For BigCo

History
06/04 / 07/04 / 08/04 / 09/04 / 10/04 / 11/04 / 12/04 / 01/05 / 02/05 / 03/05 / 04/05 / 06/05 / 07/05 / 08/05 / 09/05 / 10/05 / 11/05 / 01/06 / 02/06 / 03/06 / 04/06 / 05/06 / 06/06 / 07/06 / 08/06 / 09/06 / 10/06 / 11/06 / 12/06 / 01/07 / 02/07 / 03/07 / 04/07 / 05/07 / 06/07 / 07/07 / 08/07 / 09/07 / 10/07 / 11/07 / 12/07 / 01/08 / 02/08 / 03/08 / 04/08 / 05/08 / 06/08 / 07/08 /