Live data from Hacker News

Programming books you might want to consider reading

danluu.com

71–80 of 137 posts

Re: Programming books you might want to consider reading

#71

I often here comments about finishing a mathematical/technical book over the course of a "few" weekends. But I don't see how thats possible if it includes completing all (or even most of) the given exercises. Especially when you have a full-time job.

Over the weekend? I can't do it. Even if I forced myself to read for 6 hours Saturday and Sunday I'd forget everything during the weekdays. An hour or so every day is much better and realistic.

Depending on the material it is doable over the course of a few weekends. Consider many college courses meet twice a week for one hour each time, so two hours a week. ~14 weeks leaves only 28 hours of in class instruction time. Devote three of your weekends this month to complete study and you'll easily match the hourly total lecture-wise (you could even do it in one weekend if you're hardcore), what can kill you is the exercises, and the time it takes for actually learning the material.

Despite meeting more frequently I don't think college students learn the material any better than an upfront binge learner, because most of them have no clue how to actually learn something. They read and cram exercises enough to match the patterns and pass by (a sort of compressed periodic binge learning), and then they're done. Course interdependence forces some amount of actual learning that lasts but not that much.

Anyway to pull off the weekend study you wouldn't spend 6 hours on each day of your weekends just "reading". You would be reading (not necessarily in order or even every page), doing exercises, creating mnemonics, finding other resources to clear something up, and possibly making some flash cards to take advantage of spaced repetition later, which has an important characteristic that you don't need to review every day for an hour, only at the moment before you'd naturally forget which could be days, months, or years away. Depending on the subject you may also just be "practicing", for whatever that means for the subject. (Writing programs is a common programmer method to supplement in the learning of something.)

