I think that it's safe for me to assume that many, if not most, programmers are quite enthusiastic about computers, and even electronics in general. Now, I realize that a programmer should first and foremost keep up with the programming world, which is a difficult task in and of itself: with new languages and methodologies making their way into the fray every year, there is never a shortage of interesting things to learn about and try out.

Yet, the hardware world is also advancing very quickly, and is also highly interesting, I'd argue. I recall days when I would study the newest chipsets, CPUs, compare the popular (and not so popular) manufacturers, and read up on specs for my favorite graphics cards. However, since that time, I've stopped keeping up with the hardware that is being developed, and have instead focused my studies and attention on, well, programming.

I still intend to focus myself on programming, by and large. But, my question is, are there efficient / effective methods or learning resources that would make it easier for a programmer to keep up with the latest hardware, if only in a minimal way?

  • 2
    I use reddit for a high level overview of various interests. reddit.com/r/technology Commented Jan 9, 2012 at 8:33
  • 5
    Question: How many programmers does it take to change a lightbulb? Answer: None. It is hardware.
    – Mike Nakis
    Commented Jan 9, 2012 at 10:49

4 Answers 4


Software developer, unless he's compiler developer or OS developer, only needs to keep up with high level features relevant to programming. Such as increasing number of CPU cores, architectures (eg. ARM becoming increasingly popular as general purpose CPU). Maybe CPU features (like NX), but again, these are more relevant to OS developer.

Enthusiast can check out latest hardware information on sites like:


However, programmer doesn't need to be hardware enthusiast.

  • I've known about Tom's hardware, but hadn't seen AnandTech, so thanks for that. You mentioned some good points, as did many others who answered.
    – voithos
    Commented Jan 10, 2012 at 7:40

Quick answer:

If your job involves providing customers with complete solutions (hardware + software) then you should keep up to date with stuff, in a place like Reddit/Technology.

If you are a bona fide programmer, all you need to do is just keep taking a periodic look at the stuff that are best sellers at any major computer store. If it ain't there, it ain't worth knowing. (*1)

But if you are a Computer Scientist, you do not even care about that. Computer Scientists scorn hardware and only deal with purely theoretical concepts. (*2)

(*1) Besides, you don't want to know much about the latest and greatest, because then you will know what your employer could have bought for you so that you can do your job better, but hasn't.

(*2) Dictionary definition: Hardware (noun) The part of a computer that can be kicked.

  • 2
    I love that definition of hardware.
    – voithos
    Commented Jan 9, 2012 at 16:48

As you, I used to do far more hardware work back in the 90s, when this was far more necessary, since the hardware was less reliable and needed more attention and things where simpler at least for the machines I worked with.

In general I try to keep up with new developments. For the programming I simply have a few websites I visit in regular intervals (HackerNews, some subs of Reddit, some magazines) and have a lot of blogs which I follow with the help of Google Reader, so I don't have to visit each of them daily to see if there is something new. Quite some sites offer regular newsletters (rubyweekly, javascriptweekly).

Many of the interesting blogs I found because they where linked by people commenting on posts on some other websites or blogs. If you start reading into some subject, you will find them soon enough. Then just make sure to subscribe to them in Google Reader and it will tell you each day where you will find something new.

I'm sure there are similar resources for hardware. Just add a few of them and see how good they are. After some time you can remove those that are less interesting.


I have found that I need to keep up with the latest in CPUs, video boards, OS and other technology only when it is important for the job. If I am focusing on how to get the best out of a piece of hardware, then I have to become an expert in that hardware and topics related to the hardware.

Many years ago my task needed open GL, so i tended the think about what calculations could be done on the board, to relieve the stress on the CPU.

When I was a GIS programmer, I didn't have to worry about hardware.

Now in my small company I am the software developer, IT support, and admin on the cloud server...

You find your sources (blogs and other web articles) though basic research. You keep up to date, until the need is no longer there. The toughest thing may be starting...or stopping after the project ends.

Not the answer you're looking for? Browse other questions tagged or ask your own question.