TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Good books that have documented software development wisdom of years?

22 点作者 philonoist超过 3 年前
I am not lucky to sit behind seniors at startups or FAANGs on desk to observe their thought process and creativity.<p>Please recommend me some good books which I should read repeatedly as I progress through years in software development. An experienced author, primary or secondary, is better. The wisdom is something cemented with layers and layers of experiences over the years that they might as well be called epithets of software development.<p>I want to build an asset that stays for years. I want to portend and avoid security issues, avoid downward spiral of interconnected bugs, build code for extensible feature additions, design with keeping privacy and user power in mind; know how not to fall for the new tech fad, as in hold firm against the management pressure to change the product tech...; be able to lead a team of principle software engineer with ease without having the same YoE as requirement, etc.<p>When startups had consistently 99% fail rate, I am amazed at how VIM of 1990s could be so long-lasting, powerful, usable, dependable, and extensible till date. The paradigm shift also percolates into browsers, window managers and file explorers. Same goes for a lot of *nix tools like password managers come and go but &#x27;pass&#x27; just stays; X11-&gt;Wayland; Looking at PayPal in its early stage to now is another amazement to me. Same goes for Apple iOS features and Google web features.<p>On the other hand the virus vulnerable Windows95, its gui, its Ctrl+Alt+Del features took off because it feeds off on people&#x27;s laziness and profit for the sacrifice of everything good.<p>Currently I read some code on recommended open source projects at Github.<p>I want to focus in desktop, android, and web app development as priority but won&#x27;t limit myself to it.

11 条评论

abernard1超过 3 年前
Here are some suggestions.<p>- Designing Data Driven Applications - Kleppmann<p>- The Art of Unix Programming - Raymond<p>- Pretty much any of the programming books published by No Starch Press<p>And more pieces of advice.<p>1) Learn SQL. I mean really, really learn SQL. And then learn the basics of how relational databases work. I&#x27;d recommend Postgres for the dialect because of its quality and maturity.<p>2) Absorb everything you possibly can by Rich Hickey and Stu Halloway. &quot;Simple Made Easy&quot; is a talk that you can watch dozens of times over a decade (I have) and still come away with new insights at different levels of experience. The Clojure community has very mature engineers and they work on extremely hard problems. They&#x27;re concerned with fundamentals.<p>3) <a href="https:&#x2F;&#x2F;www.ribbonfarm.com&#x2F;2013&#x2F;07&#x2F;10&#x2F;you-are-not-an-artisan&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.ribbonfarm.com&#x2F;2013&#x2F;07&#x2F;10&#x2F;you-are-not-an-artisan...</a><p>4) You&#x27;re going to learn most by immersion in an ecosystem, and the best way to learn is to find a job at a solid tech organization. It doesn&#x27;t have to be a FAANG (and probably shouldn&#x27;t be honestly), but find practitioners working on problems you like and show up to help. There is no shame in having entry level grunt work on unglamorous projects: you will learn the most on messy projects other people do not want to work on.<p>5) Do the work. I&#x27;ve worked in software for 20+ years and my first job was in a tiny cube making $5.15 an hour and I retired a year ago. It&#x27;s popular to talk about work+life balance and lots of creature comforts, but the truth is hard work and forcing yourself to constantly solve harder problems (depth) and learn more languages&#x2F;techniques&#x2F;practices (breadth) is what you need. There is no substitute to persistence and pushing yourself to accomplish harder things. Have pride in your work and humility in what you do not know, which for all of us is quite a lot :-)
评论 #29585007 未加载
评论 #29581641 未加载
kulikalov超过 3 年前
<a href="https:&#x2F;&#x2F;hackernewsbooks.com" rel="nofollow">https:&#x2F;&#x2F;hackernewsbooks.com</a><p>There were several projects like this.<p>My 5 cents: I prefer to just sweep all the relevant information on the internet continuously. All relevant books, all relevant courses - just get them all in and if something is particularly useful, start using it right away.
exikyut超过 3 年前
It&#x27;s not a book, but I thought this consolidated wisdom from a senior at a FAANG was extremely interesting: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=29322515" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=29322515</a><p>While awkward, I think there&#x27;s unfortunately quite a bit of weight to the idea of shared implicit knowledge that transcends what winds up written down, even within companies. I don&#x27;t think there&#x27;s a way to short-circuit past that point and achieve equivalent results. Not because sharing is implicitly magic (in the compsci sense) or anything, but because we seem to just be really really bad at serializing immediate social context.
bwh2超过 3 年前
I have about 100 software related book notes on my website that might help you: <a href="https:&#x2F;&#x2F;www.briansnotes.io&#x2F;books&#x2F;?sort=rating" rel="nofollow">https:&#x2F;&#x2F;www.briansnotes.io&#x2F;books&#x2F;?sort=rating</a>
r-io超过 3 年前
The Pragmatic Programmer, is a book that&#x27;s pretty popular and the one I would recommend.<p>Also, <a href="https:&#x2F;&#x2F;wiki.c2.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;wiki.c2.com&#x2F;</a> which is not a book, but lots of software related stuff are present.
matthewmorgan超过 3 年前
I quite like the Effective Java book
jiehong超过 3 年前
Code Complete: A Practical Handbook of Software Construction, Second Edition by Steve McConnell.<p>That book cover a lot of ground applicable to most projects, and provides reasons from real world studies why those advices are good.
webmaven超过 3 年前
Evidence-Based Software Engineering: based on the publicly available data<p><a href="http:&#x2F;&#x2F;www.knosof.co.uk&#x2F;ESEUR&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.knosof.co.uk&#x2F;ESEUR&#x2F;</a>
jschveibinz超过 3 年前
“Software Engineering Economics” or anything else written by Barry Boehm. He writes about old school software development methodology, i.e. not agile, but extremely fundamental nonetheless.
hzlatar超过 3 年前
From the top of my mind:<p><pre><code> - Mythical Man-Month by F. Brooks - Peopleware by T. DeMarco, T. Lister - Creativity, Inc. by E. Catmull - Design Patterns by The Gang of Four</code></pre>
usrbinbash超过 3 年前
&quot;The C Programming Language&quot; - Ritchie &amp; Kernighan<p>&quot;The Go Programming Language&quot; - Donovan &amp; Kernighan<p>Even knowing the language when I started reading each of them, both these books had a lot to teach: Clarity of Expression, building things yourself to get an understanding how more complex versions function, building code that is extensible, understandable and testable, and most importantly: Understanding software engineering not as an academic exercise but as a craft.<p>Both of them also showcase the virtue of simplicity. It&#x27;s much easier to avoid getting drawn to a new tech fad when you can just look at it saying: &quot;Basically, all this really does for us is X, so why do we need the whole XYZ?&quot;