"A Philosophy of Software Design" by Stanford's John Ousterhout is excellent. It is quite concise (about 190 pages), but in my opinion, it includes all the essential information that the other books in that category would teach you. It leaves out a lot of cruft that over the years turned out to be non-issues (code styling, problems that come with object oriented programming, etc.) but occasionally - when the topic is…
I went on a long email back and forth with the author because this was the one book that opened my eyes so much that I did't know why the Ruby community (of which I was a part of then, but am no longer) would break so many of the principles of the book. Maybe the only book that has actual made me a better programmer that I can objectively measure.
Ask HN: What books should I read to improve as a software engineer?
61–70 of 127 posts
Re: Ask HN: What books should I read to improve as a software engineer?
#62Re: Ask HN: What books should I read to improve as a software engineer?
#63I’ll have two recommendations. 1. A Philosophy of Software Design is very good. Not the whole of it but it’s short and to the point. 2. Fiction, as diverse as possible. I apologise for making assumptions but many software engineers are secretly lacking in understanding other people, what kind of of life experiences that have, how they think about the world, what is important for them. If you work with people it is go…
Point 2. is interesting. Is it your personal experience or you have some sources to explore that topic?
I wish there were a lot more non-fiction books dealing with common and uncommon life's situations, which step out of the theory towards what actually happens in practice.
Re: Ask HN: What books should I read to improve as a software engineer?
#64I’ll have two recommendations. 1. A Philosophy of Software Design is very good. Not the whole of it but it’s short and to the point. 2. Fiction, as diverse as possible. I apologise for making assumptions but many software engineers are secretly lacking in understanding other people, what kind of of life experiences that have, how they think about the world, what is important for them. If you work with people it is go…
Point 2. is interesting. Is it your personal experience or you have some sources to explore that topic?
I mostly read Fantasy books and a little bit of SF, but the main points I would say is better visualization. Reading textbooks gives you understanding, but being able to reconstruct scenes and characters just from a few lines is a nice plus. When reading story from a ticket, it's become much easier to visualize a concrete use case. Also empathy building. Manuals and documentation are very dry and text is more constrained bandwidth-wise than visual interactions. Reading fiction can help you interact better through text emotionally. And we respond better to stories than logical arguments.`
Re: Ask HN: What books should I read to improve as a software engineer?
#65I would split the books into two categories: those that improve the way you structure your code and deliver a software solution, and those that improve your technical understanding of the software platform and the computer you're using. The first are books like Pragmatic Programmer, Mythical Man Month, Code Complete, Design Patterns, talks by Alan Kay on software systems and OOP, even Game Engine Architecture etc. A…
So there's the philosophy of the craft which are mostly the core skills of software engineering (or engineering in general). Problem solving, project planning, resources planning, methodologies,... Then the various theories (computer science). Algorithms, Data Structures, Computer organization, Networking, Databases, Operating Systems,... And then the skills. Programming Languages, Libraries, Tools (editors, shells, build systems, debuggers, test runners). Being a good programmer involves being fairly knowledgeable in all three.
Re: Ask HN: What books should I read to improve as a software engineer?
#66"A Philosophy of Software Design" by Stanford's John Ousterhout is excellent. It is quite concise (about 190 pages), but in my opinion, it includes all the essential information that the other books in that category would teach you. It leaves out a lot of cruft that over the years turned out to be non-issues (code styling, problems that come with object oriented programming, etc.) but occasionally - when the topic is…
Re: Ask HN: What books should I read to improve as a software engineer?
#67I would split the books into two categories: those that improve the way you structure your code and deliver a software solution, and those that improve your technical understanding of the software platform and the computer you're using. The first are books like Pragmatic Programmer, Mythical Man Month, Code Complete, Design Patterns, talks by Alan Kay on software systems and OOP, even Game Engine Architecture etc. A…
Re: Ask HN: What books should I read to improve as a software engineer?
#68I’ll have two recommendations. 1. A Philosophy of Software Design is very good. Not the whole of it but it’s short and to the point. 2. Fiction, as diverse as possible. I apologise for making assumptions but many software engineers are secretly lacking in understanding other people, what kind of of life experiences that have, how they think about the world, what is important for them. If you work with people it is go…
Point 2. is interesting. Is it your personal experience or you have some sources to explore that topic?
Re: Ask HN: What books should I read to improve as a software engineer?
#69Designing Data Intensive Applications
Re: Ask HN: What books should I read to improve as a software engineer?
#70"A Philosophy of Software Design" by Stanford's John Ousterhout is excellent. It is quite concise (about 190 pages), but in my opinion, it includes all the essential information that the other books in that category would teach you. It leaves out a lot of cruft that over the years turned out to be non-issues (code styling, problems that come with object oriented programming, etc.) but occasionally - when the topic is…
I went on a long email back and forth with the author because this was the one book that opened my eyes so much that I did't know why the Ruby community (of which I was a part of then, but am no longer) would break so many of the principles of the book. Maybe the only book that has actual made me a better programmer that I can objectively measure.