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.
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.
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]
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
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
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:
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]
- What should a self-taught programmer with no degree learn/read? (Stackoverflow)
- As a programmer without formal CS training or a CS degree, what am I missing? (Stackoverflow)
- What does a college degree provide that experience doesn't? (Stackoverflow)
- Book reviews (Joel Spolsky)
From this meta-list, and based on my professional experience, I'd recommend the following books:
- Code Complete by (2nd edition) by Steve McConnell: Truly, one of the great books on software development. By the end of this book you should have a better appreciation for what "clean code" is.
- The Algorithm Design Manual by Steven Skienva. Self-taught programmers eventually need to read "an algorithms book", and in my opinion this is the best of the lot. A fantastic mix of experience and theory. Don't worry, you don't need advanced maths to grok algorithms.
posted by asymptotic at 3:18 AM on August 24, 2011 [1 favorite]
« Older How long will (canned) pickled jalapenos last? | set top box to attach to a monitor for airport... Newer »
This thread is closed to new comments.
posted by anotherthink at 10:52 AM on August 23, 2011