Software Engineering and the Learning Curve

Have you ever considered the age-old nature versus nurture debate? You should. What is it that makes a person a great software architect? Is it an innate talent that some guys have and some guys don't, determined by genes and the size of your brain? Or is it determined by a person's passion and a persistent effort to seek challenges and overcome obstacles?

I used to think that I wanted to work with the best. I say I used to, because I've come to realize that this idea has caused some problems for me in the past, so now I've changed my mind about it. If you know me at all, you're probably at least marginally familiar with my interesting job history. Yet in spite of these challenges including not having a degree, I'm still an Adobe Community Expert today. This itself is only true because I continue to push myself and in the past few years, more specifically because I've started pushing myself in an area unrelated to software: personal development and communication skills.

Joel Spolsky obviously wants to work with the best. Who wouldn't, right? He's talked about this both on his blog and in Inc Magazine. If you read his articles on the subject, there's a particular way he talks about his new hires and the way he courts them that used to make me think "wow". However after reading Carol Dweck's book Mindset: the new psychology of success, now I'm thinking "uh oh".

Although it's possible that Fog Creek could be a fantastic place to work, that's not the direction I'm leaning at the moment. Do I know what it's like to work there? Do I know what kind of boss Joel is? The answer is no... I don't know what kind of boss Joel is or what it's like to work for Fog Creek, I merely see things in his communications about it that would make me leery about accepting a job there. Here's an example:

The great software developers, indeed, the best people in every field, are quite simply never on the market.

The average great software developer will apply for, total, maybe, four jobs in their entire career.

The great college graduates get pulled into an internship by a professor with a connection to industry, then they get early offers from that company and never bother applying for any other jobs. If they leave that company, it's often to go to a startup with a friend, or to follow a great boss to another company, or because they decided they really want to work on, say, Eclipse, because Eclipse is cool, so they look for an Eclipse job at BEA or IBM and then of course they get it because they're brilliant.

If you're lucky, if you're really lucky, they show up on the open job market once, when, say, their spouse decides to accept a medical internship in Anchorage and they actually send their resume out to what they think are the few places they'd like to work at in Anchorage.

But for the most part, great developers (and this is almost a tautology) are, uh, great, (ok, it is a tautology), and, usually, prospective employers recognize their greatness quickly, which means, basically, they get to work wherever they want, so they honestly don't send out a lot of resumes or apply for a lot of jobs.

Does this sound like the kind of person you want to hire? It should.

Hold on there Joel, maybe not. It all seems very logical doesn't it? I mean, at least, it seemed very logical the first time I read this blog. Let me ask you a question: on which side of the nature versus nurture debate do you think Joel leans? I notice now that he makes very little commentary, in fact almost no commentary at all about what these "great" programmers do... aside pointing out that they get to wander around like erant princes, having powerful companies bow at their feet for the joy of basking in their brilliance. So I have to ask myself, do I want to work with people who are treated like (and possibly behave like) royalty? Or do I want to work with people who are maybe a little more down to earth?

More from Joel:

The corollary of that rule--the rule that the great people are never on the market--is that the bad people--the seriously unqualified--are on the market quite a lot. They get fired all the time, because they can't do their job. Their companies fail--sometimes because any company that would hire them would probably also hire a lot of unqualified programmers, so it all adds up to failure--but sometimes because they actually are so unqualified that they ruined the company. Yep, it happens.

These morbidly unqualified people rarely get jobs, thankfully, but they do keep applying, and when they apply, they go to and check off 300 or 1000 jobs at once trying to win the lottery.

Numerically, great people are pretty rare, and they're never on the job market, while incompetent people, even though they are just as rare, apply to thousands of jobs throughout their career. So now, Sparky, back to that big pile of resumes you got off of Craigslist. Is it any surprise that most of them are people you don't want to hire?

Astute readers, I expect, will point out that I'm leaving out the largest group yet, the solid, competent people. They're on the market more than the great people, but less than the incompetent, and all in all they will show up in small numbers in your 1000 resume pile, but for the most part, almost every hiring manager in Palo Alto right now with 1000 resumes on their desk has the same exact set of 970 resumes from the same minority of 970 incompetent people that are applying for every job in Palo Alto, and probably will be for life, and only 30 resumes even worth considering, of which maybe, rarely, one is a great programmer. OK, maybe not even one. And figuring out how to find those needles in a haystack, we shall see, is possible but not easy.

So which side of the nature versus nurture debate do you think Joel is on? Certainly Joel believes that software is developed and improved over time - he knows all about releases and version numbers and feature enhancements. But what does he believe about his employees? Does he believe that people can change and improve? Does he believe that people can grow? If you include his article in Inc Magazine, It seems apparent from his writing that he wants to get the best programmers straight out of college and keep them at Fog Creek until they retire. Whether or not that turns out to be what happens, I can't say. But it certainly seems to me that he values born greatness and brilliance much more than passion and a desire to learn. After all, he's described his hires as "great" and "brilliant" several times, but made no mention at all of their attitude. It's as if they've come out of the womb reciting Turing's essays.

This is odd to me in an industry in which, there's an increasing chance that the technology you work with after graduating from a four-year degree program, didn't even exist during your freshman year. Moreover there are a few flaws in Joel's logic that occur to me now that I'm a little older, a little wiser and a little better read. According to Joel when you go to the hiring pool and you start taking in resumes, you get this big batch of a thousand resumes and out of those, only 3% of them are actually competent. Those 3% are a sizeable number of applicants, however, according to Joel, the remaining 97% of applicants that nobody wants to hire are incompetent people who are constantly on the job market. Really? Personally I have yet to meet anyone who continually pounds their head against the wall, day after day, expecting to find a good stable job in an industry in which they're incompetent and stays in the industry and stays incompetent. Either they find ways to learn and improve and become better at their job, or they move on to some other industry where their talents could be put to better use.

It's not obvious at first, but if you read between the lines I think what Joel is saying is that "the average person is a complete idiot who shouldn't be trusted with a potato gun." Not only is he saying that of the average person in general, he's saying that of the average programmer. To put it bluntly, if I'm reading it correctly, Joel thinks you're stupid. Moreover he thinks you're hopelessly stupid and that you'll never "get it".

The problem with princes is not that they're bad people. The problem is that the endowment of being told that they were born "special" usually leads to some unfortunate conclusions about life. These conclusions then lead in turn to unfortunate behaviors which Carol Dweck explains at length in her book. She's been studying human motivation since the early 80s and the bulk of her work has been on the subject of mindset. She identifies two specific mindsets, a nature-dominated fixed mindset in which we believe that a person's traits are predetermined by genetics (or other factors) and can't be changed, or a nurture-oriented growth mindset in which we believe that a person's traits can be developed.

For example, something I didn't know before reading this book is that being the best leaves no room for error. Obviously if you are the best then you don't make mistakes right? And you especially don't make the kinds of mistakes that other people make. If you're the best then the only time you make mistakes is when they're totally unavoidable, when they're out of your hands... when they're someone else's fault. That's trap number one. Someone who believes they must be the best because of their status or their "brilliance", needs to be constantly validated and their ego filled. Unfortunately in order to do this, they often need scapegoats so they can save face by laying blame on others for mistakes. Have you ever known someone who received a poor grade on a test or class assignment and then said, "it's not my fault, the teacher hates me." It's certainly possible this could be a true statement, however, ask yourself how much they studied? Were they really hitting the books or were they expecting to coast the class?

