How to impress Joel Spolsky
programmers.stackexchange.com
programmers.stackexchange.com
Joel is such an enjoyable author to read that it really doesn't matter what he's writing about. He could be writing about some random Distributed Version Control system you have no intention of using (and he has) and you could still be pretty sure you'd be in for a pleasant 15 minutes.
I hope somebody can convince the guy to put stuff like this up on JoelOnSoftware. I mean sure, somebody might accuse him of blogging again (god forbid), but selfishly it would be nice not to have to rely on HackerNews to find little gems like this for me.
Simple rule: if you're the smartest person in the room, go look for a room with smarter people in it.
Also, there's a difference between thinking you're smartest and knowing it. Mostly in attitude.
If the person has a strong feeling of self worth that is independent of intelligence, they won't care very much, and so can be more objective about whether they're the smartest person in a room, regardless of if they are or aren't.
Put another way, there will undoubtedly be situations for a very high percentage of human beings where they happen to be the smartest person in the room. Being able to recognize this doesn't necessarily indicate arrogance or an inflated perception of one's intelligence.
Of course this issue is also obscured by the entirely vague and amorphous nature of the very concept of intelligence. There likely exist countless 'mentally retarded' people who have much higher emotional intelligence than a typical MIT genius, and are thereby probably better equipped for a happy, successful, and socially beneficial life.
On the other hand, if you have that kind of attitude it will probably be mutually beneficial if you stay the hell away from him so it's a good strategy.
It's interesting how people came up with different interpretations or 'take home points.' This thread has made me think about the essence of storytelling. I guess it's like
- people always do things for reasons
- when people do strange things, we tell stories about it
- the stories are interesting because we must reconcile the strangeness with the motivation (ie. its interesting because the motivation is not immediately obvious but we know it must be there unless the subject was insane)
- the job of fiction is to imagine new 'interesting' cases; the difficulty is keeping it 'true.' The author doesn't have the luxury of relating what did happen, he/she has to project what would happen, sort of like a machine plugging endless variables into an equation until an unusual/unexpected (but still valid) result crops up
Someone could teach a high school English class with Joel's SO post
Over the years as I've looked around me, I've seen a lot of people stagnating in their jobs. Sometimes it's because of lack of effort from the developer, and sometimes it's because of poor management.
But if doing a great job isn't already enough, then maybe the job is a poor fit. The parable in the story touches on both of these issues: trying hard, and the struggle to please management.
A third issue that's perhaps more important: you need to find the work fulfilling for your own reasons. Working exclusively for the praise of your superiors is a good way to be unhappy with your employment in most places. So figure that out, or go to a place where the work matters.
And buyer beware: there are places even in San Francisco where doing good development work will garner you no notice. I just left such a place.
Do you mean focus on what's important to you or what's important to management? I agree that if you focus on what's important to the people you work for and they don't appreciate that, then it's a crappy place to work. But what's important to a developer is often completely irrelevant to the business.
It's funny how thought provoking your question is, though. Because a lot of developers, as you point out, care about far different things for their own reasons. One developer I knew, cared more about everything being 100% as "efficient" as possible before releasing it. She didn't care if things ever got released, really, that didn't matter as much as whether it fit her personal ideas of what's aesthetically ideal. To show you how extreme that was, she spent a week writing a caching layer (in python) using a hashtable + list for a least-recently-used algorithm. When I mentioned she could do this in 2 lines of code talking to memcached, she refused, pointing out how silly it is to talk to an external process with a context switch to look up some data.
Who's right and who's wrong? Hard to say. I guess it depends on the context, and what the company is trying to do. I think the answers are different if you're trying to show good, sustainable results for customers without muddying up the code base, versus if you're writing software for lunar rovers.
I think the thesis is "If in a few years nothing you have done will matter at all, then go change that even if doing so makes you look like a madman."
Not to take anything away from the value of his writing. It's good to stay engaged and delighted with the fundamentals. If you get bored with the simple things, you'll neglect them and spend all your thinking about novel, peripheral, trivial things that you aren't bored with yet. Making the important things you've known for ten years sparkle and rock again is a valuable contribution.
Don't get me wrong, there's nothing inherently bad about that, but I just lost interest and moved to greener pastures.
Granted, I am no longer a salaryman so clearly this wasn't my #1 aspiration in life.
I guess this depends on what someone wants to be recognized for. An interesting question worth asking is why the recognition they are seeking compels them to include their boss as part of their community.
At one of my past employers, my boss and I worked with one another more as peers. The organizational structure was there for the sake of everyone else who needed the place to feel more like a company, and he played that part when he needed to. Otherwise, he and I would interact as though he was just another software developer. Peer recognition is big, and if you happen to have a de jure boss who would rather be a de facto peer, this can be a good cause for recognition from a boss to matter.
You present a concrete alternative in your parenthetical note.
Plus, there are emminently practical reasons why one would like to have a boss think you were very good at what you do. It is an intermediate step to getting other things you want.
It can be an intermediate step, depending on two things: you know what is required for your boss to think you are very good at what you do; and, you know that your boss thinking you are a rockstar is going to lead you to what you ultimately want.
One of the things I've come to discover is that these can actually be opposing forces. It depends on the boss, and on the wants.
The more obvious negative implication is that if your want is to be recognized for your technical talents, and the only way to impress your boss is to compromise those talents, then it is an intermediate step to nowhere.
The less obvious negative implication -- because people do this all the time anyway -- is to believe that impressing your boss will ultimately get you what you want (usually, more money). It really depends on what impresses the boss, and if what it takes to make him think you are productive is actually what makes you productive. If not, you are paying for image capital by charging against economic capital. Since customers typically only trade in terms of economic capital, enough of this will result in things turning very bad very rapidly.
Granted, there are other aspects here as well; whether or not the company keeps profiting in spite of it own internal obtuseness, for instance. My point is, unless the boss is clairvoyant and nonpartisan, this levies a cost against all parties involved. Sometimes, that cost is enough to prevent anyone from getting what they ultimately want, because the company busts.
I realize that this may not be the perspective you took when you wrote this, but similar things I've heard from others who took this stance and meant precisely what I am arguing against: if my boss loves me, then I'll win big. That model doesn't seem like the sure bet corporate folklore makes it out to be.
Perhaps, like many other things about work culture, Japan is different. When I look around and see in our corporate culture, I can't help but think the same thing Deming saw in our manufacturing culture: "American management thinks they can just copy from Japan -- but they don't know what to copy!" Maybe we aren't copying and this is just emergent behavior, but we seem sort of schizophrenically halfway between salaryman and cowboy. Either way, I'm perplexed.
That is, they play the part for the areas of the company that need the organizational structure to be comfortable. But, amongst the developers they seem no different than the rest; just as capable, and impressed by the same things.
And I bet the chairs they give you at that company are awesome.
In the story he mentions a name Charlie Sherman, which could be some kind of reference to Herman Miller. Later on he talks about the Gerald R. Ford freeway, which is I-196 that runs right through Holland.
Furthermore, a Google Maps search of Herman Miller in Holland would indicate that there are several possibilities for a person to be driving on Lincoln Ave in which a left would direct them to Herman Miller and going straight would run them into I-196 [1].
Now, the question in my mind is: How does Joel know so much about West Michigan and in such great detail that he can accurately portray the directions he would turn. According to Joel's Wikipedia profile [2], he has never been close to Michigan his entire life. It appears to me he has never even set foot in this great state. So he can not be talking about himself. Jeff Atwood makes no mention of anything relating to Michigan on his profile [2], so I would not believe to the story a reference to Jeff.
Someone would had to have been particularly close to Joel for him to remember a story such as this in such great detail. The search continues....
[1] http://maps.google.com/maps?f=q&source=s_q&hl=en&... [2] http://en.wikipedia.org/wiki/Joel_Spolsky [3] http://www.codinghorror.com/blog/2004/02/about-me.html
-Internet Detective
Or it could have been reconstructed from the emails and/or blog postings the story was originally told in.
Or it could be entirely fiction, the corroborating details made up using the same tools you're using to track them down as reference material.
This strategy is extremely reliable. I have seen it used successfully at every company I've ever worked at, large and small, in multiple industries.
Another approach is to develop an internal professional ethic and pursue it irrespective of office politics. It's not as good for career stability but you sleep better.
"Write code that people use, and ship it."
Was there anything else?
Linking the comment, give him the upvotes: http://news.ycombinator.com/item?id=1994344
Spock only has one decent fighting move, and it targets the back of the neck. Batman's neck is so heavily armoured that he can't even turn his head.
When milliseconds matter, though, training and experience beat logic. And Batman has years of martial arts training followed by quite a few more years of practical ass-kicking experience in the streets of Gotham. This is why Batman could whup Sherlock Holmes and Mr Spock. (Sequentially, at least. Put them together and they'd outwit him with some brilliant plan.)
Although do keep in mind that Spock is an explorer, Batman is a crime fighter.
Plus Batman has defeated every superhero he's ever fought against including Superman.
Back in the day, before there was much of anything going on on the internet, entire communities with brainpower of the same magnitude as this one would spend months on end debating whether the USS Enterprise could defeat an Imperial Star Destroyer.
I've witnessed these debates, and they were epic in scale.
Substitute SQL and noSQL, and you'll get an idea of what it was like.
My favourite quote.
On one of those occasions where their crowd was full of freshman girls who were really looking forward to getting wasted and laid that night, in drunken stupor Ashton heard Wayne calling out to him. He hasn't seen Wayne since he joined the Army 2 years ago. Man it was good to see him again, he's the kind of buddy who'd get in a fight for you without asking a single question. Wayne knows what's up, Ashton thought to himself as they talked about Wikileaks and f__king sh__ up. Giggly girls just kept interrupting his conversation and, irritated, he asked one of them if she would give away a government secret if all it was doing was covering someone's ass for raping some 9 year old dancing boys in Afghanistan. Janice just clammed up and some of her ditsiness immediately disappeared. Not having much to say, feeling put on the spot, a bit shamed and a bit embarassed, she remembered him well that night, but that's another story.
Wayne and Ashton went to Bobbie's Diner to sober up with some greasy burgers and shoot the sh_t. Soon enough they weren't talking about tits, even though Janice had a really nice pair... Wayne kept telling him how much of cool stuff the military really does and how he could hook him up. Man, Wayne knows what's up, he thought to himself. Besides, if it came to working with guys like Wayne or the dweebs in San Francisco, it was a no brainer....
That's at least how Ashton thought about things back then... but then again, he was only 20. Nowadays he spends his time working for DISA on new worms. Everyone needs a botnet nowadays, even the government. It's really cool work, he learned a lot. But he knows damn well that's something he's never going to be able to talk about. At least Wayne gets to post bullshit on Twitter as th3j3st3r, he thinks to himself. His $80k salary is pretty damn good, and even his Mom is better, she dumped that dickwad. Though she is really getting old, all that alcohol just turned har brain to mush and she sometimes doesn't make sense. Maybe it'd be better he went to Silicon Valley, but then, just glancing over at the picture of him, Janice and their adorable 3 year old made him say "fuck no!" loud enough that his officemate looked up at him with that "dude, are you allright?" look.. He would've never met Jen and would probably still be chasing money like a wannabe pornstar in Los Angeles...