什么事情是你当了程序员才知道的?
当了程序员最大的感受,就是当你真正进入行业,会发现实际工作和在学校里学习完全是两回事。
实际工作中,代码量只是整个软件工程中很小的一部分。花在写代码上的时间可能只占20%,更多的时间是在做设计、测试、部署、运维,以及最重要的:跟人沟通。
Conway's Law(康威定律)说组织的架构决定了系统的架构。当你真正进入行业,就会发现这个定律处处都在发生。比如为什么某个功能看起来那么简单,实现起来却要经过五六个团队的协调?因为这个功能涉及到的系统分别由这些团队维护。为什么有的代码写得那么奇怪?因为当时的组织结构就是这样设计的。
在真实的项目中,魔鬼都在细节里。提到过一个例子:同样是处理日期这个参数,在不同的函数和任务中可能有完全不同的含义。有时是数据ETL任务发生的时间,有时是实际数据的时间。这种细微的差别可能导致整个系统的数据错开一天。
最后一点,也是最重要的,就是对于"简单"这个词的理解彻底改变了。真正的高手不是把简单的事情做复杂,而是把复杂的事情做简单。我有个实践,第一个版本一定要简单,能少做一样东西就少做一样,因为上线后你会遇到无数意想不到的问题。
作为程序员,你会慢慢意识到,写代码不是目的,解决问题才是。而解决问题的最好方式,往往不是写更多的代码,而是找到一个更简单的方案。
继续阅读
全部内容当前AI大模型哪家最好用?各家主要擅长哪些领域?普通人使用,推荐哪个?
作为一个日常工作中有超过 50% 时间都在与各种大模型对话的人,想跟大家分享一下我在使用各个主流模型时的一些体验和感受。 Google Gemini 系列 优点: 1. 极其便宜:无论是免费额度还是付费使用,价格都非常有优势。 2. Context Window 超级大:1-2M 的上下文长度,基本能覆盖绝大部分任务场...
AI如何辅助编程?
从我的观察来看,AI辅助编程最大的变革不在于代码自动生成本身,而在于它完全改变了我们与代码交互的方式,让编程从"写代码"变成了"设计系统"。就像我写的文章中提到的: "工程师的工作大部分就是造轮子与用轮子,而工具的逐渐标准化使得重复造轮子的需求越来越弱,越来越多的工程师核心任务并不是研发,而是整合(Integratio...
集成 GPT-4 的代码生成器 Cursor 使用体验如何?怎么用更高效?
你有没有过这样的时候:花了无数心力去“打磨”一个人工智能开发项目,结果却越修越乱,反而不如直接重来?这个现象在当今 AI 领域并不罕见。我们常常期望用 AI 帮助我们自动生成内容乃至代码,但却忘了 AI 在处理复杂的中间过程时,可能会带来比想象中更多的混乱。今天就和大家分享一个失败的 AI 开发项目经历,以及由此带来的...
