You don’t even know what you don’t know

By Deane Barker on May 20, 2009

The other day, I got to talking with an old colleague. We worked together in the IT department of a bank about eight years ago.

Since then, we’ve both stayed in IT, and our conversation eventually turned to what we knew back then, compared to what we know now. The result prompted me to come up with the graphic above.

Early in a career in IT, you think you know everything. Each day, you get better and better, and you become supremely convinced of your own awesomeness. Sadly, your actual knowledge isn’t increasing at the same pace, and it becomes a classic case of “you don’t even know what you don’t know.”

You start to live in a fantastic little bubble of how kick-ass you are. Everything is so new, that solving problems is crazy fun and makes you almost euphoric. You get so addicted to solving challenges that it doesn’t matter if they’ve been solved before — you’re developing not to solve an actual problem, but to make yourself feel good.

It’s times like these when you start to think you can do anything, and anything you write is, by definition, the most awesome stuff ever. This is the stage where you look down on people who use things like Drupal and WordPress because — damn it — real men write their own CMS.

I still remember sitting in a proposal meeting about ClearCase (ClearQuest? I forget…) which was a source-code and change management tool. At the ripe old age of 27, I proclaimed that we didn’t need to buy this thing, we could write our own! I mean, it was simple, right? A veteran named Jim, who was proposing the system, turned to me and said, “But…we’re a bank. Why would we write a change management system?” That didn’t phase me.

Just the other day, I had a young kid come in to show me some of the stuff he had done. It looked nice, but I tuned out a bit when he told me that he wrote it from scratch because “systems that are out there just didn’t do what we needed.” I looked at what he had, and noted privately that the functionality he had written probably already existed in about a dozen different systems.

At a certain point, your folly crests. You start getting in over your head more and more, and, frankly, you start maturing as a person, and you realize that there’s more to this discipline that you thought. At this point, what you think you know starts spiraling downward. You start to become aware of the depth of knowledge you haven’t yet tapped.

If you’re smart, you keep learning, every day. You like to feel stupid, and that pushes you into researching your craft more and more. So, at the same time that your perspective on your skill level gets more and more realistic, you’re actually getting better and better.

At a certain point, the two paths cross, and this is where humility kicks in. You go through your day thinking you have so much more to learn, but the fact is, you know more than you think you do. At this point, you start making much better development decisions because you’re slightly underestimating yourself.

This is where I suspect I am now. In particular, I’ve spent the last six months really trying to uncover every nook and cranny of the .Net framework, and every time I learn something, I find I have 10 more things to learn. I’ve started to truly understand the scope of what I don’t understand. While I’m sure my skill level is scaling up every day, I find myself more and more humble about what I can actually do.

Now, I don’t know if what I’ve described in this post applies to everyone. There are exceptions, but they’re rare (in particular, Blend hired a developer who was 23 at the time, but was much older, professionally).

I think a lot of it comes down to the mentors and guidance you have early in your career. At the bank, Joe and I were kind of off on our own under a weird set-up, so we didn’t have many veterans givings us feedback we probably needed at the time. We were masters of own universe, and acted like it (me more than him, likely).

I think the lack of real mentoring early in my career (and some immaturity that probably would have made mentoring difficult) really contributed to the graph above. Left unrestrained, I soared awfully high in my own mind, just to come crashing back down at some point.

Today, I’m a lot…less dangerous, than I was. My first instinct now is that every problem has already been solved, and I’ll do better using someone else’s solution, or at least learning from it.

What This Links To
What Links Here


  1. “This is where I suspect I am now. In particular, I’ve spent the last six months really trying to uncover every nook and cranny of the .Net framework, and every time I learn something, I find I have 10 more things to learn.”

    Good luck with that. :-) By the time you know all of 2.0 (or 3.0/3.5 if you’ve moved on now), 5.0 will be out.

  2. Very insightful. I remember the “I know everything” days very well… thankfully I am on the right half of the graph today.

  3. Seriously. I’ve just meandered into the world of Objective-C and iPhone development. It’s like an anvil to the head of “things you don’t know yet” but I think it will be a blast to learn…

  4. Good insight Deane, and something that extends into a lot of areas in life. I’ve noticed something similar in the past that I’ve called the disparity between competence and confidence. Often the guy who is more confident isn’t always the most competent, and vice-versa.

    Kinda reminds me of the old Mark Twain quote; when he was a teenager, he thought his father was the stupidest man in the world, but when he became a young man in his 20’s, his father had many intelligent things to say. Twain couldn’t believe how wise and intelligent his dad had become in such a short time.

  5. Interesting reflection! I think a lot of people have already keep themselves thinking about it someday or they will get there naturally as long as life is experienced, however it was nicely pointed by Deane. The graph concept was greatly appropriate!

    Just to keep in mind some other related insight… I would say that sometimes we know much more than we actually know. I will give you a clear example of that… I am also an IT professional here in Brazil and such as in any part of the world we must know English which has been an essential resource for many research or even to adopt common development tools, systems, best practices based on general methodologies, patterns, certifications and so on. Even though nowadays I can poorly use it I remember the days I was suffering to learn it as a previous step to achieve my real purpose – as well as the difficulties I still have to utilize or understand some expressions, it really takes too much time and not rarely I fail on keeping this efficiently. The intention here is just put you on the road by thinking that sometimes we can get disappointed by ourselves considering the gaps of knowledge we might have, however if we look at other genuine faculties we have or had already developed, maybe we can realize that there are many to learn as well as many to teach (at least is preferable perceive things from this point of view).

    I’ve just pointed this out because I believe knowledge “sometimes” can’t be measured properly except the ones which belongs to a specific context. I’ve seen people mistakenly judging this.

    I’ve enjoyed this article, thank you for posting it! (Sorry for possible English mistakes.)

  6. Congrats. I really enjoyed this article. I’ve just started learning English and you have made an interesting reflection.

  7. The green curve would probably not go to zero in the second half of the graph. Someone who really is increasing in knowledge is likely to know it, but their past experience simply scales down their internal estimate of their knowledge to a safer level.

    Otherwise, a great post and insight. If only people in politics would take this to heart.

  8. “This is where I suspect I am now. In particular, I’ve spent the last six months really trying to uncover every nook and cranny of the .Net framework, and…”

    R u sure u’ve reached the humility threshold? ;) but nice article nonetheless. helpful. thx

  9. You are right of course – but here is one more thing you don’t know, that is the right way to spell “phase’ – as used in the way you have used it- “That didn’t phase me.”

    The correct spelling is ‘faze’.

    Just goes to show, hey?

  10. Oh this is so my story. I’m kinda on the downward slope now. And it was absolutely the same. My friend and I started building a regular college website and we were all like yeah we know php and we’ll design our own CMS. Shit we didn’t even use Jquery but rather used AJAX to write huge amounts of code. Now I realize my folly a lot better! Hope one day I will reach the ‘humility threshold’ :D

    AWESOME post btw! :)

  11. Doesn’t this graph infer that past the humility threshold, you believe you know less than you actually do? That would have important implications about employee willingness to engage in projects that they are perfectly capable of doing; which seems scarily applicable to the real world.

Comments are closed. If you have something you really want to say, email and we‘ll get it added for you.