Hacker News new | past | comments | ask | show | jobs | submit login

I've been programming since I was 10, earned a C.S. degree in '96, and have been a successful generalist working as a sysadmin, programmer, network engineer, devops, open-source contributor, etc at everywhere from a small ISP in a college town where I was the only tech person to startups to companies as large as H.P. working on enterprise software. Really a bit of everything. I guess you'd call it dev-ops, but even if I were just a programmer, my curiosity about how things work would drive me to understand my tools better. And at the same time, even if I were just a sys admin, my impatience for repetitive tasks would drive me to automate my tasks.

These are the books that really helped fill out my knowledge and helped me in my day-to-day work. In no particular order:

Code by Charles Petzold. I read this around 2010 for the first time. There isn't really anything in it I didn't know, but the material is just so amazingly well presented that it helped me realize there were things I could only explain in a very hand-wavy sort of way or that I'd forgotten. Just an amazing book. I re-read it every so often. I just got the 2nd edition and look forward to reading it soon.

Higher Order Perl by Mark Jason Dominus. Even though I'd mostly moved on from Perl when I read this, this book really helped me better understand C.S. concepts that I should have learned better getting my degree. This is secretly a book about Lisp for people who are allergic to parenthesis. After reading this book, I was able to back to The Little Schemer and The Seasoned Schemer and get a lot more out of them.

All of the Stevens books, but probably UNIX Network Programming to start. I had the TCP/IP state diagram (from TCP/IP Illustrated) taped on my on cubicle wall for a decade or more.

Mastering Regular Expressions by Jeffrey E. F. Friedl. You get what's on the tin with this one. I've used RE's to great effect throughout my career and I mostly have this book to thank for it.

Programming Pearls by Jon Bentley. A humbling book. I read it and think "that's really clever, I would not have thought of that."

These are the ones that spring to mind. I'd have to peruse my bookshelf to see if I'm missing any other obvious entries. I've used a lot of the O'Reilly books over the years too, e.g. sed and awk. I'm also intentionally leaving out text books that would be part of any C.S. degree.

As an addendum: Man pages. All of them. The Linux man pages, maybe not so much. SunOS was my introduction Unix, and I was spoiled by their quality and comprehensiveness. I recall one day discovering "man intro" and then spending a week doing nothing but reading man pages. http://software.cfht.hawaii.edu/man/solaris/Intro(1)




I would also mention "The Linux Programming Interface" Book by Michael Kerrisk, for being a comprehensive single volume reference for most of Linux userspace API. If you have it by your side, it will save you lots of googling.


This is refreshingly old-school. Thank you!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: