Hacker News new | past | comments | ask | show | jobs | submit login
Some of my favourite programming books (philipotoole.com)
65 points by otoolep on Nov 27, 2016 | hide | past | web | favorite | 12 comments

I'm a junior dev with ~2 years experience. Currently I'm primarily doing back-end web work on a massive spaghetti codebase written in Node, Python, and PHP.

My current reading list:

* Code Complete: A Practical Handbook of Software Construction - Steve McConnell

* Agile Software Development - Robert C. Martin

Upcoming reading list:

* Node.js Design Patterns - Mario Casciaro

* The Pragmatic Programmer: From Journeyman to Master - Andrew Hunt

* Clean Code - Robert C. Martin

* Refactoring: Improving the Design of Existing Code - Martin Fowler

And maybe Working Effectively with Legacy Code by Michael Feathers.

If anyone has any comments or other suggested readings I'd love to hear them!

how did you figure your reading list out ?

It's compiled half from other people's lists and half from searching for books to learn specific skills. It may be a bad list.

@otoolep Have you read Steve McConnell's "Software Estimation: Demystifying the Black Art"


(if yes, then why isn't it on your list!?)

Haven't read it. Good?

Good books, all classics. Weinberg's book is frequently cited by one of my favorite tech books, Roy Osherove's Notes to a Software Team Leader.

@otoolep, your spam detection missed the one comment to this post. :)

Interesting to note the famous "hello, world" program that beginners are taught was popularized by the example used in The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie.

I tried The Mythical Man Month but gave up. Found it extremely slow. I don't understand why it gets so many positive reviews.

It's also very short so it should still be easy to get through even if it isn't especially gripping.

It gets a lot of positive reviews because it is from a highly credible source who actually did what he was talking about not just wrote about it and because it describes conditions that still obtain; more than forty years later we still haven't learnt all the lessons.

Goodies but very oldies. The forerunners of agile.

> forerunners of agile

What do you mean?

Mythical Man Month and Peopleware both deal with managing work: estimating work, problem of quality, feature creep. Agile offers methods to address these same problems, just a little more evolved, imho.

* working in sprints forces estimations over smaller pieces of work (aim small, miss small).

* sprints, in my experience, challenge feature creep. teams are much more aware of time and challenge anyone making changes to scope. nothing is free.

* teams are responsible for dev and testing (e2e); no throwing crap over the wall.

These books deal with more than these topics.

btw, the quiet room for 2-3 people as described in Peopleware is being thrown out where i work. walls are being torn down to build team collaboration spaces. times have changed.

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