a companion discussion area for blog.codinghorror.com

Keeping Up and "Just In Time" Learning


Do you ever feel like you're buried under umpteen zillion backlogged emails, feeds, books, articles, journals, magazines, and printouts? Do you ever feel that you're hopelessly behind, with so much new stuff created every day that you can never possibly hope to keep up?

This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2006/04/keeping-up-and-just-in-time-learning.html


I’m starting to think we need more arrows. Like big, red, helpful arrows that point to a specific class in the big 3500+ class chart along with the text “probably a good class to start with”.


Well article. I agree with everything. Thank you, now I won’t feel down anymore.


I think it is a good thing to “feel stupid”. Not in the negative sense, but to feel that you don’t know enough.
I don’t think Einstein walked around saying "Damn, I am maybe the smartest man alive”. Like with my newborn son, the more stuff he learns the more stuff my son needs to learn. The more books you read, you start to see how little you actually know. No matter how many programming languages you know even more programming languages you don’t know.

I am very much a JIT developer, I don’t worry about technology I don’t know. I just learn it, if I need it. So far it has worked great; I have solved every task in my career. But now I am starting to feel like a bad developer. I am mostly doing .Net programming, and more often I tend to get in little stupid situations when I think I am being smart. Like when I develop some smart UserControl, and the other developers just say, “well the framework already have that functionality, maybe only 80% as good as yours, but it works, so let us use that instead”. This is just an example and I do love a lot of things with huge the Frameworks like Java and .Net. But I tend to find that I should be less smart, creative and stupid. I should just be wise and follow the leaders.


good advice. we need more books with the words “don’t panic” on the cover :wink:


Thanks for that post! It gave me a real feeling of relief to realize that not everyone I work with is super-human.

BTW, cleaning out the cruft from your RSS feeds may be more rewarding than cleaning out your office closet!


Refreshing comments.

One of the things that is frequently forgotten about these things, it that the people who are ‘behind’ are experts. People on the cutting edge are not, because it takes years to master any new field.

Switching to new platforms/languages sets people back years - sure the principles and general experience carry over, but the fluency, speed, and specialised knowledge of the quirks and ‘gotchas’ do not.


Interesting comments by Peter Palludan up there. I think this is evidence that programming, even at “advanced” levels, is “maturing” farther away from a science and more toward a “knowledge trade”. I.e. anyone that knows the general rules can get by.

This may be good for productivity, and for advancement of technology in the computer industry. But I got into programming because of the challenge. I fear for the day that programming stops requiring creative thought and critical problem solving skills. I.e., when it becomes the intellectual equivalent of manual labor: problem X is a variant of general problem type Y. General problem type Y is solved with tool Z. Apply tool Z to problem X with appropriate force and click problem solved.

That’s not what I got into this industry for. I want challenges. Recognizing the type of screw and turning the correct screwdriver is not a challenge for me. I want to solve new problems that have never been tackled before.


I’m going to print the first bit (SecretGeek) and start reading it to myself every day when I get to work. I’m always stressing about “needing to know”.

Actually, if I could drop the multiplayer Call of Duty 2 habit, and use that time to learn, I’d be a guru.


I don’t have it right to hand, but one of my rotating e-mail sigs goes something like:
“I’d rather learn SQL than 100,000 programmers APIs”.

For those not doing database work, that’s not much help. For the rest however, it sure does. If only we can get the coders fingers out of the data…


Good suggestions. But like a diet, the effects only last so long before your subscriptions/bookmarks/whatever are once again massive. It’s a perfect addiction: free, pleasurable, seemingly useful and beneficial, with no obvious downsides, at first at least.


I find that if I just read Coding Horror and The Daily Grind everyday, I’m well informed about the current goings on in the software development world.

Cheers to all those who can keep up with more than a couple of RSS feeds a day.



You know, I agree with you, in principle, especially as it refers to myself. I don’t need to learn every new thing – and because I work in the embedded space, it’s great to see all this Web 2.0 and “Yet Another Means Of Communication Between 2 Computers With Some Horrible Protocol Built On Top Of IP” just zoom by over my head like a 747 going from NY to LA. I don’t care what those guys in the 747s are doing – odds are that they’ll just crash anyway.

On the flip side, I’ve worked with programmers that just didn’t want to learn anything new. Programmers who start brand new MFC apps to send data over TCP (rather than using C# or VB). Programmers who get confused when using Bugzilla because they didn’t read the error messages. Programmers who still need to be told why version control systems aren’t just something setup to get in your way.

If you’re reading a blog, you’re probably not one of those people though – and your statement is true. It’s the people that don’t ready ANY blogs which worry me.


Trouble is, is SEEMS like everyone else IS keeping up. So how do I create this impression?!?!


The problem with “just in time” learning is that it easily becomes “too little, too late.” If you are blessed with sufficiently long or flexible schedules that you can easily budget in the learning time for the technologies you discover you need, more power to you. All too often though, it seems that by the time I discover I need a new technology, it’s too late to come up to speed by the time I need it. So I think I need to anticipate a bit to keep ahead of the curve.


It’s nice to know I’m not the only person doing this.

In fact, computer sciences is a very vast subject, so it’s impossible to be up to date in all of it’s fields. It’s much wiser to just keep a “cache” of knowledge, and fill it as you need. Of course, you have to be a fast learner, and avid reader for this. For example, I was able to learn C# and .NET in under a week to start a project, as well as learning the Twisted Python framework as I programmed a server in it.

Now, if you ask me something about Twisted, I’d probably know the answer, but in a very general way, no details. My cache has been flushed and filled with something else (VB.NET, SQLServer, TurboGears, among others) and so I just have a vague remembrance of whole things I was using earlier. But when I start using them again, things fall in place much faster, because I already know how things work, and even if I don’t remember which class did XML serializing, I know there IS XML serializing and the documentation does the rest.

As Dave W. points out, you gotta be careful though. When the projects schedule is small, and time is tight, you better use the tools you better know and, only later, refactor or create a new version using the best practice.



Maybe you feel like this too!


Not much of a coder, but found this post from a friend, who is.

secretgeek, your list almost freed me – but mostly because, not being a real coder (about at first grade level for HTML now LOL), I didn’t understand most of it, so knew it was ok not to. THEN you did it – had to add:

You are beautiful just the way you are.
You are brilliant, interesting, wise and fun to be around.
You rock.

Now, I’m all uptight again! If you think I’m beautiful, brilliant, interesting, wise, fun to be around AND rock – boy, you missed the boat on me! Since you missed that boat by a whole ocean and contenient, I’m now fearing that I’m missing the boat by not worrying about the rest of your list! LOL


I dunno, Lynn, I actually liked that part the best. ^.^;

Maybe it’s something we need to be reminded of more often?


Agree completely. I’ve been at Microsoft for over 7 years now and didn’t go to college (yet), or know code when I started. Everything I’ve done so far (Systems Engineer, Dev, PM) I’ve learned as I needed it. You can pull this off, you just can’t be too lazy (save that special sort that causes you to go learn something so you can automate the job you’re too lazy to do. That kind is worth gold.) :slight_smile: