惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
G
Google Developers Blog
Vercel News
Vercel News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
N
Netflix TechBlog - Medium
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Engineering at Meta
Engineering at Meta
B
Blog
博客园_首页
量子位
博客园 - 叶小钗
L
LangChain Blog
T
The Blog of Author Tim Ferriss
云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
F
Fortinet All Blogs
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
D
DataBreaches.Net
雷峰网
雷峰网
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Last Week in AI
Last Week in AI
P
Proofpoint News Feed
TaoSecurity Blog
TaoSecurity Blog
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
The GitHub Blog
The GitHub Blog
I
Intezer
H
Help Net Security
The Hacker News
The Hacker News
The Register - Security
The Register - Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
AWS News Blog
AWS News Blog
V
V2EX
Microsoft Security Blog
Microsoft Security Blog
T
Tenable Blog
Spread Privacy
Spread Privacy
A
Arctic Wolf
P
Proofpoint News Feed
T
Threat Research - Cisco Blogs
Schneier on Security
Schneier on Security
C
CERT Recently Published Vulnerability Notes
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The Last Watchdog
The Last Watchdog
Latest news
Latest news
T
Troy Hunt's Blog
L
LINUX DO - 热门话题

Hacker News: Ask HN

The New Window Delete ChatGPT Atlas Spyware Tell HN: Qwen Free Tier Is Discontinued Ask HN: SeedLegals Partnerships in London, worth it? Ask HN: How to highlight talent from untraditional backgrounds? Ask HN: We dont need a programming language now? Durable Object alarm loop: $34k in 8 days, zero users, no platform warning What if Time at the subatomic level has multiple arrows? How to add MidnightBSD Key to UEFI Secure Boot DBX? (Revoked and Forbidden Keys) Ask HN: What's your experience working at xAI as an AI tutor? Any engineers here with experience of clinical data standards? Ask HN: Who is using OpenClaw? Agent Skills for Software Test Automation Ask HN: Who needs contributors? Claude Code is thinking too much Ask HN: What Is the Big-O Order of a Jigsaw Puzzle? Ask HN: Stepping into a new role as a Senior, mentoring dos and dont's? Founder from Zurich heading to SF and Austin for the first time Hacker News No Manual Screenshots: I Built a Scalable Screenshot API Using Cloud Playwright Ask HN: Thought experiment: AGI giving us answers we don't like? Ask HN: I quit my job over weaponized robots to start my own venture 1% Vacancy, 81% Preleased: Where Midmarket Compute Deploys in 2026 Ask HN: Preferred pricing model for sound effects libraries? Copy of the email I sent to my undergraduate professors on Nov 30, 2025 Model API Performance | Hacker News Ask HN: Are open-weight LLMs the new offline encyclopedias? Valgrind 3.27 RC1 is out Claude Code OAuth down for >12 hours Ask HN: What's Better?–Tauri or Electron? Technical SEO vs. content optimization: which one moves rankings? Hacker News Ask HN: Can you cut off AI usage immediately? Nvidia's moat is not what it used to be Ask HN: What's your experience with PoW captchas against form spam? Ask HN: What are all the bad things that AI companies have done which we forgot Ask HN: Is Zero Trust Architecture Overkill? Ask HN: What is the best way to get your first users? Tell HN: OpenAI silently removed Study Mode from ChatGPT Ask HN: How to build an "AI native" company? Tell HN: docker pull fails in spain due to football cloudflare block Launchfolio – Create a portfolio in minutes for free, no account needed 120k USD compute credits from various providers Ask HN: How do you retain what you learn from podcasts? Ask HN: How is everyone dealing with the increase of code reviews? Ask HN: Agentic AI just makes me sad Ask HN: Do you trust AI agents with API keys / private keys? Ask HN: Anyone using Nostr as a lightweight back end/DB for rapid prototyping? Ask HN: What should I do with my app? 130 downloads 3 real subscribers Strong feeling: we are in a folded AI reality Hacker News What comes after Open Source? Ask HN: Former grok-code-fast-1 users, what coding model are you using now? When career anxiety becomes gameplay: lessons in China 'young-faculty simulator' I propose a new programming language, CPC Ask HN: Do you remux WebM to MP4 without re-encoding? Ask HN: How to have a macOS devcontainer in VS Code? I built a free 30-day habit tracker in Google Sheets Ask HN: What is the most annoying part of scheduling meetings? Ask HN: Has anyone reconsidered Antivirus software after recent security news? Tell HN: See the AI Doc Ask HN: Why have we not stepped back on the moon again? Ask HN: How did you specialize as a software engineer? Ask HN: Agentic Permutation of Testing Paths In A System Ask HN: Will AI Redefine Programming? Ask HN: How do you stop playing 20 questions with your AI coding tools Ask HN: Is the telehealth consulting for psychiatry even works? Ask HN: Im back end engineer, not front end – is this just excuse? What tools do you use to visualize algorithms? Tor Browser on Android leaks IP in desktop mode Published on Rapid API | Hacker News Persistent vs. Stubborn / Genius vs. Intelligent Is the pitch deck culture making founders worse at building businesses? Do founders' political views affect how you see a product? Ask HN: Easiest UX for Seniors My app hit 1,152 first-time downloads in a single day Claude API Error: 529 | Hacker News My AI workflow evolved from prompts to a near-autonomous workflow Hacker News Ask HN: Best books on building a programming language I collected startup ideas. It changed how I think about ideas completely Is algorithm still relevant in 2026 Is VC the new PMF strategy? Ask HN: Would you take your engineering team to Buenos Aires for an offsite? Hacker News Artemis 2 Coming Home | Hacker News Ask HN: Recommendations on which models to pay how much for? Open Source card game cuttle.cards has its world championship Saturday at 1pm ET Scanners are too late for AI-driven actions Ask HN: Negotiating Intern Pay Ask HN: Hiring in the age of AI-assisted coding: what works? Amazon Luna Shuts Down without refunds? The Weather Channel RetroCast Now Behind the Scenes and Technical / Design V1.21 Update for Gpumkat | Hacker News Valence and HYVE, RT Physics Attention and a "Synthetic Organism" Ask HN: Its either I or Agent code. Both of us on same codebase is a disaster Ask HN: Does Sam Altman know how to code? Ask HN: Is a purely Markdown-based CRM a terrible idea? Optimized for LLM agents Ask HN: Improving as mid-level dev with forced use of LLMs I built ClawIDE: A web-based IDE for managing multiple Claude Code sessions
Ask HN: Any advice on how to learn good software architecture practices?
jimsojim · 2026-05-30 · via Hacker News: Ask HN
Ask HN: Any advice on how to learn good software architecture practices?
18 points by jimsojim 8 days ago | hide | past | favorite | 13 comments

