Ask HN:给一名刚入学的计算机专业大一新生有什么建议?
文章摘要
发帖人 NotParth11 的原文很短:再过几天就要开学了,但看着眼下的就业市场,他有点害怕,想问问大家应该把精力放在哪里,才能在毕业时真的找得到工作。就是这么一句朴素的焦虑,引出了 HN 上一场规模可观、意见分歧却又高度自洽的讨论。整个帖子的基调可以概括为:几乎没有人给出「学这个框架、刷那套题」式的答案,绝大多数回复者都在劝这个孩子把视野从「四年后的岗位」上挪开。
第一条、也是被最多人复述的主线是别试图预测就业市场。多位在 2002 年互联网泡沫破裂后入学、或在 2008 年房地产危机中毕业的老兵现身说法:dehrmann 说他 2002 年入学时,纳斯达克刚刚见底、满世界都在谈外包,结果他毕业时市场已经恢复,而后来更是赶上了 2010 年代整整十年的科技大牛市——他调侃说自己等于在最低点买入了人生最大的一笔投资。ok123456 讲了几乎一样的故事:.com 崩盘后 CS 新生人数直接砍到四分之一,等他毕业时计算机又酷起来了。toast0、hnfong、Aurornis 都强调同一件事:你要面对的是四年后的市场,而 2022 年的科技行业和 2026 年的科技行业已经完全不是一回事,用今天的行情做四年后的决策必然是错的。
第二条主线是人脉与社交,被提到的次数甚至超过任何技术话题。int32_64 直言:去上大学几乎唯一不可替代的理由就是建立连接——和同学、教授、行业的连接,因为技术知识现在到处都能免费自学;在 AI 主导的投递筛选流程里,认识公司里的人比 4.0 的 GPA 更管用。toast0 给出了整个帖子里最具操作性的一条建议:从现在开始建一本通讯录,遇到合作愉快、或者你觉得将来会混得不错的人,一定要留私人联系方式(因为学校邮箱毕业就停用、公司邮箱换工作就失效),并附上你们一起做过什么的备注;尤其要留比你高年级的人,因为你找工作时他们已经在职。他甚至给出了一封每一两年发一次的维系关系的邮件模板。SoftTalker 补充说,大学是你此生最后一次不费吹灰之力就身处一群同龄、同人生阶段、背景又极其多元的人群中的机会。
第三条主线,也是争议最集中的一条,是要不要用 AI。反对派声量很大:ThrowawayR2 认为「不把 AI 当拐杖也能写出可靠、可交付的代码」这项能力,会让你在毕业时领先同学;而把 CS 理论学扎实到能真正应用,会让你在成为资深工程师时领先同事——他毫不客气地说,那些常年宣称「我整个职业生涯都没用上 CS 理论,哈哈」的人,正是最容易被 AI 取代的人。kooi 的说法是「100% 非 AI 编程」,因为吐出一段自己并不完全理解的代码的诱惑太大了,而学习的本质有一部分就是挣扎。add-sub-mul-div 说自己最重要的成长来自数千小时亲手做、做错、再迭代。折中派 recursivedoubts(htmx 作者)总结为:把 AI 当助教而不是代码生成器,代码必须你自己写。sajithdilshan 则是明确的实用派,他说自己毕业十年了还在靠 AI 学新东西,会让 AI 生成带动画的单页 HTML 来解释概念。karmakaze 干脆说帖子里「用 AI」和「别用 AI」两派他都同意,并建议额外把 AI 研究与各类 harness(Claude Code 之类)当作副业爱好,因为「AI 驯兽师」可能就是当年「大数据」那样的差异化技能。
还有一条明显的支线是别只学 CS。jleyank、bluefirebrand、danans、dehrmann 都建议辅修或双修一个具体领域(生命科学、电子、机械、精算、数学),理由是软件本身已经是一种应用能力,而真正值钱的想法来自 CS 之外的经验。bluefirebrand 举了个例子:他见过最成功的软件人是个自学 C# 的手艺人,写的代码烂得一塌糊涂、一半计算大概是错的,但因为解决了自己行业的报价难题,最后把它卖给竞争对手赚了几百万。当然 WalterGR 立刻纠正说这该是「除了 CS 之外还学点别的」,而不是「别学 CS」——想做开发,读 CS 依然是最直接的路。
也有唱反调的:deadlast2 建议直接退学去学门手艺,SoftTalker 顺势讲了自己花 1000 美元请两个人两小时砍掉一棵枯树的经历,感慨自己可能入错了行;ThrowawayTestr 半开玩笑建议转石化工程。这些声音在帖子里属于少数。
HN 评论精华
-
jschveibinz(被顶到最前的一条):”恐惧是正常的,跳进去就是了。” 他的核心建议是学会如何学习,并把这件事练到极致——这才是大学经历的本质。他建议辅修一门生命科学或硬科技,上一两门物理课去搞懂事物为何如此运作;如果学校有 co-op(带薪实习学期)项目一定要参加,它能实打实提高毕业时的就业率。最后他补了一句被下面反复引用的话:”还有一件事:要社交。你的朋友网络会极其宝贵。”
-
ThrowawayR2 给出了四条「不要忽视」的清单:不要忽视在不依赖 AI 的前提下写出可靠可交付代码的能力;不要忽视学校想教你的那些 CS 理论;不要忽视学会用 AI 生成代码(但也别产生依赖);不要忽视你的写作课——读写能力是你与同事乃至 AI 交互的方式,太多开发者因为写得糟糕而卡在低阶职位上。
-
toast0 关于通讯录的那条是全帖最具体的实操建议:留私人联系方式而不是学校/公司邮箱,附上共同经历的备注,重点结交高年级同学和实习时的同事(包括其他实习生),并且每一两年主动发一封邮件维系。
-
openasocket 从面试官视角给出了一份「基本功清单」:数据结构与算法、有限状态机与上下文无关文法、离散数学与布尔逻辑与统计、操作系统、网络、数据库、编译器、机器码与寄存器/缓存层次;还要学一些冷门语言,比如 Lisp、Prolog、Haskell、Forth。他说这些你日常工作大概率用不上,但它们会打开你思考问题的全新方式。至于版本控制、最新 Web 框架、和 AI 协作,等到最后再学也不迟。他作为常年面试官,最看重的就是两点:快速学习新事物的能力,以及可供调用的广阔知识面。
-
Mc91 讲了一个让人心惊的故事:他工作多年后回校读 BSCS,在一门 CS 300 的课上和一群高年级同学聊起版本控制,对方齐声问「那是什么?」;他说「就是 git 啊」,对方又问「git 是什么?」——全班没人知道。他的建议因此格外具体:学完一门 C++ 课就用 C++ 写个自己想写的东西,学完 OpenGL 就用 OpenGL 写个自己的程序;再去 GitHub、Debian、freedesktop.org 上找活跃维护的开源项目,翻 bug 报告、尝试复现、回复复现结果、进而尝试修复——这几乎就是实习生和初级工程师在公司里做的事,PR 被合并的体验和在大公司干活是一样的。
-
biggestriverman 以 Amazon 的实习生视角总结了成功实习生的四条共性:对流程表现出兴趣;拼命自己解开阻塞(如果你不经常感到卡住,说明项目太简单了);知道什么时候该求助;以及绝对不要告诉团队里或团队周边的任何人你对 return offer 不感兴趣——他们最优秀的一个实习生就这么把 offer 说没了。
-
Aurornis 提醒这位新生要警惕线上回音室:「HN 有多元观点,但很容易被『我们都要失业、几年后就靠 UBI 活着』这类极端负面情绪裹挟。」他说自从入行以来,网上对这个职业的看法就一直过度悲观,只是每年换个理由;他认识几个因为就业市场和网络负面情绪而在大学开始时放弃 CS 的人,最后都发现每条职业路都有各自的好坏。发帖人 NotParth11 在他这条下回复说,自己选 CS 是因为实在想不出别的喜欢的东西,而且已经学了一阵编程,并不觉得难。
-
qazxcvbnmlp 的话很扎心:”别在网上待太久。网络的集体意识可能与现实脱节。不成功的人倾向于把时间花在网上抱怨,而你很少在网上听到普通人成功的故事。” 他还建议在大学期间随便找份什么工作干着——这证明你能被雇佣、能应付「被雇佣」这件事本身的种种不快。tester756 部分反驳了他:在真正的技术论坛(不是 Reddit/HN 这类)上,你能遇到世界顶级的 CTF 选手、NASA/ESA 的人、香港的 HFT 从业者、横跨多家 FAANG 的老兵,他们的建议是你身边同学和同事根本给不了的——只是你需要有过滤废话的能力。
-
zachlatta(Hack Club 创始人)之外的一条有趣建议来自 devdude1337:”这听起来可能有点荒唐,但如果你真的痴迷计算机:搞一片 6502,自己搭一台计算机——芯片很便宜,也不难买。然后试着写个小操作系统、一个 Basic 或 Lisp 解释器、或者一个游戏。做完这些,你懂的已经比大多数 CS 毕业生多,而且这些知识足够根本,会对你今后遇到的一切都有帮助。”
-
mck- 提供了一个几乎无人重复的视角:现在是有史以来做创业者最容易的时候。跟着热情走,疯狂做副业项目,四年里说不定有东西能跑起来产生收入。他的论点是——工作市场本身就充满不确定性,保住一份工作同样不确定,你的未来握在高管的决策手里;而做创业者让你掌控自己的职业,代价是承担全部责任。”做到泡面盈利,你就对裁员免疫了。” 即使最后你决定不走这条(极其艰难的)路,这段经历也会让你更容易被雇佣。
-
bloudermilk 给出了对 AI 时代最凝练的判断:”创造软件的门槛被大幅降低了,而理解软件的门槛被抬高了。” 因此脱颖而出靠的不再是你能做出什么——那现在只是入场券;而是你读懂代码的速度和深度、你对架构的推理能力、以及你手上有哪些改进它的模式和工具。