Join 3,430 readers in helping fund MetaFilter (Hide)


What do I need to know to fill in the gaps?
August 23, 2011 10:29 AM   Subscribe

Looking for books and articles on programming, design patterns, information architecture, and whatever else. Clear information on Things To Do and Things To Avoid, with a smattering of theory and opinion, would be great.

I'm a self-taught programmer with, I assume, lots of bad habits and gaps in my knowledge compared to CS degree types.

My math never went beyond second-year Calculus in college, and now has atrophied. Anything beyond Algebra would likely leave me cold.

What articles/books would help introduce me to concepts and design patterns that will help me be more productive? For example, when and why to use a singleton or factory method pattern, examples of flexible database design, when does it make sense to trade normalization for speed, etc.

Ideally these would be things I could read for an hour or two each day to let me soak in the knowledge, which will help me as I work on a variety of ongoing side projects.

Also ideally, they would be grounded in practical, oft-encountered situations. I feel like I expend a lot of effort needlessly reinventing the wheel with every new challenge that comes up as my skills expand.

Currently I'm proficient (ish) in PHP, VB.NET, javascript, SQL, and Lua, so books or articles that use those languages to illustrate their points would be easier for me to sink my teeth into.

Works that try to be approachable would probably suit my level of knowledge better than insider dialogs that presume peerage and expert knowledge.
posted by jsturgill to Computers & Internet (5 answers total) 15 users marked this as a favorite
 
The Pragmatic Programmer is a classic in this vein.
posted by anotherthink at 10:52 AM on August 23, 2011


Head First Design Patterns.

Don't be put off by the kindergarten-like presentation. It's a very useful book, and I found its presentation made it very accessible.

The only downside for you is that it uses Java to illustrate its concepts.
posted by Sauce Trough at 10:53 AM on August 23, 2011 [1 favorite]


The Clean Coder - Robert Martin, bit of personal bio and a more 'political' approach rather than a how to book. (Slashdot review)

Clean Code - Robert Martin, basic "how to" stuff

Code Complete - Steve McConnell, basic "how to" stuff
posted by w.fugawe at 3:18 PM on August 23, 2011


Emergent Design by Scott Bain.

Also, Joel Spolsky has a reading list on books every programmer should read. Sorry no links, because I'm on mobile, but it should be easy to find.
posted by matildaben at 9:53 PM on August 23, 2011


Before I give my personal recommendations please let me give you a meta-list of sorts: Ultimately, and speaking as somone who doesn't have a CS background, you want to know what you missed? Edsger Dijkstra put it best: "Computer science is no more about computers than astronomy is about telescopes".

From this meta-list, and based on my professional experience, I'd recommend the following books:
posted by asymptotic at 3:18 AM on August 24, 2011 [1 favorite]


« Older How long should the contents o...   |  What sort of set-top box shoul... Newer »
This thread is closed to new comments.