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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask HN: Resources for engineers new to system design

180 点作者 ledneb超过 6 年前
I came across a twitter thread on resources for engineers new to system design* - there are some great recommendations there. What would (or do) you recommend that first-time system designers read?<p>* https:&#x2F;&#x2F;twitter.com&#x2F;HenryR&#x2F;status&#x2F;1094033131399565313?s=19

12 条评论

adamfeldman超过 6 年前
I enjoyed the book &quot;Designing Data-Intensive Applications&quot; [1]. It is a survey of technologies for storing and processing data.<p>As an engineer new to system design, I found the whole book to be gold. It gave me the vocabulary to continue learning more on my own.<p>[1]: <a href="https:&#x2F;&#x2F;dataintensive.net" rel="nofollow">https:&#x2F;&#x2F;dataintensive.net</a>
评论 #19138040 未加载
评论 #19136004 未加载
niazangels超过 6 年前
System design primer has been a really helpful resource for me so far.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;donnemartin&#x2F;system-design-primer" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;donnemartin&#x2F;system-design-primer</a><p>Also, you might want to check out &#x27;Web scalability for startup engineers&#x27; by Artur Ejsmont.
charlysl超过 6 年前
I would start with the MIT OCW course 6.033 &quot;Computer System Engineering&quot; [1] (old videos [2]):<p><i>This class covers topics on the engineering of computer software and hardware systems. Topics include techniques for controlling complexity; strong modularity using client-server design, operating systems; performance, networks; naming; security and privacy; fault-tolerant systems, atomicity and coordination of concurrent activities, and recovery; impact of computer systems on society.</i><p>[1] <a href="https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;electrical-engineering-and-computer-science&#x2F;6-033-computer-system-engineering-spring-2018&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;electrical-engineering-and-compu...</a><p>[2] <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PL6535748F59DCA484" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PL6535748F59DCA484</a>
mgliwka超过 6 年前
<a href="https:&#x2F;&#x2F;github.com&#x2F;donnemartin&#x2F;system-design-primer" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;donnemartin&#x2F;system-design-primer</a> is a great resource.
itamarst超过 6 年前
It&#x27;s worth noting that &quot;Design something that can scale to Google-size&quot; is very different than designing smaller systems (and vast majority of systems are smaller systems).
评论 #19134514 未加载
评论 #19134517 未加载
morphle超过 6 年前
Alan Kay lectures 2005-2015 [1]<p>Butler Lampson &quot;Hints for Computer System Design&quot;<p>[1] <a href="http:&#x2F;&#x2F;tinlizzie.org&#x2F;IA&#x2F;index.php&#x2F;Talks_by_Alan_Kay" rel="nofollow">http:&#x2F;&#x2F;tinlizzie.org&#x2F;IA&#x2F;index.php&#x2F;Talks_by_Alan_Kay</a>
cosmie超过 6 年前
Others have already posted some fantastic, practical resources for creating technical systems.<p>But for truly first-time system designers that haven&#x27;t had much exposure to systems thinking before, you might find [1] useful. Donella Meadows[2] focused on environmental sciences and economics, so the specific examples&#x2F;anecdotes mentioned may not be of interest to you. But she is also well known for her work in systems thinking, and the mental frameworks and general systems thinking principles sprinkled throughout are just as applicable to designing complex software systems as they were to her work. And make it significantly easier to evaluate the practical resources others have provided and interpret them in context to your own needs.<p>[1] <a href="http:&#x2F;&#x2F;donellameadows.org&#x2F;archives&#x2F;leverage-points-places-to-intervene-in-a-system&#x2F;" rel="nofollow">http:&#x2F;&#x2F;donellameadows.org&#x2F;archives&#x2F;leverage-points-places-to...</a><p>[2] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Donella_Meadows" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Donella_Meadows</a>
jakequist超过 6 年前
I know this is a non-answer, but just my $0.02...<p>Two decades ago, when I was learning to code, the career path for engineers was to eventually become a &quot;software architect&quot;. The architect was to be the god among mortals who would &quot;design&quot; large systems and dictate how these things fit together.<p>Fast-forward a few years and it turned out the &quot;architects&quot; were the biggest waste of of time and money. The best system designs came from the low-level engineers who were actually building the individual components.<p>In my humble opinion, the best way to learn big system design is to just put in your 10,000 hours of coding. The principles necessary for multi-thread concurrency are not so different from multi-datacenter concurrency. I suspect there are 1,000s of subtle design patterns that one can perhaps never fully articulate.<p>Just my $0.02. Good luck!
carapace超过 6 年前
&quot;Permaculture Designer&#x27;s Manual&quot; by Bill Mollison and &quot;Introduction to Cybernetics&quot; by Ashby<p>Incorporate ecological and cybernetic principles in your designs.
rkho超过 6 年前
I&#x27;m a fan of Grokking the System Design Interview, it&#x27;s a great rundown of system design terms and concepts along with a guided solution to some of the most commonly asked questions.
sathley超过 6 年前
www.highscalability.com has some great real world examples.
skjfkdkdmdn超过 6 年前
Thanks! I was just reading up on system design!