If you're familiar with Machiavelli's satirical book the Prince (in which he suggests that it's better to be feared than loved), then you probably won't be at all surprised by Dweck's description of the fixed mindset, because it's basically a play-by-play of the behavior Machiavelli ascribed for the Prince. (Incidentally, you can read the entire text of the prince here.)

Did I say prince? After he was fired from Ford motor company, Chrysler aggressively courted Lee Iacocca to get their company back on track, and he did... for a little while... and then he drove it back into the ground because he couldn't allow any of his employees to have good innovative ideas. He shot them all down because he was the genius behind Chrysler. Lee Iacocca had a fixed mindset and as a result he behaved just like Machiavelli's prince. Check out these quotes from Iacocca's autobiography. Speaking of his time at Ford, he says, "If Henry was king, I was the crown prince... I was His Majesty's special protégé... All of us... lived the good life in the royal court. We were part of something beyond first class--royal class... White coated waiters were on call throughout the day, and we ate lunch together in the executive dining room... Dover sole was flown over from England on a daily basis." Part of what would concern me about Fog Creek, now that I know this, is how much Joel's Inc Magazine article reminds me of these notes from Iacocca's autobiography. That article could have been much shorter, or it could have included some information about what constitutes a really productive engineer. We could have heard what kinds of questions he asks in interviews (which might have been quite helpful), but instead he chose to write two pages that sound like a brochure for working at Fog Creek, with great heaping helpings of detail about how he lavishes "interns" with perks on top of a salary that exceeds all but one salary I've received in my entire career. So I'm happy to hear what a Neverland it is to work at Fog Creek, but frankly I think their money could be better spent.

Not too long ago I worked for a company who hired me knowing about the fact that I have Asperger Syndrome. That job didn't work out in the end and I admit that I'm an equal partner in that event. Since I first found out about autism, I've struggled to find a succinct way of explaining the challenges we face and the strengths we have. When I applied for this job I made a pretty serious mistake in my cover letter: I used the word "savant" and also made mention of "working with the best". Although my use of the word savant was appropriate, there were two things I didn't realize about the connotation of my cover letter. First most people don't seem to be aware that the word "savant" doesn't mean "savant syndrome". The syndrome is much more specific and it involves seemingly natural (i.e. fixed) abilities far beyond the natural talents I have. But the word savant by itself can also mean "a person of extensive learning", and in spite of the Rain Man image the word conjures for a lot of us, this is the first definition given by (Someone once actually called me narcissistic for using the word "savant"... it took me a while to learn from that mistake.) The other thing I didn't realize is how this view of talent as being a fixed, unchangeable quantity (the fixed mindset) influences the culture of an organization. You might remember that earlier in this article I mentioned that princes have a need to save face and lay blame on others for mistakes because they've been told that they were born "special", or more specifically "better" than others. Here's how that plays out in the corporate world.

Initially my boss had told me that he liked the fact that I blogged and hoped that I would continue and that we could put some of my content on the company website to attract clients. I like that idea. I enjoy writing and I certainly think that sharing knowledge with the broader community is important, for example as you can see with companies like Bryant Web Consulting, Kinky Solutions, Alagad and BroadChoice. Then one day in 2008 the fact that I blog suddenly became a threat to the company. Why was it a threat? Well one day there was this event that caught most of the ColdFusion community off-guard. Lots of people in the community were struggling with an unexpected rash of SQL Injection attacks. At that time most ColdFusion programmers weren't very good at protecting their applications from SQL Injection attacks. Those in the community who were using the recent proliferation of ORM tools were pretty much safe from most of the damage because all of the people who developed these tools were very conscientious about database access and ensured that the systems always used cfqueryparam tags both for performance and for security. If you'd asked the average CF programmer about database access at the time, maybe a third of them would voluntarily mention the tag (ORM developers always with emphasis) and half of the remainder would say something like "yeah, I know about it, but I'm not worried". Well, as often happens, people who didn't heed the warning suffered a fair amount. I honestly don't remember if any of our clients were affected by the outbreak, but I do remember that they were vulnerable. All four of us in the office spent an entire day doing nothing but fixing vulnerable cfquery tags to protect our clients from the threat.

None of my code needed to be changed, because I'd been using cfqueryparam tags religiously for the better part of a decade. I could just be really self-congratulatory about this whole event, and at the time I probably was, but honestly that gets old. I mention it here because I want to highlight two very specific and very different responses to the event.

One response was the company I worked for, who knowing that several years of my own code was protected by my ORM tool (DataFaucet) still refused to even examine or test the ORM tool. Moreover in addition to refusing to consider it as an option, they also became very fearful that I might have blogged about the events of that day. They sent a clear message that "we are the best, and therefore, we do not make mistakes." They could not have allowed anyone to be aware that they made mistakes (even though they had made a rather big mistake, along with the vast bulk of the community), because it would in their eyes permanently devalue the company. The only circumstance in which they would have allowed outside communication about any of our clients being affected by or even vulnerable to a malicious attack would have been in the event that we could be seen as "first on the scene" with the fix. Basically, we could not communicate anything to the outside world, unless it portrayed us as superhuman.

The other response is the one from Mark Kruger, the ColdFusion Muse of CFWebTools, a man whom, I find myself looking up to more all the time. Here's the first paragraph of Mark's blog:

Back in February I wrote a blog post on SQL Injection that included an example of how a malicious user might inject into a character field even though ColdFusion escapes single quote marks. The attack involved other forms of escaping single quotes - and was effective against MySQL. This week I stumbled upon (more like a train wreck) an attack that is much more sophisticated - and also involves injection into a character field. I am told that others have discovered and written on this attack over the last few weeks - but I was unaware of it until a customer of ours was victimized. Amazingly, the specific real world attack I discovered and fixed allowed the hacker to append a string to every char column in every table of the database...

He went on to explain the details of what he'd discovered about the rash of attacks. Right now I'm sure a lot of folks are thinking to themselves, "boy I'm glad I'm not that guy"... but I'd love to be Mark. I'd love to learn to be more like Mark. Not too long ago Marc Esher commented on another one of my articles and paid me what is I think one of the highest complements I've ever received. I was really flattered at the time, but honestly, I didn't yet have the deep understanding or appreciation for his comment that I have now. Maybe part of the reason why I was so flattered at the time was because he was so excited when he posted to twitter. But he also said this on my blog, which is much more revealing (hrd 2 get much nsite into 140 chars):

your persistence in figuring this out is admirable. I especially appreciate your walk through of how you debugged this. I don't know whether this laborious, persistent, methodical approach can be taught, or whether it's tacit, but at any rate, I'm glad you showed the world how you tracked it down.

If you read the twitter comment, you know he also said "no ego" and that too is kind of important and flattering for me. What he's commenting about in part is that I took the same kind of approach that Mark Kruger took to the problem. There was an issue that, at the time seemed potentially pretty serious... and then when I found the problem it turned out to be something simple... But unlike the company I worked for before, I didn't interpret this as a permanent devaluation of myself or a blow to my ego. I'm not saying that posting that follow up blog was terribly exciting, after all I was following up another article in which I'd stated that I thought I'd found a great new technique for caching with ColdFusion and it turned out not to be the case because of this mistake I'd made. But that's the thing, I viewed it only as a mistake and I looked for ways to learn from it. That's what Mark Kruger did also. He acknowledged not only that there was a problem, but that one of their clients had been affected by it. He addressed the problem and he shared information about the problem with the community, so that we could all talk about the solutions and learn from the experience.

Reading Carol Dweck's book about mindsets has given me a much deeper understanding of the person I want to be. I know that I've fallen into fixed ways of thinking in the past. I grew up being told (and believing) that I was smart and special. And honestly, most of us think, logically, that these are good messages to give our kids. But if you read the book, you'll understand that it tends to cause some problems like it did for Machiavelli's Prince and continues to for a lot of people in business today... but Dweck isn't just doom-saying. She's also providing powerful information about how to turn it around and start to think, talk and behave in a growth-oriented way. I don't want to be enshrined at a company (fixed), I want to challenge and be challenged and to grow and participate in the creation of new things that didn't exist before.

I realize looking back on my career that this fixed thinking has been a problem for me on more than one occasion. At no less than three of the companies I've worked for, I've been reprimanded for writing code that "the other guys won't be able to maintain". Can you guess what that involved? At one company it was a cfimport tag. At another company it was a cfparam tag. Not rocket science to be sure. Can you imagine how one of these companies might respond to the use of a CFC after upgrading to ColdFusion MX? How about how they might respond to the use of a cfthread tag after upgrading to CF8? These managers had declared not only that their other employees were "not smart enough to understand", but that they weren't even capable of reading the language documentation to learn how to use those features. A growth mindset is probably the single most essential skill that a software engineer can develop. It's sad that so many software companies seem to have fixed-mindset cultures. Fixed mindsets have a lot of effects, but the one surest effect they have is to squelch and prevent innovation! This is what Lee Iacocca did during the latter half of his tenure at Chrysler. (To his credit, when I made a mistake with cfthread at DealerPeak a few years ago, Chris Phillips responded in a very growth-oriented way. He realized the problem suddenly, told me about it, explained it, let me fix it and we both moved on a little bit wiser.)

Now, I could just say "I've had rotten luck and worked for a bunch of bad employers". I could. But then I think I would be cheating myself out of an opportunity to learn and grow from these experiences by denying my part in creating them. (And indeed, this would be falling right back into the fixed mindset that causes many of these problems... if you can't admit a mistake, you can't learn from it and you'll repeat it.)

Part of the challenge I've faced with jobs in the past is a result of my autism. Most people are better communicators in part because they're able to read minds via facial expressions, but with an autistic person, the fusiform gyrus (the part of the brain that reads facial expressions) is underdeveloped and so we don't have the incentive or the instinct to look at them. And although I've learned to try and make eye-contact I often don't make it the way other people do because I forget. I was having a conversation with Tiffany the other day and listening intently to what she was saying until I heard her suddenly pause and then say "is there something wrong with my shirt?" It turns out that, although I was tuned in to the conversation, I wasn't tuned in to her face. Instead I was staring intently at the buttons on her shirt. This is the kind of thing you'll find autistic people doing a lot, simply because we don't have the instinct to read facial expressions. Often these kinds of things get misinterpreted, for example, I'm really glad I wasn't having a conversation with a female coworker at that particular moment. ;) And I've been accused in the past of being egotistical (or worse) because of the effect it's had on my communication skills. At one of the aforementioned jobs one of my coworkers said "when you say these things you don't have to make people feel stupid". Well I certainly hadn't intended that to be the interpretation. I thought it was an honest question, in fact, I was giving the other guy the benefit of the doubt at the time. If I'd known he was going to be defensive about it, I'd have thought of another way to ask the question. Fortunately for me, I've discovered that a scientist named Paul Ekman has spent many years studying facial expressions. Ta-da! In the past couple of years I've been on a mission of self-improvement and it's accelerated for me in the past few weeks. So one of my next steps is to read through Ekman's books, Unmasking the Face and Emotions Revealed. There are also several other books about body language and motivation in my wish list. If you'd like to help me with my learning, I'd be flattered if you picked something off my wish list for me, but I'd also be equally as appreciative if you bought the same book for someone else you know with autism. Or for the parent of a person with autism. It may be the most important thing anyone could do for them. :)

There's also something much more specific that I'll be doing about my job issues. A few years ago I was living near DC and at the time I'd been thinking for a while about the possibility of working for a particular company that's well known in the ColdFusion community and has been for a long time. I called them up and I asked them about their opportunities and found that they make the mistake of only hiring people with college degrees... except for their most famous employee, who's an icon of the developer community and didn't quite complete a degree in philosophy. But according to them, it's impossible for any other human being to replicate his brilliance. They did send me a "test", but it wasn't a test of my ability or potential, it was a litmus test to make sure that I don't actually think about problems, but simply regurgitate all the specific design patterns they endorse. Like many of my other employers in the past, they didn't want employees who think and grow, they wanted employees that had specific, set skills and never, ever under any circumstances, think outside the box. So I realize now that part of the problem I've had is that I didn't know how to look for the right companies, with the right growth-oriented culture that would work for me (or anyone really). I may never apply for another job. I don't know. Things in my life are in flux right now. But it used to be that I was always a bit unsure what to say when an interviewer asked me if I had any questions. I'm still not entirely sure what questions I'll ask, but you can bet that I'll be interviewing the company from now on. I'll be asking them how they encourage collaboration, how they address mistakes that make it to production and how they keep the developers challenged and learning so their skills stay relevant. I'm fairly certain that the salaries at CFWebTools are lower than they are at Fog Creek, but frankly, I think I'd much rather work for Mark Kruger than for Joel Spolsky.

As a final note, I've met a lot of great people in the ColdFusion community. Have people stroked my ego? Yeah, sure. But they've also challenged me and helped me learn. Over the years I haven't always done the best job of appreciating the latter of these. So I'd like to say thanks to all the great guys and gals out there who've challenged me, like Rob Parkhill, Matt Woodward, Peter Bell, Judith Dinowitz, Hal Helms, Sean Corfield, Ben Nadel, Joe Rinehart, Sammy Larbi, Charlie Arehart and Marc Esher (one of these days I am going to learn mxUnit). :) And I'd also like to request that you keep challenging me. And not just on software. If I say something that sounds snarky or elitist or if I come across as egotistical, let me know so I can work on it. Communication is a big challenge for me, I need all the help I can get. :)

Jake Munson's Gravatar Wow, you often write such LONG entries. :)\