As someone who picked up coding around the time AI and agents started becoming more mainstream, I realize I don’t have much knowledge about the best way to architect applications, and I often end up going with whatever the agent recommends. I wanted to check with the community: do you have any recommendations on what I should be doing to get better at overall architecture planning?

I do ask AI a lot of questions, but it would be good to have a non-AI frame of reference that I can rely on. I find that having a structured starting point really helps me challenge and evaluate some of the outputs.

 help


https://aosabook.org/en/

These are available to read completely free online, but I do plan to purchase the physical books some day.

[edit] I realize that I should probably give more context to my answer. The books on the site are basically interviews with the authors of the software and they discuss what choices they made as well as the advantages/tradeoffs of this approach. In other words, the direct answer to your question is to learn by reading what other people have written about their own successes and glean from that.

[edit 2] Your favorite LLM could also provide a list of books that are similar in spirit, but there's just something about the series that I linked to that I like.


Building something real from scratch, like a small SaaS or side project, can help you learn a lot.

Using AI is not a bad thing in itself, but you should treat it as an assistant rather than a crutch. When AI gives you an answer, ask yourself "why this approach?" and evaluate the response critically from multiple angles. When you build with that mindset, you naturally develop good architecture instincts, both by understanding the AI's reasoning and by pushing back on it.

Personally I would recommend starting with a Discord bot. I started learning programming by building a discord bot with dashboard before ChatGPT existed, and looking back it was a surprisingly good way to develop architecture sense. The scope is flexible, even if it is built just for yourself, it can grow as complex as you want. You can keep adding features over time, and every new feature forces you to think about how it fits into what already exists. And that friction is where the learning actually happens.


> I realize I don’t have much knowledge about the best way to architect applications

There is no “best way”, it always depends on what you are building.

The main advice I would give is to always remember that there’s trade-off’s in every architectural choice…

I guess some general tenants might be… “great architectural solutions…”

- Allow new features to be added, without much complexity

- Have reliable and clear abstraction layers

- Allow tests and typing to validate it’s correctness

- Manage clearly understood limitations, rather than implicit surprise limitations


The only thing I can think of is to ask the AI "why this instead of that?"

Every architectural decision is a tradeoff between something and another. Every technology choice is also a tradeoff. If you understand the reasons for the choices you'll start understanding architecture.

Sometimes it starts with requirements (ie: what you're trying to do), or what your deployment environment looks like, your hosting provider, or even what technology static you'd rather use.

For example, I'd never use Java for a project ever again; it's unclear what it really brings to the table, and it's more difficult to deploy on AWS. And if I was going to use Java I wouldn't pick Spring or any other dependency injection framework because they inevitably lead to impossible-to-debug performance issues. I wouldn't use an ORM for the same reason. No Ruby as well, due to issues with migrations and active record. No postgres unless there was a specific feature of it that works better than other, due to RDBMS management overhead and inconsistencies.

Of course, now that I write this my next project is going to be some random Java/Spring/pgsql thing with a Ruby engine attached (aargh).

What helps actually is reading the "why you should use this tool" parts of each tool. You can start building a mental model/checklist of the good/bad things of each one and why would you use one instead of the other. There's almost always more than one tool available, and the way you deploy/scale/manage/backup each one will tell you a lot about when you would (or wouldn't) use it.

In general don't worry about scale until you're at the point you can test for scalability. I mean, some architectures are better than others, but all of them will be performant at 10 users. Even flat files, a bash web server, and bash-based CGIs can handle 10 users.


Good software architecture - that allows to avoid mistakes that costs you a lot at the end. So you need to see many systems with that mistakes and see what did the become at the end, than you will be able to spot bad decisions at the very beginning. So path of tries and mistakes and gaining experience. Without experience even if you read or learn some good practice - without deep deep understanding why it is good - you can badly apply it


I have been programming long before LLMs, and it was painfully slow, but the lessons stayed with me for a long time, and after some time I was able to spot architectural problems before they became problems, because I suffered many times before.

When I'm building with AI now, it's much faster, yeah, but it's extremely difficult to learn these patterns, so I feel like slowing down the pace when working with LLMs (although very difficult), and researching things properly will allow you to develop these muscles, and bring benefits in the long run.


I enjoyed a lot reading the book and also learned a few things there: The Pragmatic Programmer, 20th Anniversary Edition. The main guiding principle: Good design is easier to change than bad design


i'd say by practice is the fastest one, just making something - then looking at some part and searching how to improve it or how to make it more efficient, then you find the architecture designs someone is using and start testing it on your own code. This way you can fully understand and explain the impact of applying it.


Continuously and deeply reading and understanding high-quality open-source code repositories - these resources are easy to find, but they require patience. With the help of LLMs, this process will be much easier than before.