5 ms·
At the risk of being another intrinsically lazy developer who's not going to follow through, what is your standard list of must-reads?
by BadBot 4y ago
At the risk of being another intrinsically lazy developer who's not going to follow through, what is your standard list of must-reads?
- deleted 4y ago[deleted]
- candiddevmike 4y agoNot OP, but anything related to the kind of stuff you're working on. I'm doing WebAuthn stuff right now and I am reading through the spec before/to help falling asleep. Specs are extremely terse and dry, and I never liked reading them. I pushed myself to read a few and now I find myself craving that kind of technical documentation in my work. The WebAuthn spec is pretty interesting and also has some even more interesting drama on GitHub issues.
- twawaaay 4y agoI guess whatever helps you better understand work you are doing? My reading list at any point is tied to whatever I am doing in my private or professional life. If my boss asks me to help grow the company my reading list will contain a bunch of stuff about company growth. If I have money to invest but no knowledge of investing -- you will see me listening to investing books while cooking, taking walks, commuting or long distance driving. Basically, whenever I face a problem I look around for literature to help me with it. I really hope to have an original problem in my life. Until then I assume that whatever problem I have there is somebody who wrote a solution to it and if I can't find it it is just because I wasn't searching hard enough.
- belfalas 4y agoMany more beyond this but these are my for sures. People / Soft Skills: * How to win friends and Influence People - Dale Carnegie * Secrets of Consulting - Gerald Weinberg * Peopleware - Tom DeMarco & Timothy Lister * Nurtured by Love - Shinici Suzuki * Turn the Ship Around! - David Marquet * Never Split the Difference - Chris Voss http://dhemery.com/articles/resistance_as_a_resource/ http://dhemery.com/articles/resistance_as_a_resource/ http://dhemery.com/articles/managing_yourself_through_change/ http://dhemery.com/articles/managing_yourself_through_change... Macro Skills: * Toyota Production System - Taiichii Ohno * Workplace Management - Taiichii Ohno * Thinking in Systems - Donella Meadows * Fifth Discipline - Peter Senge Agile: * Extreme Programming, Explained (2nd ed.) - Kent Beck (the annotated bibliography is a goldmine) * Chaos: Making a New Science - James Gleick Programming: * Implementation Patterns - Kent Beck * Test-Driven Development, By Example - Kent Beck * Refactoring (both editions) - Martin Fowler * Refactoring to Patterns - Joshua Kerievsky * Practical Object Oriented Design - Sandi Metz * Functional Programming in Scala - Chiusano & Bjarnason * Growing Object-Oriented Software, Guided By Tests - Freeman & Pryce ("The Goose Book") * Modern Java in Action - Raoul-Gabriel Urma * Java Concurrency in Practice - Brian Goetz * Grokking Algorithms - Aditya Y. Bhargava Architecture: * Righting Software - Juval Lowy * Release It! - Michael Nygard * Site Reliability Engineering - Beyer, et al. ("The SRE Book”) * Domain Driven Design - Eric Evans * Introduction to Permaculture - Bill Mollison and Mia Slay * Fun with a Pencil - Andrew Loomis Design: * All books by Edward Tufte, especially “The visual display of quantitative information” * The Elements of Typographic Style - Robert Bringhurst * Understanding Comics - Scott McCloud * Design of Everyday Things - Don Norman * Notes on the Synthesis of Form - Christopher Alexander * The Timeless Way of Building - Christopher Alexander
- Andys 4y agoSo cool to see Bill Mollison in there. I live on a farm and work remotely in part because of that book.
- belfalas 4y agoThanks! There is a lot the software world could learn from permaculture. I think software in many ways is more akin to gardening than building physical buildings.
- belfalas 4y agoAlso, you should study up on TCP/IP networking. You should be able to telnet to an HTTP server and write out a correct request by hand and have it work.
- twawaaay 4y agoConnecting to FTP server with telnet left as exercise for the reader... :)
- intelVISA 4y agoOh you tease, TCP/IP is more than just \r\n and HTTP/1.1! We need at least 21 libraries for that!
- belfalas 4y agoHaha yes, for sure. I mean that it’s good to understand that HTTP is built on top of other things. I can’t tell you how valuable it’s been at times to understand how packets flow over a network. When ECONNREFUSED first rears its ugly head many developers tremble. Over time you learn it’s just a slog of debugging. Emotional control while programming is invaluable.
- halkony 4y agoI love you
- halkony 4y agoI'm in the same boat as you. I'll repost this comment from when I asked another user here about easier ways of learning DDD (the Eric Evans book is pretty dense). "I think a good place to start is through the service design lens — “This is Service Design Thinking/Doing,” Jon Kolko’s books, and IDEO’s handbook (all available on Amazon). These are all practical, business-oriented works, and will give you the language and tools you need to interact with service designers or conduct your own explorations. In the tech side, I still think there’s a lot of value in reading through Booch and friends, even if you don’t go on to use UML in a formal way, and even old, deprecated approaches to modeling (think Shlaer-Mellor) can be valuable as an introduction to more modern (and generally more complicated) approaches to domain modeling. For more academic and less practical works, look into philosophers of language and communication (Rorty, Habermas, Latour, etc) — if you don’t have a background there, try the “Very Short Introduction” series, which gives a good grounding before moving into further secondary or primary literature. What you get from these writers is a way to think about language, communications, and complex systems, so you’re building a conceptual toolkit. (Analytic philosophy, which is another, “mainstream” branch of philosophy, also has applications in the formal comp-sci route.) Sociology and STS (Science and Technology Studies) kind of occupies a practical middle-ground between philosophy and design; I’ve often said that when we do service design, we’re really just doing folk sociology. There’s no shortage of textbooks, but I’d recommend looking into academic field guides for ethnographic studies (a fancy term for “going out and talking to people about what they do”) and ethnomethodological studies (a fancy term for “going out and talking to people about what they believe”). While the service design books will give you practical tools for conducting workshops and research programs, sociology books will give you a firm grounding on why those tools are used, and how to theorize effectively on what you uncover. I also like measurement theory, which is a branch of psychology concerned with understanding how to define measures and metrics — great tools for clearly defining data and reporting. Finally, in addition to all this, consider digging into a corporate finance text or two; the three legs of the stool are product and service design; technical and operational architecture; and finance and sales. If you can read your company’s balance sheet and cash flow statements, you’ll be in a much better position to understand where you need to target investments, what the likely return on investment will be, and how much cash (or debt) is available to make things happen. Start building up a good knowledge base in all those areas, and you’ll have the tools necessary to know the “where, how, and why” to apply the “what” of technology to your organization’s problems. "