10 ms·
Ask HN: Name 3-5 books that had the most impact on your career and knowledge?
Even though there are literally thousands of books on software engineering, not many are really useful or career changing. That said, let's try and name the books that you consider to be important in your career, how you understand the field, your current skills and depth of knowledge.
Let me start:
1. Designing Data Intensive Applications
This book doesn't need any additional praise, but it's just brilliant how it manages to be both highly technical and very readable (and even capturing).
2. The Pragmatic Programmer
I wish I had read it years ago. It reads like a great conversation with an incredibly experienced friend of yours
3. Philosophy of Software Design
It's debatable whether this book is the better replacement for Clean Code, but I really like how nuanced and undogmatic it is.
It goes without saying that with such books it's often the case that you revisit some parts or delay until you have a usecase that includes the topic discussed in the book. This is especially true for DDIA.
What are your top 3-5? Please, also add your brief comments on how exactly this book changed you :)
- throwaway0asd 4y agoAs a self taught developer there are only a few books I read early in my career that seriously impacted how I write code. 1. XML Schema by Priscilla Walmsley - https://www.amazon.com/Definitive-XML-Schema-Priscilla-Walmsley/dp/0132886723/ref=sr_1_1?crid=1KHS288IITT2S&keywords=XML+Schema&qid=1663584634&sprefix=xml+schema%2Caps%2C74&sr=8-1 https://www.amazon.com/Definitive-XML-Schema-Priscilla-Walms... 2. DOM Scripting by Jeremy Keith - https://www.amazon.com/DOM-Scripting-Design-JavaScript-Document/dp/1590595335/ref=sr_1_9?crid=2554ADEVP52IV&keywords=book+dom+programming&qid=1663584583&sprefix=book+dom+programming%2Caps%2C78&sr=8-9 https://www.amazon.com/DOM-Scripting-Design-JavaScript-Docum... 3. CSS Pocket Reference - Eric Meyer - https://www.amazon.com/CSS-Pocket-Reference-Visual-Presentation/dp/1492033391/ref=sr_1_4?crid=20B968EDP8VK1&keywords=css+eric+meyer&qid=1663584782&sprefix=css+eric+meyer%2Caps%2C73&sr=8-4 https://www.amazon.com/CSS-Pocket-Reference-Visual-Presentat... Most of the developers I have worked with in my career are absolutely terrified by tree structures. They will admit otherwise like some kind of pathological liar, but this is easily exposed and that's so unfortunate. A tree structure is just a data structure like any other and embracing that liberates you from a kind of Stockholm Syndrome.
- tootie 4y agoOh yeah, have to dig back the to heyday of O'Reilley. I think Webmaster in a Nutshell and Learning Perl were the ones I loved most dearly.
- throwaway15nov 4y ago1. Head first design patterns 2. Javascript - The good parts
- JohnDeHope 4y agoThe Mythical Man Month by Fred Brooks Professional SQL Server 2000 Programming by Robert Vieira Programming BASIC for Tandy Computers by David A. Lien
- nickspain 4y ago1. Release it Got me to start thinking about reliability and able to express my thoughts on it. 2. Design of Everyday things Read it as a junior and it got me thinking about UX and putting the user first. 3. The Pragmatic Programmer Another one I read as a junior that had some really interesting ideas in it. Along with Release it! it gave me the language to talk about the ideas as well. Thinking about this now, I’m keen to give the Design of Everyday Things a read. I now work in a different area and it’d be interesting putting it in that light.
- willsmith72 4y agoI would say the technical books can be important (esp. higher level ones, like DDIA), but the bigger impact can be getting more perspective on the business or product side. 1. Lean startup - Eric Ries 2. Inspired - Marty Cagan 3. Sprint - Jake Knapp 4. Creativity inc. - Ed Catmull 5. Range - David Epstein
- rg111 4y ago1. Fundamentals of Physics by Halliday, Resnick, Walker 2. Quantum Mechanics by Eisberg, Resnick 3. Mathematical Physics by Arfken, Weber, Harris 4. Introduction to Statistical Learning with R by Hastie et al. 5. Deep Learning for Coders by Jeremy Howard
- sedeki 4y agoI want to self-learn physics from scratch. I have a degree in mathematics, but my understanding of physics is embarrasingly shallow. Is Fundamentals of Physics by Halliday et al a good starting point for me?
- vmilner 4y agoI would start with the Leonard Susskind Theoretical Minimum series (books and YouTube Videos) and then see if you need to try other texts. https://en.m.wikipedia.org/wiki/The_Theoretical_Minimum https://en.m.wikipedia.org/wiki/The_Theoretical_Minimum
- gorilla0 4y agoYou should look at Susan Rigetti's post - https://www.susanrigetti.com/physics https://www.susanrigetti.com/physics
- jds_bv 4y agoI am a mathematician, too and trying to learn physics in my spare time. I don't like the 1000 pages tomes targeted for undergraduates, the Halliday book is well-liked, but since you already have a degree in mathematics, you may get a bit bored. I like the No-Nonsense Series by Jakob Schwichtenberg a lot. I worked through the Classical Mechanics book already and found that it teaches the conceptual framework very nicely. I plan to go through the Electrodynamics and Quantum Mechanics books in the series and then work through some other books with exercises (there are no exercises in the Schwichtenberg books, which usually is a no-go for me, but I am reading them to get the concepts in an uncluttered fashion.). The best classical mechanics book IMO is the one by John R. Taylor, I have worked through 2/3 of it with nearly all exercises years ago, I can heartily recommend it. For Electrodynamics I would recommend the book by Griffiths and for QM there is a very promising new book by Barton Zwiebach which has been created based on a course he is giving at MIT. I wish you good luck with your learning journey!
- samuel 4y ago1. Data Analysis with Open Source Tools This learnt me how to analyze "small" datasets which have helped me incredibly in my career. Technology wise is very out of date, but the concepts are still valid. I think it's hard to get more with less investmtent. Really underrated book. 2. Expert Oracle Database Architecture If you have to develop on Oracle (something I undestand it's not very popular in HN), you have to read it. It's a great book that delves into the why's and not only into the how's. 3. Software Estimation: Demystifying the Black Art. Only the "cone of uncertainty" concept would make it a must-read. It provided me a framework for doing estimations and at same time, to worry less about them. It has helped me to divert lots of uncomfortable conversations about "when" towards a much more productive "what-and-why-is-needed".
- KboPAacDA3 4y agoI bought the Data Analysis book thanks to your post.
- samuel 4y agoI hope you like it!
- billziss 4y agoThe single most important programmer's book that I have ever read is the UNIX Programming Environment by Kernighan and Pike. I read this as a teenager in the late 80's and it was an epiphany for me to discover what was possible to do with rather simple tools.
- DoingIsLearning 4y agoProbably not the answer you are looking for but Carnegie's 'How to Win Friends and Influence People'. So much of our career path is decided on relations more so than deliverables, also self-promotion is key but it doesn't come naturally for everybody. The idea that I shouldn't self-promote (because somehow it felt like bragging) and that people will notice if I do amazing work but stay silent was probably one of the most negatively impacting inhibitions I had at the beggining of my career. Also the book made me realize how 'utilitarian' and sometimes selfish I was in communication with others. I had an amazing manager as a Junior who gifted me that book, it really gives you some perspective. We are often selfish listeners and are not committed to acknowledging the other in a 2 way relation. Once you condition yourself not to do that then building relations is way easier, and the space for self-promotion occurs naturally without a feeling of humblebrag.
- idontwantthis 4y agoI’d recommend reading this and then immediately reading Nonviolent Communication by Marshall Rosenberg. Carnegie opened my eyes to how to communicate productively, but it’s also a really manipulative way of being. Nonviolent communication comes from a position of love and understanding instead of just getting what you want. There is significant overlap, but where they differ, NVC is going to lead to better relationships especially with family.
- jalino23 4y agothis interesting! I did make many friends with Carnegie but non of them felt deep or were long lasting. I need to check out NVC
- mindentropy 4y ago>Carnegie opened my eyes to how to communicate productively, but it’s also a really manipulative way of being. I find it odd that people keep raving about this book. As you said it is a very manipulative and exploitative way. It is ok if you are just aiming for getting what you want. Instead I find Robert Green's books which callout and does not sugar coat anything.
- 4y ago
- the_third_wave 4y agoBaden-Powell's "Scouting for boys", Jack London's "The Call of the Wild", The Commodore 64 Reference Manual... just to name a few. The first one because it lured me to the great outdoors, the second one because it pointed me where to go - I paddled the Yukon from Whitehorse to the Bering Strait with a water- and most likely bulletproof solar-powered "Virgin WebPlayer" and a hat/canoe-mounted camera to record it "all" (the camera was not totally waterproof so it died just before Eagle, the border town between Canada and Alaska...), the third one (which I actually destroyed way before I paddled that river) because it laid bare the soul of the new machine. For the rest I just read whatever I can get hold of, I don't really have any "cornerstone books" - probably because I've seen too many of them rise to fame to later decline when the fad they promoted got out of fashion...
- leetrout 4y ago"Peopleware" https://en.m.wikipedia.org/wiki/Peopleware:_Productive_Projects_and_Teams https://en.m.wikipedia.org/wiki/Peopleware:_Productive_Proje... We are still making the same mistakes managing software projects and teams 30 years later.
- npteljes 4y agoLooking at construction projects, making the mistakes seems a millennia-old tradition at this point.
- franze 4y agoThinking in Systems by D. H. Meadows The Secrets of Consulting by J. W. Weinberg Understanding SEO by F. Enzenhofer (wrote it myself, changed a lot for me)
- thedougd 4y agoNever Split the Difference by Christopher Voss and Tahl Raz
- spapas82 4y ago* The C Programming Language. 2nd Edition. nuff said. * Learn C++ in 21 days. May seem strange from the title, but this was the book that helped me really grok OO design. It's examples about mammals horses dogs and unicorns (!) have stick to me for ever. * Digital Computers (this is a greek-only book, publish date was 1979 or something): We had this book for a course at our first year on the University. It introduced everything from transistors to logical gates to flip flops, to more complex circuts to a complete (teaching) ALU to writing ASM for that ALU. Understand everything was a revalation to me.
- jjice 4y agoMy dad gave me a copy of K&R when I was a senior in high school and that was quite the spiral into developing my love for computers even more. A true classic.
- yao420 4y agoI had just graduated high school and was really into economics/finance and I wanted to automate some Forex trading. K&R and Unix Programming we’re two of the few books in my local library that were about programming. My hacker career/life started with reading page one of K&R. I never looked back.
- dccoolgai 4y ago"Adaptive Web Design" by Gustafson. This is how the Web _should_ be made. The Network one by Ilya Gregorik. There's just not a lot of other material that covers this and certainly not this thoroughly. This one is probably responsible for me "looking smart in front of others" more than any other book on the list. "100 things every designer should know about people" by Weinschenk (sp?). Actually I take it back: _this_ is the most "look smarter than everyone" book you can read if you work anywhere around the web. Especially if you have to argue with designers. I have a few more, but I'd start with those.
- johnchristopher 4y ago> The Network one by Ilya Gregorik. There's just not a lot of other material that covers this and certainly not this thoroughly. This one is probably responsible for me "looking smart in front of others" more than any other book on the list. This one https://hpbn.co/ https://hpbn.co/ ?
- paganel 4y agoMaybe not what the OP wanted to read but the book(s) that have had the most lasting impact on my career these past few years were some of Ellul's books, such as Le bluff technologique [1], which book builds on his entire career of writing about tech's effects on our life and our modern society. It has "disenchanted" a lot of the tech-related stuff for me, and it has disenchanted most of our industry, for that matter (I'm a computer programmer, forgot to mention that). Still doing my small thing, getting my salary doing honest work, work which, hopefully, doesn't send anyone to prison nor enables some genocide half-away around the globe, so there's that. [1] https://www.amazon.com/le-bluff-technologique/dp/2818502276 https://www.amazon.com/le-bluff-technologique/dp/2818502276
- pnf 4y agoinky black pill, not for the faint of heart or casually happy
- deleted 4y ago[deleted]
- fsloth 4y agoTo be fair, I don't think 3-5 books suffice at all. So from the point of view of adding books no-one else has mentioned, from the point of view of C++ Software Engineer, a few of my favourites: Code Complete 2 - McConnel Professional Software Development - McConnel Structure and Interpretation of Computer Programs (SICP) - Sussmann et all. (main artifact: Implement the scheme interpreter, not in Scheme, but in a language of your choice) Algorithm Design Manual - Skiena The Timeless Way Of Building - Alexander. Software patterns often refer this book, but the concepts used in software patterns generally are far more pedestrian in scope than Alexanders timeless vision for quality in architecture. Goes really well with this older book Notes On The Synthesis of Form.
- stiiv 4y agoAccelerate (Forsgren, Humble, Kim) gave me a way to quantify results and talk to execs about how a development org is performing, something I always found difficult before. Domain Modeling Made Functional (Wlaschin) provided me with concepts and techniques that I've used practically every day since I read it, especially functional design patterns and DDD/CQRS without the jargon.
- robg 4y ago1. Founders at Work 2. Structure of Scientific Revolutions 3. The Myth of Sisyphus 4. How to Win Friends and Influence People 5. Design of Everyday Things
- JosephGuerra 4y agoFor me it was "Teach yourself...Assembler" - not because it was a great book or anything, but it was the first book I purchased to learn actual programming. I don't think I even finished the book. (assembler is tedious and hard!) But it began a lifelong love of computers and software.
- dandare 4y agoThe Selfish Gene by Richard Dawkins changed my whole outlook when it revealed that cheating and stealing will inevitably happen in any complex system and is not a question of morality but a question of optimal allocation of resources.
- kqr 4y ago= Out of the Crisis by Deming. Everyone ought to read and absorb Deming. It's hands-down the most life-changing read I've ever come across, by a wide margin. Dealing with life statistically rather than overreacting to randomness means it's possible to achieve much higher levels of effeciveness and productivity. Working with people to unleash their inner motivation is vastly superior to trying to carrot-and-whip them around. Understanding that a specific process will yield a specific outcome, whatever outcome you wish for, is how to avoid getting the same result over and over while thinking you ought to see something different because gosh-darned if you aren't trying really hard!! = Willful Ignorance by Weisberg. This isn't that good a book, in that it doesn't cover very much content at all, but it really gave me a good intuition for what statistics and probability is about that has helped me understand more advanced things than I was able to before. Both this book and Deming will take a few years to digest. You'll want to practise it in real life, then come back to read it again, then practise some more. Eventually the lessons will start to stick. = Performance Modeling and Design of Computer Systems by Mor Halchor-Balter. Despite the name, this is a book about queueing theory. You know, that branch of statistics that shows up literally everywhere, except nobody seems to understand that it does. I have been dabbling in queueing theory before this book, but the focus this book put on practical applications really made me understand it on a deeper level than before. = Working Effectively with Legacy Code by Michael Feathers. I didn't originally want to put this one in this list because it's so predictable, but I can't not. I keep coming back to it and re-reading portions of it every time I have to deal with tricky code. It's just that good at explaining clever ways to get things under test, so they can be worked on with confidence. = How to Measure Anything by Douglas Hubbard. What I really take away from this is how powerful it is to be able to estimate ranges that are true 90 % of the time. It's hard to convince others of what a superpower this is, but I hope to work with people who understand that some day.
- fuzzfactor 4y agoIn his later years Deming consulted with Gallery Furniture in Houston, and "Mattress Mac" has been one of the most respectable local entrepreneur/philanthropists for some time now.
- warpech 4y ago
- oxff 4y ago1. An anonymous poaster in an image board who was very very passionate about SWE to such a degree it made me passionate about it too. 2. https://www.tedinski.com/archive/ https://www.tedinski.com/archive/
- mcv 4y ago* Beyond Java, by Bruce Tate Convinced me to leave Java and start doing Ruby instead. Did a lot more programming languages since then. * Javascript the Good Parts, by Douglas Crockford Taught me how to write better js. Of course since then the language has changed so much that this little booklet is completely obsolete, but for a brief period, this book was absolutely essential. It's hard to single out a third book. No other books come close to these two. Most books are too thick and wordy and boring, and I'm not a fast reader. I'd love to list one of the books about design patterns here, but I never finished any of them, so I think I'm going with: * Beginning Scala I haven't actually done any big projects in Scala, but it was captivating, showed me how beautiful a programming language could be (but also how ugly, in later chapters), and changed how I think about programming languages. I still regret never having actually begun anything in Scala, although I still fear the complexity of its type system. The world needs a cleaner Scala.
- msk-lywenn 4y ago- The BASIC book that came with my TI-83+ calculator All the essentials of programming - The C Programming Language The book to start getting serious - Mathematics for 3D Game Programming & Computer Graphics The book that finally helped me understand the university math I had never managed to grasp
- eggy 4y ago1. Amiga Assembly Language Programming (1987) - The book that tore me away from the Commodore BASIC I learned on my PET 2001 in 1978. 2. The Architecture of Symbolic Computers - (1991) - I didn't read this until the 2000s, but boy, what a book! It's about Lisp and Lisp Machines, but it covers everything that is still applicable to computers. A great example of a dense, readable textbook compared to all the fluff written nowadays with too many pictures and repeated explanations. 3. The C Programming Language, 2nd Edition - you know what I am talking about! 4. Genetic Programming (1992)- John Koza - Really got me into early machine learning and more into LISP! 5. The Handbook of Neuroevolution Through Erlang (2013) - Gene Sher - Great intro to ANNs in general, and Erlang even if you don't program in Erlang or want to! Honorable mentions: A. The Book of Shen - Mark Tarver - It's a LISP, but the history of computing and Lambda Calculus is nice, and Shen is an amazing language. B. Building High Integrity Applications with SPARK 1st Edition - Great intro to SPARK, and Ada subset, used in the book for the CubeSAT program at VTC (Vermont Technical College).
- sbm_au 4y ago* Godel Escher Bach An ambitious work that's hard to describe, Douglas Hofstadter weaves history, maths, geometry, music, fictional Socratic dialogue and a hell of a lot of recursion into a investigation of Godel's infamous paradox at the heart of mathematics. I read it as an undergraduate and it was mind blowing at the time. * The Poignant Guide To Ruby A weird and captivating journey that I found in my early years as a programmer. Though I never actually wrote much Ruby in the end. * Modern Operating Systems by Tanenbaum/Bos The most normal textbook. It's a doorstopper that covers a lot. I just liked it for some reason (I loved the course too) and I've kept it around. Many more that I'm sure I've forgotten.
- melmore 4y ago1. Pragmatic Programmer Many pearls of wisdom about the development process 2. The C Programming Language Established the foundation for my early career 3. The Mythical Man-Month Gave names to problems I'd experienced in my career. 4. Accelerate Taught me the metrics and means of improving the software delivery process 5. Refactoring Defined and named patterns for improving a codebase There are others that could fit into a top 5 depending on what I'm working on at the time, (Gang of Four, Programming Pearls to name a couple).
- samsaga2 4y agoIn my case it was not a book, it was a magazine, MSX Club. When I was very young, without knowing any English, without internet or any kind of books, I learned to program by copying the Basic code that appeared in the magazine.
- deleted 4y ago[deleted]
- kludgemaker 4y ago* Getting Real, by 37signals: Gave me confidence to side-step a lot of the bs I saw in software development practice * The Mythical Man-Month, Fred Brooks: Provided an argument against inexperienced managers who errantly assert that they need more developers to get projects done quicker; perhaps more importantly, it gives as a model for a programming team with a "chief programmer" to whom these managers need to report * The Timeless Way of Building, Christopher Alexander: Taught me the original (perhaps better) concept of design patterns, which helped in talking to colleagues about the parts of software we build and reuse * JavaScript: the Good Parts, Douglas Crockford: Led me to a solid understanding of how to make good use a crummy scripting language that was only really meant to glue DOM behavior to Java applets
- bwb 4y ago1. Leaders Eat Last Deluxe: Why Some Teams Pull Together and Others Don't We gave this to every employee at the business, as it models the type of culture and leaders we wanted to grow. For me personally, it put down on paper what I had been trying to do for years. It was something I reread often to try to improve my manager/leadership skills. This type of thinking helped me become a better CEO (it wasn't instant). 2. Playing to Win: How Strategy Really Works Great books on tactics and strategy; it helped me improve why we did things and created a much better approach to problems. 3. 4. Lean B2B: Build Products Businesses Want and The Lean Product Playbook: How to Innovate with Minimum Viable Products and Rapid Customer Feedback Totally changed how I approach building solutions and testing ideas. I learn how to do customer dev interviews and go from learning to testing what problems I am hearing and so on. I’ve flipped through each of them 50+ times as I construct the next interview or so on. I particularly like the Product Playbooks method to evaluate different problems and the value individuals put on them. They have been helpful as I’ve started to learn, and I’ve got a long way to go. I wish I had these 10 years previous; it would have saved a lot of money.
- eatonphil 4y agoFocused on systems and design for backend devs: 1. High Performance Browser Networking 2. Designing Data-Intensive Applications 3. Site Reliability Engineering: How Google Runs Production Services 4. Effective Python: 90 Specific Ways to Write Better Python I wrote in a bit more detail here: https://notes.eatonphil.com/books-developers-should-read.html https://notes.eatonphil.com/books-developers-should-read.htm.... Personally I would definitely not put Pragmatic Programmer, Clean Code or Philosophy of Software Design on the list (of required reading). I think they're good but not great. But whatever you enjoy reading is awesome! Everyone should read more. :)
- dondraper36 4y agoHave you seen the book "Web Scalability for Startup Engineers"? I think it's also good for system design. Definitely not as deep as DDIA, but I would say it's a decent prerequisite :)
- eatonphil 4y agoNope, I haven't seen it!
- russnewcomer 4y ago- The Pragmatic Programmer - helped me see some common pitfalls and figure out how to avoid them. Also gave me some good language for working with others. - Coders at Work - hearing how some very experienced people thought about software was perspective altering for me in a good way. - Things a Computer Scientist Rarely Talks about - Knuth has a depth to him and his thinking that freed me to have depth in my own thinking. While not strictly a software engineering book, the integration of all areas of life was and is inspiring.
- atlasunshrugged 4y agoMy background is mainly in BD (tech) and policy (US & international gov) and I've always found business books with the exception of How to Win Friends and Influence People to be incredibly lacking. Instead, some of the most influential books for me have been sci-fi or more in the future prediction category. 1) Stand on Zanzibar: Helped me understand one direction of a potential world unfolding and stands out as incredibly prescient 2) Sovereign Individual: Helped me understand emerging tech trends potential impact on how government/society is organized 3) The Unbearable Lightness of Being: Helped me better understand relationships, human needs, and dealing with impossible choices
- spaetzleesser 4y ago“Design Patterns” showed to me that there is a way to build software in a systematic way. “Only the paranoid survive” taught me the need to constantly staying up to date.
- lb1lf 4y agoRoss Anderson's Security Engineering. More than any other title on my bookshelf, it has affected the way I think about any product design process. Things WILL go wrong, sometimes in ways you did not expect. Hence, you had better plan for systems to fail gracefully rather than by going kaboom. (I design handling systems in the low megawatt range - so design failures tend to make themselves painfully and spectacularly evident if given half a chance.) Edit: Oh, and Horowitz & Hill's 'The Art of Electronics.' I've a MSc in electronics, but AoE was the book which bridged the gap between all the theory we were fed in lectures and the nitty-gritty of actually making something which would work. If nothing else, AoE drove home the validity of the old truism 'In theory there's no difference between theory and practice, in practice there is.'
- ericskiff 4y ago1. Never Split the Difference by Chris Voss From someone who hated negotiation books and didn't want to "win" negotiations, this was a true life changer. Listen with empathy. Find the thing your counterpart really wants. Put them in your shoes by asking how you can do [x thing they're asking]. Fundamental things that have improved my relationships with many people in my life. 2. Radical Candor by Kim Scott This book helped me understand how to care for someone while still challenging them and asking for their best work. I truly believe that people are happier and more fulfilled when they feel challenged by their work and empowered to rise to that challenge. 3. Building a Story Brand by Donald Miller Selling anything is about understanding that the buyer is the hero of their own story, and your job is to sell them the tool helps them succeed. The buyer is Luke, you're Obi Wan, and you're selling them the Lightsaber. This has been endlessly applicable working with entrepreneurs. 4. The E-Myth Revisited by Michael Gerber A seminal text on why small businesses often fail and how they can create systems that work and create ongoing success. 5. Non-violent communication by Marshall Rosenberg This one literally changed who I am as a person and how I show up for others. Realizing how much judgement is embedded in our language, how often we express that judgement to other people, and how that makes them feel was eye-opening. I strive to both feel and express radical non-judgement, and to listen to and communicate with people in a way that allows them to feel heard and safe. I have strong, loving relationships with some people in my life that I never would have expected 10 years ago, in part because this book helped me grow.
- kwhitefoot 4y agoLoudspeakers, Gilbert Briggs The Feynman Lectures, Richard Feynman, et al. Introductory Special Relativity, W G V Rosser
- the_arcadian 4y agoTRS-80 Color Computer Assembly Language Programming - Learned assembly as a teenager and there's no better foundation for knowing how a computer works. Love to shake the author's hand for that one - right book at the right time in my life, and surprisingly well written for something you could pick up at a Radio Shack. Borland's Turbo Pascal 5.5 Object Oriented Programming Guide - explained object-oriented programming in a way that I could immediately get it even at a young age. TBH I'm not sure I've ever read a better and clearer explanation. Distributed Programming in Argus, by Barbara Liskov - interesting academic language that found a way to merge a lot of disparate concepts including object oriented computing, distributed computing, and transactions. Good foundation for when I learned Elixir / Erlang OTP. Peter Drucker, Larry Prusak, and Bruce Kogut are a few thinkers and professors that showed me how to see organizations as repositories of knowledge and human connections rather than collections of financial assets and strategic capabilities. (The customary view taught in business school.) Anything they write is worth reading, but Working Knowledge is a fine place to start. (Tried to pick some interesting ones for you folks.)
- ztjio 4y agoI absolutely concur on the Turbo Pascal 5.5 book. It might sound absurd so I just had to add a voice to support this reality. It's been over 30 years but I really can't think of any writing about OOP or a specific language that was so... effective. But I guess it shouldn't be so surprising. Turbo Pascal was kind of a well-spring of excellence in its time.
- slowhand09 4y agoThe Art of the Long View - Peter Schwartz Any book by Tom Kyte. Pragmatic Thinking and Learning: Refactor Your Wetware - Andy Hunt The Media Lab: Inventing the Future at M.I.T. - Stewart Brand Extraordinary Popular Delusions and the Madness of Crowds - Charles Mackay Only the Paranoid Survive - Andy Grove
- whispersnow 4y agoI have been in technical content creation world, so Definitely 1) Design Data intensive apps - my go to book all the time for the basics. 2) System design interviews - whenever I need to borrow the idea on how a specific system is designed and 3) ALWAYS BE QUALIFYING: MEDDIC - the foundation book for sales that I recommend everyone to take a look, especially people in tech. It opens a different perspective on how the business side are thinking. And a lot of the concepts can be applied to work even I am not in sales.
- readthenotes1 4y agoExploring Requirements: Quality Before Design, Gause+Weinberg This book introduced me to the questions I should have been asking before starting to write software and helped me make a lot more money by impressing people with those questions. Included in the book are context-free and meta-questions which are useful in all sorts of arenas. By forcing me to become immersed in separation between functional and non-functional requirements, I began to understand the importance of the non-functional requirements (software quality attributes) and have since found that it is a useful distinction in the pursuit of living well.
- preordained 4y ago1. Effective Java. The mentality/no-nonsense approach more than anything...the language itself not my favorite these days. 2. Headfirst Java. A stepping stone book like above, but it was very helpful in progressing from "here are variables and control statements" to here are the wide range of things a language can do in the later sections. 3. TCP/IP Illustrated. I never really saw the use in pulling back the curtain of some these lower level details in most modern development, but having pulled it back I can say it is absolutely useful/enlightening/worthwhile. 4. The Haskell Road to Logic. Educational exploring some math and logic through the lens of a programming language.
- kstealth25 4y ago1. The Millionaire Next Door - I read this as a kid and took away the importance of owning your own business and living below your means. 2. The Good Earth - Another book that I read as a kid that I think about often…specifically about the choices the family makes as their fortune rises and falls. 3. Running Lean: Iterate from Plan A to a Plan That Works - I like the 1 page canvas for capturing assumptions and the product & solution interviews. More recently, I read Four Thousand Weeks: Time Management for Mortals. I wonder if the central message of this book (“you can’t do it all & how to embrace that”) will stick with me.
- mcgreenbeats 4y agoThe Real Book - Great for learning jazz standards and how to read music.
- asar 4y ago1. Atlas Shrugged - made me understand the complex relationship between politics and the business world 2. The Code Book - gave me a great appreciation for cryptography and its historical importance 3. The Swerve - made me understand how the renaissance came to be and also showed me what great writing and unique research can accomplish
- aintmeit 4y agoThe Big Book because one's own worst enemy is one's self. The Big Book because addiction can kill. The Big Book because so many people just don't get how self-destruction looks.
- ryaneof 4y ago1. Getting Real 2. Hackers and Painters 3. Zero to One 4. The Intelligent Investor
- j_not_j 4y agoSoftware Engineering Risk Analysis and Management by Charette. This unlocked the meaning of "risk" for mme and how it applies to engineering and systems. VAX/VMS Internals and Data Structures by Kenah. Not that anyone cares anymore but this provides a distinctively different description of operating system internals. Very different from Linux. Explains what goes on behind system calls; process creation; file systems and so on. Structured Programming by Djikstra. Up there with K&R. System Engineering Management by Blanchard. This introduces you to system lifecycles of very very large systems (pre-Google/pre-Meta). And how to manage the people building them and manage the engineering. Relatively hard to read; the NASA System Engineering Handbook or matching European references are easier reads. C/C++ Users Journal (magazine subscription). Seeing a wide variety of programming styles, approaches to solving problems, and approaches to describing the solutions. Various SQL language guides. Knowing SQL helps organize my problem solving even if a "database" is not part of the solution. "The" classic declarative language. Other books already mentioned here: Mythical Man-Month; Visual Display of Quantitative Information.
- rurban 4y agoAntipatterns SICP Sedgewick Algorithms
- elproxy 4y agoNot books on Software engineering, but since you asked for most impact: * Limits to Growth (Meadows, Meadows & Randers) * Sustainable Energy: Without the hot air (David MacKay) Available here: https://www.withouthotair.com/ https://www.withouthotair.com/ * Sitopia (Carolyn Steel)
- westi 4y agoThe Mythical Man Month - important lessons for any developer Bird by Bird: Some Instructions on Writing and Life - A really good read on how to write which is applicable to everyone who needs to communicate well Producing Open Source Software - This is such an in depth book into everything you need to consider when working “in public”
- Rosalia 4y ago[dead]
- deleted 4y ago[deleted]