Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Is there a good book and/or series of articles that explains IT concepts such as networking, windows domain, security (SSL certs), cryptography, IT infrastructure, etc? I'm a mid level developer who would like to build a good foundation on these topics as it would help me see how my system fits in.
Now, I realize that these topics are vast and have great deal of resources available on individual topics. My goal, at this point in my career, is not to necessarily gain the depth of the information, instead I'm looking for a good overall working knowledge and when required I'll resort to those special topic books. I'm certain you folks had to overcome this bump in your career as enterprise software developer. What did you do? What resources did you resort to? How does one go about bridging the gaps in knowledge and gaining the necessary understanding that is essential to your success. I'm very interested in reading about your experiences. Thanks for the comments so far.

Thanks in advance!


migration rejected from stackoverflow.com Dec 26 '13 at 11:09

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by gnat, GlenH7, MichaelT, Doc Brown, Bart van Ingen Schenau Dec 26 '13 at 11:09

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, GlenH7, MichaelT, Doc Brown, Bart van Ingen Schenau
If this question can be reworded to fit the rules in the help center, please edit the question.

There are many volumes of information on each of the subjects you mentioned. In fact many people go to school and make an entire career out of any one of them, so I think trying to name one or two 'good' sources that covers these subjects would be almost impossible. Perhaps start on Wikipedia? –  techie007 May 22 '11 at 19:04
The "Beautiful" series of books is very informative, such as "Beautiful Code". I've never been let down by the knowledge provided by experts in each field examined in these books, and they have published a book "Beautiful Security". While I haven't read that particular book, I can say the series is absolutely superb (I was quite sad when O'Reilly pulled "Beautiful Maps" from the printing press before I bought a copy... very unfortunate). Also, the comment above gets +1 for recommending Wikipedia - great advice. –  jqueryrocks May 23 '11 at 1:37
@jqueryrocks: The "Beautiful Series" does have great content, but they are mostly a collection of essays, interviews and articles. I think the OP is looking for books which explain concepts in a given area in a systematic manner. –  talonx May 23 '11 at 3:48

3 Answers 3

I can't manage all of that in one book - I think it would be either too heavy to carry around, or too light to have any value. But I think you can start in with a few books.

For networks, I originally learned from and continue to refer back to: Computer Networks by Tanenbaum

You could probably save a few bucks and get an older edition - the basics just don't change that fast. If you can get your head really solidly around the OSI model, you have a good place to start with networks.

Cryptography - the canonical text is: Applied Cryptography by Schneier

Sorry that I've got nothing on the Windows Domain and Quite honestly there is no easy to read, accessible book on cryptography, the meat of cryptography is understanding the common types of algorithms for it, exactly how they work and why different algorithms are better or worse in different circumstances. That's just going to be hard reading. Admittedly, I didn't learn from Applied Cryptography, I learned from Cryptography by Stinson. But that isn't the book I see as the defacto answer to all things cryptogrpahy in the industry.

I personally love:

Network Security Essentials by Stallings

For the next read, since it merges crypto and networks.

And then it's good to do something on Computer Security, since the two go hand in hand. This is my weak point - I'm not much of a computer admin, so I only brush the surface in this area. I originally learned from:

Computer Security by Gollmann

It covered good stuff and was fairly accessible.

Sorry to have nothing much on Windows Domain or IT infrastructure - there's probably plenty of how to books on Windows Domain, but I've never bothered with any. IT infrastructure is so vast as a topic, that I'd probably advise narrowing down to one concept as a time - for example:

  • DMZ architecture

  • virtual hosting

  • cloud computing

  • intrusion detection and prevention

  • network monitoring

I'm afraid you're going to have to commit to at least 5-8 books if you want to get a well rounded handle on this area. The topic set you list is so broad that any one text on it would not be worth the paper it's printed on because it would have to generalize so broadly, that you'd never get any real information.

Schneier's book includes a lot of details that are irrelevant to the user. The end user shouldn't write his or her own code. I could write a short chapter that would include everything a casual user needs to know about crypto. That's something I know something about. I'm less knowledgeable about the other topics, but I'm sure somebody could write a single introductory book. –  David Thornley Jun 1 '11 at 17:15

Information Technology Infrastructure Library(ITIL) is an entire framework around infrastructure when it comes to IT service management and processes that has several books to it. Course this does carry its own meaning of infrastructure which you may or may not have meant.

My experience has been that I tended to learn things as I needed them. For example, if I was working for a company that had to install an SSL certificate for one of their sites I got to learn how to renew a certificate when it was time to renew it. While I'm not sure this is the best way to get exposure to some areas, it was what I went through earlier in my career.

If I had a suggestion to give you it would be to make sure you know your learning style. Are you solitary or social? Do you prefer words or pictures? There are many different parts to this but only you will know what works for you. Does a general outline of an algorithm to solve something help or do you prefer concrete examples to absorb the material of what does each step look like?


One of the most useful topics you should be up to speed on is the basics of TCP/IP.

The same web site has introductions to many other networking topics from a Windows perspective, such as Windows Domains.