"Personally I have yet to meet anyone who continually pounds their head against the wall, day after day, expecting to find a good stable job in an industry in which they're incompetent and stays in the industry and stays incompetent. Either they find ways to learn and improve and become better at their job, or they move on to some other industry where their talents could be put to better use."

I have known people like that. I am not going to say that they are 97% of the job applicants, like Joel said, but I have met people that should honestly find a different career. While I agree with you about the nurture part of career development, I do think think that people have aptitudes for certain careers, and some times people are in the wrong career. I know a girl in college that always struggled to even PASS her degree classes (Computer Information Systems). One day she asked me what she should do to pass the tests. She said she had talked to the teacher about it, and she was doing the things he said (read the book before coming to class, take notes, etc.), but she still couldn't pass the tests. I didn't tell her what I thought, which is that she was in the wrong degree. I don't think she was "incompetent", but that she didn't have the right aptitude for computers. If she switched to Art, or Biology, or Nursing, she'd probably excel.

As far as Joel's comments...I think a lot of his negative experiences with programmers may be because he hires Microsoft programmers! ;)
# Posted By Jake Munson | 3/28/09 4:00 PM
ike's Gravatar Okay, I've known one or two people who might have fit that description. :) But I certainly don't think they're the majority of job applicants.

Your point about aptitudes is well taken, however, after having read Dweck's book, I must say there were a number of compelling examples of people teaching things that others didn't believe could be taught. For example most people tend to think of artistic ability as being a kind of natural knack, something that can't be taught. But then there's a page in the book where she shows four pairs of self portraits. These self-portraits are before-and-after a five-day course taught by Betty Edwards who wrote a book called Drawing on the Right Side of the Brain. You look at these pictures and the drawings made before they started the class are little more than stick-figures, but by the time they finish the class only five days later, the same person is creating near professional quality illustrations. She teaches them how to see and identify colors and shapes in a way that allows them to turn that into a picture, and says this is a typical class. Admittedly, a professional artist still needs to work at it regularly and develop their own style, etc. but the effect of her class is undeniable. It makes me wonder if there's something we're missing in our computer classes that we could teach to those students who score in the lower bell curve (see the first link in the article up top). It's possible that we might be able to find that particular something that's missing by using fMRI studies that compare what the brain is doing in students in either group when they approach these tech questions. I'd love to see someone in the academic world take on that challenge. :)

p.s. I'm really flattered by the amount of interest this article has generated. The last article I posted got more attention than I expected, and this article is getting ten times as much attention. I posted it at 2am on a Saturday morning and it had almost topped 100 views only 12 hours later. Wow. It took the last article five days to reach that many viewings, and it was posted in the afternoon on a week-day. Really, really flattered, guys, thanks! :)
# Posted By ike | 3/28/09 5:45 PM
Sean Corfield's Gravatar Fascinating post.

I know someone whose son has Asperger Syndrome and your paragraph about not reading facial expressions really struck home for me. I hadn't thought about that aspect of my interactions with him before. I'll look into those books.

I agree with Jake that there really are (a lot of) people out there who shouldn't be in the computing field and yet they keep plugging away, applying for jobs (and getting them more often than you'd imagine) and never really improving. I've interviewed more than my fair share of them over the years. I've also had the pleasure to interview people who truly are gifted in the field and have a passion for learning (to be honest, the two usually go together). Most of the "great" software developers I've known have not had college degrees - and only a few of them have had the "fixed" mindset discussed here. I will say, however, that the way Joel talks about Fog Creek and his employees rubs me completely the wrong way. I interviewed for a company in the 90's who exuded that attitude. They flew me to Dallas (from England!) for the interview and it was the worst interview of my life. They "only hired the best" and every engineer who talked to me (bar one) had a giant chip on his shoulder because of it. Horrible!

Thank you for the roll call too *blush* :)
# Posted By Sean Corfield | 3/28/09 11:07 PM
ike's Gravatar Thanks Sean! :) It seems that you've developed a growth mindset yourself and I have to admit that after having heard you make a similar comment about Spolsky once before, I didn't understand it. But after having read the book, I absolutely understand what you meant at the time. The things they say and their culture rub you the wrong way in all likelihood because you subconsciously recognize the patterns of communication that indicate that kind of thinking and the kinds of problems that it can cause. I wonder if this is maybe also part of the reason why throughout your career people have come to you when they were unhappy with their job or the company they were working for. They subconsciously recognized you as a person with a growth mindset who would be receptive to their comments and possibly give them helpful feedback, even if that feedback did always turn out to be "quit and go work somewhere else". ;) I still get a laugh from the image of you having been brought into the boss' office at one company and the boss saying "you need to stop telling our employees to quit" and you saying "don't give them reasons to quit".

Also glad I could lend some additional insight into the relationship with your autistic friend. (Or his son?) I hope you find the books enlightening. :)
# Posted By ike | 3/29/09 2:52 AM
Amanda Nebel's Gravatar As always happens when I read your articles, I honestly don't know how to respond. There's so much information and all of it's useful, even if I can't relate to say, the computer programming analogies. :P As always, however, you've opened my mind up to new things and allowed me to improve my own life. That applies first of all to the possibility of me having AS and learning how to approach that information, but this time you gave me something I've been looking for for a while. One of the main things we've learned this year concerning job interviews is to ALWAYS ask the interviewer a question. I've never known what to ask, but the question concerning whether a company embraces growth-mindedness is exactly what I need. I'd never be able to thrive in a workplace where fixed-mindedness rules. In fact, engineering has always drawn me in because it's the name that was originally given to inventors and my hope has always been that that open-mindedness has extended down through time.

You mentioned in your comment to Sean Corfield about him being the one who people go to for assistance when they're unhappy. I tend to be that person in my group of friends and now I think I understand why. I never knew for sure before, but if a growth mindset does in fact tend to draw people to it for assistance, then it makes a heck of a lot more sense now.
# Posted By Amanda Nebel | 3/29/09 5:37 PM
Tom's Gravatar Ike,
Well written! I've always enjoyed learning and your article really hits on that. I've had to learn how to program on my own. Yes, I'm one of those who have a degree from college but it has nothing to do with compsci or anything like that. My degree was in Linguistics with studies in language teaching, acquisition, attrition, semantics, syntax, etc. One of the things I really enjoyed from that whole degree was that it touched everything in one way or another. I facetiously called my degree a "Verbal Engineering" degree because of the many different aspects of language that were covered. Well, during this time period I also started learning about computers, hardware and software. Fast-forward a couple of years and I am learning database programming and administration from one of the best instructors I have ever had. Like you, he never did get a college education, but he did learn and get certified. He was first a professional hacker and then moved on to something where he could actually show his work and get something for it. Basically, building things versus "taking them apart". His points to us were to keep studying and learning when doing programming. He made the point to learn databases first since everything is going to that medium as storage for information. He then also emphasized that we needed to keep learning and to never stop. He told us that part of our duties as a programmer was to keep on studying because that is what keeps us ahead of the curve and ready for the jobs ahead of us. He also told us that it was wise to have a hobby or hobbies outside of programming because it would keep us sharp and more open to options versus limiting us right into a box because that is “the way how you should program”. Plus, since I am in the military, he wanted us to make sure that his tax money was being put to good use so we could call BS when a programmer was trying to pull the wool over on us with crappy products. Unfortunately, working with NATO has hammered that painfully home because of all the REALLY crappy software they have here. I choked when I first saw what these people were using and called foul on it. However, being that all they have to do is wait until I am gone and then they can go back to making shitty software with no oversight because 26 countries can’t all agree on it and the default contractor (NC3A) is essentially beholden to no one (yes, it must be nice, and to be paid in Euros too!).

I applaud you for continuing down the path you have chosen. One of the best choices you made was choosing to learn on your own. You will invariably learn better than those who choose to attend a school because you are motivated to do it. Plus, with the internet, you have access to the ultimate reference medium and can learn whatever you want and (amazingly enough) connect with other people who have same or similar interests.

I enjoy reading Joel Spolsky's posts, but would never want to work for someone like that because I am afraid I'd end up getting in a fight with them because of their "I'm-smarter-than-you" smugness that tends to come with those who've worked somewhere or have an academic degree to throw around and their hardheadedness and resistance to listening to other options because they know it all. Besides, genius is not from those who've got it from genetics, there are also those who have worked at it. Skills are not just acquired because you are gifted; it often takes dedication to the job. Those that do spend the time get there too. So YOKU GANBATTE NE!! Hang in there! Semper Gumbi!
PS: I’ve met Sean Corfield when I was sitting right next time with his massive MacBook Pro and didn’t realize it until I spied at what he was doing on that big ole laptop and realized who he was. I had to tell him thanks for such a good blog! He was one of the most gracious people I’ve met and very approachable too. So was Raymond Camden too.
# Posted By Tom | 3/29/09 6:08 PM
Mark Kruger's Gravatar Ike,

First, thanks so much for the kind words. You are a terrific writer and I admire how you have embraced your challenges and found ways to grow through them. I'm honored to count you amoung my friends :)

As for Spolksy, he has a particular style of writing that is entertaining and gets the point across - but don't be fooled into thinking he believes everything he says to the letter. His style is one of "hyberbole for affect". Sort of like when Jesus said in Luke 14 "anyone who does not hate his father, mother, wife, children, brothers, sisters and his own life cannot be my disciple". I think Joel writes in the same way - with a bit of a "shock" factor in order to make you think. He's a victim of his own enthusiasm for his brilliant conclusions (ha). I have gleaned some gems from his writing - but I doubt seriously anyone could run a successful consulting business treating everyone as if they were rock stars in a talent pool. For one thing, who would you use for management? You have to have some mediocre folks or you'd have no one to promot (ha!).

Anyway, good stuff as always - keep up the good work! I'm looking forward to hearing more about that project you mentioned a few weeks ago.

# Posted By Mark Kruger | 3/30/09 12:36 PM
ike's Gravatar @Nebelizer - Thanks. :) With regard to interviewing the company, I'm actually not real sure how to phrase the question or really which question to ask. Or maybe I should ask a couple questions? I'm hoping actually that a couple folks reading this article might have some suggestions on that front. :) But the important thing is that now we have a place to start. On the other point of people coming to you when they're unhappy about something, I've been thinking about that some more. You'd mentioned it to me before and I think I'd forgotten about the fact that you and Sean both seemed to have that quality. And you both strike me as being pretty growth-oriented people. Now that I've had some time to think about it, it certainly does seem to make sense that the two would go hand in hand. Fixed thinking tends to lead to judgmental responses and so, if you're upset about something and you go to a fixed thinker with it, you're apt to more often get that "sucks to be you" kind of response. But because growth-oriented thinking tends to focus much less on judgment (or blame) and much more on examining the issue and offering suggestions, a growth-oriented thinker is more likely to offer feedback that's both supportive and actually useful. So it doesn't surprise me at all, now that I know more about the mindsets, that the two might go hand in hand.

@Tom - I had to look up Semper Gumby. I love that expression! Thanks! :) I'd really like to learn more about linguistics actually -- is there a good book you could recommend as an overview of all the related subjects to get me started? Sean's been a good friend over the past several years, and I'd expect nothing less from him. :) I've met Ray, but honestly haven't really got to know him. Your comment about genius not being genetic reminds me of one of Dweck's anecdotes about her own life. She said she was walking through the campus of her college one evening when she was a grad student and saw lights on in a couple of the rooms where some folks were working late and thought to herself, "they must not be as smart as I am". And then she says "it never occurred to me that they might be just as smart AND more hardworking!" She was emphasising the point that fixed thinking tends to view effort and ability as an either/or thing -- that you only put in the effort if you don't have the ability. Growth-oriented thinking on the other hand really downplays the initial ability and says "yeah, you've got a high IQ, so what? What good is your achievement if it wasn't a challenge? So crack those books and if everything is easy, move on and find something that's a challenge!"

@Mark - Y'know, it hadn't occurred to me that he might just be a hyperbolic writer. :) Thanks for pointing that out. It's certainly a possibility. I still do wonder though, if he's been around the block as a manager and he's figured out how to identify the kind of traits that make a good, productive engineer, why doesn't he mention any of that in his Inc. Magazine article? It really hadn't occurred to me before reading the book, but after reading the book and then looking back at it, that whole magazine article just kind of seems like a waste of time. If it's all hyperbole and making Fog Creek look good (which it seems to be), then the article seems more self-serving than anything else... like it doesn't actually give the reader any advice that they can really use in their own business, because the whole thing is designed to make people want to go work for Fog Creek. p.s. I'll reply to your email shortly on that other project. :)
# Posted By ike | 3/30/09 10:27 PM
ike's Gravatar I take that back re: the Inc Magazine article ... there is some good advice in there, but you really have to ferret it out. The one takeaway I would have from it is, if you're a manager and you're having difficulty finding the kind of people you want to hire, go to the mountain. The two specific steps would be to call people you trust (maybe they're college professors, maybe they're someone else) and ask them to make recommendations of people who fit your description of the "ideal employee". Then send them each a personal invitation to apply at your company and don't forget to put a post-it-note with a hand-written note on the top to get their attention. :)
# Posted By ike | 3/30/09 10:36 PM
Tom's Gravatar Ike,
Linguistics is a very large field that covers many different topics. I can break them down into different general areas. But then again, why do that when you can just go to Wikipedia and get your learn on:
They pretty much break down the different categories of linguistics. It covers a very wide array of topics and aspects of communication. Believe it or not, most computer programming eventually has to deal with this right now. The “Semantic Web” concept is trying to take language and be able to “semantically” classify it so that everything on the web can be accessible. The only problem is that unfortunately, since you are dealing with a system that cannot discriminate or define what concepts like “love” “hate” “sarcasm” you end up with a difficult process in the end. I love to hear people tell me that you can’t have a double-negative in language because they bite into the proposition that language equals mathematics. Then I happily love to point out two examples where a double-negative can have a negative connotation or a positive one (Spanish double-negative is negative, Japanese double negative means positive “if I don’t do this, it will be bad” i.e. “must do something”).

Just read up on it from the above link since they do a really good job of covering it versus you having to buy a book. Look at it this way; I just saved you some money! 8-) Oh yeah, the “savant” portions have been looked at because there has been an “idiot savant” who showed a remarkable talent and propensity for learning foreign languages. The autistic person does tend to have areas where they are much smarter due to possible compensational mechanisms in an autistic brain. Anyway, enjoy reading!
# Posted By Tom | 3/31/09 3:55 AM
Nebelizer's Gravatar Hehe, Nebelizer, I like that. :P :)

I was thinking that a good question to ask the company would be something along the lines of "How do you react to new and innovative ideas, especially when they seem completely off-the-wall and unusual, but still appear to have merit?" or something along those lines. It's something I'll have to refine, but I've still got a while to think about it so I think I'll be alright. ;)

