Ask HN: What's the best book you've read regarding software development?
24 points by nadis 2 days ago
24 points by nadis 2 days ago
Today's thread on the Debugging book made me realize there are likely great books related to software development that I've never even heard of, never mind read. I'd like to find (and eventually read) them.
Kind of hard to search for because the titles are all over the place, but here are some of the past book discussions I've found that had a lot of comments and good suggestions and discussion. https://news.ycombinator.com/item?id=41387062 https://news.ycombinator.com/item?id=35929112 https://news.ycombinator.com/item?id=32130578 Oh wow, thank you for sharing these past threads. I'd tried searching but didn't have much success before posting my ask so really appreciate you bringing these to light. My personal favorites: - Patterns of Enterprise Application Architecture (Martin Fowler) - early-mid 2000s and it stays valuable to this day. It's nice to have a formalized view of concepts you know in practice. - Clean Architecture (Robert Martin) - Great application architecture concepts being formalized - Designing Data Intensive Applications (Martin Kleppmann) - Fantastic perspective on your application's data. This is probably the most recommended book I've seen on Hacker News. - SQL Performance Explained (Markus Winand) - Just a killer, concise book to make you truly understand basic DB performance, specifically with indexes. I've met so many developers (myself included before this book) who thought any index will work and then they'd just wing it. Your RDBMS has tools for finding the best optimizations in your queries and you should use them. Your indexes are also more picky than you may think, but they're also incredibly fast if you place them correctly. It's a lot easier to see once you understand. Great reading recs, thank you. Really appreciate the context as well for each. I'm familiar with a couple of these (not all!) and am excited to dig in. When I was at university Getting Real was a big influence[1]. This is a classic, but it's been a while since I last saw this! Thanks for sharing. Game programmer here. The book Game Programming Patterns by Robert Nystrom is a great book that expands upon some of those in Design Patterns, and even teaches about additional ones that are very core to game development. It's a great read; I own physical copies of both books I find them so valuable. How did you get into game programming, if you don't mind me asking? I've always thought it would be such an interesting career but have heard horror stories about what the industry is like now... On the personal interest level? It kind of snowballed. I was 13 when I finally saved up enough allowance money to purchase copies of Minecraft for my sister and I. I can not understate how sad I was when I couldn't find any emerald items, nukes, or clay soldiers to make civilizations for in my creative inventory. This was where I learnt all of those were mods, and not in the base game. I was too young to understand how to use forge (let alone make my own mods), so I got into adventure maps and minigames using command blocks and redstone. I made friends and we worked on each other's stuff. I panned out to have a knack for the command block side of it while others could utilize building skills to make the levels pretty and well designed. It was a lot of fun. When I started taking programming classes in high school and found out the command block work translated over to me doing well with coding, it was pretty set in stone that game programming was what I wanted to go into. I went to a well-ranked college with it as an available major. > heard horror stories about what the industry is like now... There definitely are. You have to remember to value yourself and who you are outside of your work, or else you can be taken advantage of. If the amount of work you're doing is so much that you can't do the other things that make you "you," it's too much work. I graduated at the same time this never-ending wave of layoffs began, so it has been stressful at many points. Some of my best friends have been a part of those lay offs. Some of us pivoted to a new career because there wasn't a chance to even get started. I made do for some time by going to indie game developer events in the city my family lived near. I built relationships, found in-person community, and landed enough contract work as a Unity programmer to pay my student loans until I could find something long-term. I now work at a small company where we do a mix of Unity and Web development. Sometimes it's our own products/services, but until those are successful enough we do contract work regularly to build out our runway. I enjoy what I do at work a whole lot, and it's been great getting critique from senior programmers with loads more experience than me. Very thankful about where I am. In the future, I think I'd be okay with changing over to something else in SWE for my career, so long as it was to help people. I know that I love working with others on games enough that I'd still do it in my free time, just like I did when I was "mapmaking" as a kid. C Programming: A Modern Approach (K N King) that I recently finished, has been great. Prior to that, JavaScript the Definitive Guide. Also cracked into Crafting Interpreters (was great) but got sidetracked. The Goodreads summary for Crafting Interpreters looks fascinating - I've never read anything like that! https://www.goodreads.com/book/show/58661468-crafting-interp... mythical man month How had I not heard of this? adding to my reading list, this looks really good! highly recommend “Coders at Work” This looks really interesting! It looks like there's a founders at work too which might be a good read for different reasons.
Jtsummers - a day ago
nadis - 16 hours ago
jjice - 18 hours ago
nadis - 16 hours ago
schappim - a day ago
nadis - 16 hours ago
Fyid - a day ago
fdlaks - a day ago
Fyid - 9 hours ago
purple-leafy - a day ago
nadis - 16 hours ago
koolhead17 - a day ago
nadis - 16 hours ago
ebcode - a day ago
nadis - 16 hours ago