Another benefit to the intense approach is that you create many associations up front, instead of living in confusion until (if you don't give up beforehand) your slow and steady schedule advances to the point where learning something new makes enough older things click together. If you're just casually reading for 6 hours a day on Saturday and Sunday, and do no review, and have no intensity of making it an active exercise instead of a passive reading-only one, then yeah, you're not going to learn anything, but I doubt you'd learn much more by converting the same behavior to an hour a day.

Re: Programming books you might want to consider reading

#72
post #34
post #21

Earlier quoted context omitted.

You don't believe in knowledge for the sake of enjoying the perspective that more knowledge gives you?

I do, but with a kid my time is now limited. Unused knowledge has this habit of being forgotten. It turns out to be a terrible waste, at least from my POV.

So what you meant to say was with your current situation it is useless to you.

Re: Programming books you might want to consider reading

#73

Dan Luu's style is so impressive for his ability to be super objective about pros and cons of things. There's a post he wrote where he traces his career and lists out possible missteps and successes. His ability to dispassionately look at situations and evaluate them on their merits rather than allow their connotations into his judgement is quite enjoyable to read. Also his talk at strange loop was spectacular.

Any chance you can link it? For some reason i cannot seem to find it.

Re: Programming books you might want to consider reading

#74
Interesting comment on DeMarco's Peopleware:

> This book seemed convincing when I read it in college. It even had all sorts of studies backing up what they said. No deadlines is better than having deadlines. Offices are better than cubicles. Basically all devs I talk to agree with this stuff.

> But virtually every successful company is run the opposite way. Even Microsoft is remodeling buildings from individual offices to open plan layouts. Could it be that all of this stuff just doesn’t matter that much? If it really is that important, how come companies that have drank the koolaid, like Fog Creek, aren’t running roughshod over their competitors?

The answer is in another recent post (http://danluu.com/sounds-easy/#fn:S):

> For a lot of products, the sales team is more important than the engineering team.

Put another way, every measure of engineer / software quality and project success (including the qualitative ones that are harder to measure) like delivering on time / under budget, correctness of implementation, system performance, uptime / reliability, number of bugs, ease of maintenance, minimal technical debt, etc. etc., are very often only nice-to-haves. Not necessarily all of them at all times, but often enough most of them except one or two (not the same one or two, though).

Which is a good thing, or startups would never be able to trade off covering edge and corner-cases, or scale, or 'standard' feature-completeness, etc. in favor of new and game-changing capabilities (or business models) & incumbents could never be disrupted.

But as it happens, we know that 'worse is better' in lots of ways and in lots of circumstances. So companies that 'drink the kool-aide' and focus on developer productivity and happiness may produce 'better' software by any and all measures you care to use as a developer, instead of focusing on only the most important ones that directly relate to optimizing the customer acquisition funnel and subsequently reducing customer churn.

At the level of the corporation, programming is a competitive sport, but companies are not scored on software quality, or developer productivity, or developer happiness. Companies are only scored on 'getting and keeping customers' and 'making a profit' (which may require paying attention to some quality measures, just not all of them all the time).

Put yet another way: If you're doing Lean Startup / Customer Development right, the customer decides what 'quality' means, not you.

Re: Programming books you might want to consider reading

#75
post #62
post #24

These type of lists have nothing to do with efficient learning. In the information age we have more available information than time. Knowing how to learn is the multiplication factor. If you do your due diligence these lists quickly becomes anecdotal.

I kind of disagree. Knowing what to learn is hard. You have two choices, listen to the advice of others, or learn everything. The latter isn't practical, so I appreciate seeing lists like this. If I see a book on 2 or 3 of these lists, it makes me at least curious to read it if I haven't.

I prefer learning what I find interesting, since I'll learn the most that way. I suppose that gets informed by the advice of others to some extent though.

Re: Programming books you might want to consider reading

#76
post #73

Dan Luu's style is so impressive for his ability to be super objective about pros and cons of things. There's a post he wrote where he traces his career and lists out possible missteps and successes. His ability to dispassionately look at situations and evaluate them on their merits rather than allow their connotations into his judgement is quite enjoyable to read. Also his talk at strange loop was spectacular.

Any chance you can link it? For some reason i cannot seem to find it.

https://youtube.com/watch?v=80LKF2qph6I

Re: Programming books you might want to consider reading

#77
post #67

Could anyone weigh in on his assessment of Martin Fowler's Refactoring book? I'm considering picking it up - some seem to be of the opinion that its ideas are old news in 2016 and there's not much to learn from it, others say there's still lots of useful information.

It's still extremely relevant and useful. Once you've read it cover-to-cover, it remains useful as a reference. I would also recommend Michael Feathers "Working with Legacy Code".

Personally, I found "Working with Legacy Code" much more insightful. Fowler's stuff is great in theory but hard to use in practice.

Re: Programming books you might want to consider reading

#78

Dan Luu's style is so impressive for his ability to be super objective about pros and cons of things. There's a post he wrote where he traces his career and lists out possible missteps and successes. His ability to dispassionately look at situations and evaluate them on their merits rather than allow their connotations into his judgement is quite enjoyable to read. Also his talk at strange loop was spectacular.

Can you link to his post tracing his career. I often wonder how others have made decision to make career choices, and what they think of their past decisions.

Re: Programming books you might want to consider reading

#79

Interesting comment on DeMarco's Peopleware: > This book seemed convincing when I read it in college. It even had all sorts of studies backing up what they said. No deadlines is better than having deadlines. Offices are better than cubicles. Basically all devs I talk to agree with this stuff. > But virtually every successful company is run the opposite way. Even Microsoft is remodeling buildings from individual offic…

Anyone counting Microsoft as "successful" is scoring companies on their ability to threaten price discrimination to exclude competitors' products from the marketplace.

Re: Programming books you might want to consider reading

#80

I often here comments about finishing a mathematical/technical book over the course of a "few" weekends. But I don't see how thats possible if it includes completing all (or even most of) the given exercises. Especially when you have a full-time job.

It probably isn't if you're coming at the material for the first time, or after a long break. I took a 15-week course in Linear Algebra a few months ago, and we only covered about half the book in that time. I spent just about every weekend and evening doing those exercises. It's very time consuming. However, if you gave me my old College Algebra book, I might be able to skim through it in a month of weekends and ref…

Well, math really isn't a spectator sport. You have to do the work on your own, reading is only part of the work. A very time consuming hobby indeed.
Post reply on HN