Re: Assistance. You know what, that makes perfect sense. Speaking of the mindsets, I got somebody interested in Mindset (the book) today. My band director was speaking about a couple of different things in class today (he's keen on teaching us life lessons in addition to teaching us musical concepts). One of the things, for example, is the different responses you find in different computer stores. When he was shopping for a laptop, HP, Gateway, and Dell all said how they were better than Apple. Apple wouldn't even mention their competitors. In other words, the three companies who have been less successful overall in the technology business (actual quality is beside the point at the moment, I'm sticking to innovation here) could only bring themselves up by bringing their main competitor, Apple, down. I explained to him how they show a fixed mindset where Apple has more of a growth mindset (or at least less of a fixed mindset) and he seemed amazed at the depth of such an idea. So I suggested Mindset to him. He seemed really keen on the idea and as one of the few people I've met that honestly has more of a growth mindset than I do, I'm happy that I could suggest something that I think he could benefit greatly from.

((So, in other words, thank you. :P :) ))
# Posted By Nebelizer | 3/31/09 5:20 PM
Nebelizer's Gravatar Erg, I just realized I repeated the phrase "something along the lines" (or some variation of it) in the same sentence. Sorry about that.
# Posted By Nebelizer | 3/31/09 5:22 PM
Matt Woodward's Gravatar Great stuff as always Isaac. Makes me miss the in-person conversations from back in the DFW CFUG days! And thanks to you for the challenges as well--I've certainly been forced to rethink a lot of things based on conversations/IMs/emails we've had. Just when I thought I was right ... ;-)
# Posted By Matt Woodward | 4/1/09 11:59 PM
Ben Nadel's Gravatar I am not sure that my response is that apropos, but I've been reading through The Fountainhead by Ayn Rand (again) and it goes into heavy discussion about human ability and this jumped into my mind.

I was listening to it the other morning on the way to work and it was a section where Gail Wynand was professing to the woman he loved. I can't remember exactly what he said, but he said something along the lines that he wanted to give himself to this woman... and not the things that he could give her from a materialistic standpoint (he was very rich), but more importantly, he wanted to give her the part of himself that gave him the ability to get those things in the first place.

... meaning, the part of him that was driven to achieve, to create, to celebrate life.

I think it's one thing to have knowledge of something; I think it's a completely separate and much more important thing that one have the desire and drive to improve themselves. I think that is the key characteristic to look for in people; not so much that they are brilliant, but that they are excited to be.

That said, I have certainly known people who seems to be naturally very intelligent and it made them very lazy. They didn't have to work for anything and so, they didn't work for anything. And, this usually catches up with them. I have also known people who were very intelligent AND worked their butts off.

Ok, not sure where I'm going with this. All to say, I think you can teach people anything, but what you can't teach someone is a desire to better themselves.
# Posted By Ben Nadel | 4/2/09 5:24 PM
ike's Gravatar Sorry for the absence guys. :)

@Nebelizer - Thank you. :) I think there's definitely a bit of an art to forming a good interview questino. :) I see that you cought on right away to the idea that fixed/growth is not an "either or" situation, but rather more of a scale or spectrum. It occurred to me while reading your comments that I hadn't really mentioned that aspect of it. :) That's something of a different image of Apple for me actually... I really hadn't thought about Apple competing with hardware manufacturers until you mentioned it, but moreso competing with Microsoft. And if you look at their ad campaigns in the past year or so and use just those marketing materials to make the judgment, it seems to me like Apple would be more fixed and Microsoft would be more growth-oriented. I'm thinking specifically of comparing the PC / Mac commercials that Apple's been running to the "I'm a PC" add that Microsoft ran and actually worked very well. (I could mention the Seinfeld ad series, but I didn't care for that campaign and it didn't seem to go over very well either, but if I remember correctly, that was prior to the "I'm a PC" campaign, so it seems they learned from it.) ;) Something else that kind of feels to me like a legacy of fixed thinking is the fact that Apple as a company never seems to have flourished without Steve Jobs at the helm. It does kind of perplex me though that what didn't work for Chrysler in that regard (Iacocca being their genius) does seem to have worked well for Apple. But now that he has cancer there are a lot of folks concerned about what happens to Apple when he eventually dies (cancer or otherwise). It will be interesting I think to see how Microsoft manages now that Gates has retired as well. Will Balmer keep them in their "king of the hill" spot, or will Microsoft start to be just one of many software companies in the next generation?

@Tom - thanks! :)

@Matt - yeah, there've definitely been things I've had to revisit thanks to your input. :)

@Ben - Some good points. :) Dweck talks a fair amount in the book about something she calls "low effort syndrome" and how it is that people with particularly fixed mindsets tend to view effort as a bad thing. I'm not so sure that you really can't teach people to better themselves... I suppose some people might just be obstinate, but I think if you know what to look for and how to structure the way you talk to people, you can probably give people gentle nudges that move them in the direction of growth. Over time it could result in a more generally growth-oriented outlook. But it would have to be a gradual thing - you can't just whack them over the head with the idea (like I would be doing in this article). ;) But in general I'm striving to keep myself in the "smart and working his butt off" category. :)
# Posted By ike | 4/3/09 6:28 PM
Nebelizer's Gravatar And I'm picking up on the fact that growth vs. fixed is more of a spectrum than an either/or through looking at both my own experiences and reading the book. To some people, I may seem exceptionally growth-minded, but I've had my moments where I've had much more of a fixed mindset. Also, I'd never figured Apple as a completely growth-minded company, it was just that in my band director's example, they had that appearance. Just looking at the commercials might suggest that they're fixed-minded but it could simply be their advertising people. It could also depend on whether we're talking hardware or software. They could have hit the wall in one but not in the other. Like you said, there's definitely a spectrum there; they're not completely growth-minded nor completely fixed-minded.

And yes, it will definitely be interesting to watch and see what happens. :)
# Posted By Nebelizer | 4/6/09 3:37 PM
BlogCFC was created by Raymond Camden. This blog is running version 5.5.006. | Protected by Akismet | Blog with WordPress