思否有约 | @然后去远足:编程如逆水行舟,不进则退

简介: 思否有约 | @然后去远足:编程如逆水行舟,不进则退


比起技术上的提升,业务层面的积累更宝贵。

今天我们采访的嘉宾是 @然后去远足,他于 2019 年加入思否社区,至今已经在社区回答了 2800 多个问题,为社区做出了非常大的贡献。他自称是已经奔四的 90 后,从小就接触计算机,熟悉多种编程语言,现在是一名全栈工程师。本期我们非常荣幸地邀请到了他,以下是我们对他的访谈。

Q:你是如何进入编程这个行业的?

我觉得家庭因素占很大一部分吧。90 年代末家里就购置了第一台电脑,再加上家慈从事的也是软件开发相关的工作,当时家里有一整面墙是一个大书架,上面好几个格子摆着的都是计算机方面的书籍,所以我小的时候就对这东西特别感兴趣(不会承认主要是为了玩游戏😂)。然后高考报志愿的时候也都是填的计算机相关的专业,毕业后也一直在这行里,一切还都挺顺理成章的。

Q:目前的工作是做什么的?主要使用哪些技术?

我目前服务于一家跟环保相关的 NGO,通过一些技术手段和工具来帮助企业和政府进行环保及生产方面的决策。要说语言的话其实学了挺多的,参加工作以来在项目里陆陆续续接触到并且实际应用过的就有 VB、VC++、Dephi、C#、Java、Python、PHP、Golang 等等了,目前更熟悉 JavaScript/TypeScript 前端领域一些,毕竟用的时间最久。但真不敢说哪项技能是精通,顶多只能说是熟练掌握 —— 求职时我的个人简历里也确实是这样写的。

其实现在 Coding 的工作占比不是特别多了,日常主要还是一些技术管理、业务沟通之类的工作。但我也还是会“强迫”自己去多接触些新东西,未必是真的新,但起码对我来说是新的。比如前些年 K8s 很火的时候,就尝试自学了相关内容,最后在公司里推动了整条业务线 K8s 化改造,还是挺有成就感的。

Q:日常工作中,有没有什么比较受益的学习方法?

我之前给我的同事们分享过一种编程的方式,叫“小黄鸭调试法” —— 在调试代码的时候对着一只小黄鸭,详细地解释每行代码的作用和思路。具体的出处和原理这里就不展开了,因为这个方法也不是我独创的,在网上是可以查到的。简而言之,在一个人表达自己想法的过程中,这种方式会帮助他去整理思路,重新考虑问题。

编程毕竟还是比较考验逻辑思维的,很多时候一个人想出来的东西很可能其实是钻了牛角尖,这个时候再顺着错误的思路去想,只能越想越偏。我遇到过很多人在一个问题上会卡住很久,我说你给讲讲吧,往往讲了几句他自己就发现问题所在了。

这种行为本质上是一种对输入的再输出,所以不光可以用在调试代码上,事实上任何有输入、有输出的事情都可以应用这个方法,就比如学习技术这件事。上学的时候班里会有一类学霸,他们比普通成绩好的人更厉害的地方在于,能把别人也给讲明白了,这其实就是一种对输入的再输出。这也是为什么我很喜欢在思否社区上回答别人问题的原因,回答问题的过程本身就是一次消化吸收并检验之前自己所学内容的机会,能给别人深入浅出地讲明白,其实才代表着自己已经真正学会了。

Q:最难忘的一段工作经历是什么?

可以分享一个刚参加工作不久的“教训”,虽然已经过去七八年了,但印象依然十分深刻。

我当时就职的公司在那一年双十一期间第一次决定搞一个类似于秒杀的活动,而我负责整个秒杀活动的技术统筹工作。活动是晚上八点整开始,临近下午四点的时候,公司群突然炸锅了 —— 所有活动链接全都打不开了。经过紧急排查后发现,是因为域名处于未备案状态,被云服务商停止解析了。国内的开发者应该都清楚域名备案的重要性,这里不做过多解释了。在紧急联系云服务商后,结果得知是因为半个月前我们有一批新域名需要备案 —— 那个时候还不像现在,可以全程自助化在线上操作,那个时候还有几个步骤是需要电话回访的 —— 他们在电话回访后,认为我们是想“替换”原有的域名备案,而不是“追加”新的域名备案,于是在向管局提交信息的时候就把我们之前的域名备案给申请撤销了,而赶巧到了那天这个撤销生效了(因为不是我负责接听的电话,所以原本具体的通话内容我已经记不得了,但时至今日我也不能理解并且非常想吐槽的也还是,真的有哪家公司的业务是需要“替换”备案的吗?)。

此时已经快下午六点了,十多万预约用户已经等着参加活动了,这面却处在所有服务不可用的尴尬境地。当时我工作经验尚浅,遇到这种事真的是脑子一片空白。多亏有一位同事提出了一个思路,能不能在海外机房临时上线,先把这段时间扛过去。于是从注册新域名到部署整个服务,好在当时项目规模不是很大,整个过程在短短两个小时内全都匆匆搞定,但已经没有更多的时间做测试了,只能硬着头皮上了。之后的活动中虽然也还是出现了一些意外状况,但起码整体还是平稳度过了。

这件事带给我两个启发:第一,即便准备再充分,也永远不要认为你真的已经做好了准备;第二,哪怕不是你的原因,但出现状况了,作为负责人你就得想办法顶上,把问题的责任甩给制造问题的人是解决不了问题本身的。所以到今天为止,我在做工作计划的时候,都会先考虑一个最坏的结果要怎么办。这也算是某种程度上的“一朝被蛇咬,十年怕井绳”了。

Q:工作至今,有什么比较深刻的体会?

我觉得相比于技术层面上的提升,更宝贵的其实是业务层面上的积累。因为除了特别偏门,或者需要非常特殊的场景才能实施的技术,你总归是能自己去提升的。无论是自学还是问别人,或者是行业交流,除非是你不想学,否则总能找到办法的。但业务上的东西,如果你不在这个行业或者领域里,就很难窥其门径。互联网行业里大家经常提到说“技术人要有产品思维”,你要从各个维度去理解需求、理解产品、理解用户甚至理解市场,非互联网行业这点要更甚,那你怎么去“理解”?无非最后都还是要落地到业务上来。求职的时候,在岗位要求里我们也经常能看到会有一条“具有某某行业经验者优先”,这就是业务上的积累。所以我觉得我的成长都来自于这方面。

技术不是空中楼阁,最终肯定是要落地到解决实际问题、提高生产力或产品价值上。编程的实质是一种将现实中的具体问题通过抽象、分解、总结等方式,转化为计算机可以理解的运算逻辑和数据结构的过程(也就是所谓的“程序=算法/逻辑+数据结构”),而程序员就是通过编程语言和工具将现实世界和代码世界连接起来做映射的那个人。比如说我们想要开发一个即时通讯工具,那我们就需要将用户、好友、消息、群组等等一些概念抽象出来,然后再对这些数据进行操作和处理。可这仅仅是一种很初级的抽象,我们之所以能如此抽象,也是因为这个场景太基础了,而且也有很多现成的公开的案例资料供我们借鉴。但如果我们换成其他场景呢?

曾经跟一个证券行业的朋友聊过,他提到了一件很有意思的事情,他们内部有某些系统,其中主持开发工作的,有很多不是那些学计算机这种科班出身的专业人士,反倒是一些学数学、精算、金融出身而又半路出家转行做了程序员的一些人,因为这些人更了解证券这个行业里的各种概念,更能迅速理解并充分评估需求。

这里我不是说技术不重要,技术非常重要,你看这个例子里的这些人他们也都是全职的开发者,只不过是半路出家而已 —— 我相信思否社区里同样有很多人并不是科班出身,但这不影响在日后能取得的成就 —— 他们同样掌握着过硬的技术素养。但同时,他们又掌握了普通开发者所不具备的业务能力。换而言之,如果大家的技术水平都差不多,你能凭借什么更胜一筹呢?那么你就要不断地精进,既要成为技术专家,更要成为业务专家。

Q:技术人如何提升自己的业务能力?

具体问题具体分析,但总归是有些共性的脉络可循的。无论你是做 2B 还是做 2C 的,第一件事总还是要理清业务流程的。有些人觉得自己就是颗螺丝钉,领导交代自己只负责做个简单的增删改查,自己只要会增删改查就好了,这种心态千万要不得。只关注自己那一小片天地,是永远没办法成长的。

平时得多问问自己了解自己开发的这个产品的目标是什么?其中哪些功能解决了哪些现实问题?你觉得自己开发的功能满足了用户的需求了吗?如果你自己是用户,你觉得它好用吗?如果好用,为什么好用?如果不好用,哪里不好用?这些问题你自己未必能想明白答案,那这个时候你就要去多学多问。可以自己主动查公开资料、翻行业案例;也可以去问自己的同事,像产品经理、商务代表,包括同岗位的同事们或直属上级,都是可以去请教的。有些年轻人会觉得羞涩,不好意思开口,但其实不用刻意为之,平时总得是要沟通需求的吧,趁机会有不懂的就说不懂,虚心请教,总会有收获的。

有些人会说这些难道不该是产品经理或者项目经理的工作吗?干嘛要我去想?确实,从工作职责上来说这些不是你的份内事,但你要明白你弄懂这些事情,不是为了取代前者的工作,而是为了更好地开展自己的工作。你连产品流程都搞不懂,做出来的无论是前端还是后台,能是好用的吗?健壮性足够吗?有可扩展性可维护性吗?

还有些人说我要转管理岗,那你就更得懂业务,不然你连一个需求需要投入多少人力都不清楚,怎么能做好管理呢?

在这点上做软件外包的开发者们会有些吃亏,毕竟业务不是自己的,可能全公司都没几个人能真的讲明白业务流程,完全是甲方让干什么就干什么。这就需要你自己去尝试总结方法论。比如你做多了某一类的外包项目,总能找到其中的共同点或相似之处吧?那么可以顺着这个思路去总结。

每个人所处的行业不同,这里我也只好泛泛而谈。总而言之,多学、多问。

Q:如果可以重新选择,是否还会选择这个职业?

也许会,也许不会。我是个不太愿意去对已经做出的既往决定重新假设的人,因为这往往代表着一个人对现阶段的迷惘、不满甚至悔恨。既然当初我没有选择其他的路,那么我也就不会再去想如果当初选择了另一条路会怎样怎样 —— 那对我现在已经选择的这条路毫无帮助。

Q:对思否社区有没有什么建议?

最近随着 ChatGPT 的流行,社区里也出现了不少“AI 搬运工”,我觉得这种现象是需要警惕的。

首先声明,我个人是不排斥 AI 答题的,因为我本人也在使用,有的时候确实比搜索引擎要好用。但它仅仅只能作为一个参考,而不是作为问题的解决方案。

AI 生成的回答最大的问题在于,它自己是不知道答案的对错的,只能是把语料库中的内容加工一番然后呈现给你。但语料库里的内容真的就对吗?思否上某些 AI 搬运工真的是只管搬运,不管对错(当然,如果他本人能知道正确的答案,想必也不会照搬 ChatGPT 了)。一个不知道答案对错的人,复制粘贴了一个不知道答案对错的 AI 生成的内容,去解答一个本来就有困惑、很难鉴别答案是否正确的的提问者 —— 这就很可怕了。长此以往的话,思否社区会不会充斥着大量错误的内容,给质量本来就不高的中文互联网环境造成进一步的污染呢?

Q:对于刚入行的开发者,有什么想对他们说的?

我是一直觉得编程这行跟很多其他工作相比,真的是“逆水行舟,不进则退”。你看最近的 ChatGPT 这类生成式 AI 大热,坊间一直流传说 AI 最终会取代一大批程序员。《孙子兵法》有言:“知彼知己,百战不殆”,与其被不知不觉地取代,不如平时能有机会多学学就多学学。万一真写不成代码了,提前学了还能去写 AI Prompt 不是?(手动狗头)

年轻是你们最大的资本,一定要趁这个时间多学习、多进步。随着全球经济的整体萎缩,各行各业都在降本增效,如果说原本程序员也许是一个可以挣几年快钱,然后再转行的一个过渡职业,那么我奉劝年轻的朋友最好不要再有这个念头了,这在几年前可能是对的,但这个世界不是一成不变的。

小编有话说:

在访谈中,@然后去远足 说到,回答问题的过程本身就是一次消化吸收并检验之前自己所学内容的机会,一些有意思的问题也能带动他思考。“输出是最好的输入”,希望我们每个阶段都能花一点时间静下心来,想一想,写一写,总结总结,不管是工作中的技能经验,还是人生的感悟体会,都能消化沉淀,再出发。

“编程如逆水行舟,不进则退”,技术在不断进步和发展,作为走在最前线的开发者,永远需要学习新的东西,创造新的东西,这个时候,更需要沉着应对,跟上时代的步伐。



相关文章
|
13天前
|
人工智能 自然语言处理 安全
阿里云千问办公 QwenWork详细介绍:产品核心能力、典型场景、价格及常见问题解答
千问办公是阿里云推出的一站式AI办公平台,主打"不止于对话,更注重交付",依托通义千问旗舰大模型,用户一句话即可完成数据分析、PPT生成、视频剪辑等复杂任务,直接输出可用成果。产品深度打通钉钉生态与企业OA,覆盖桌面端、网页端,提供企业标准版198元/人/月等多档订阅方案,新用户注册即赠2000积分,适配工程师、HR、财务等多职业办公场景,成为能动手干活的"全能AI同事"。
|
13天前
|
人工智能
千问办公官网入口:阿里AI办公QwenWork产品页和免费网页端链接
千问办公官网含两大入口:一是网页端(qwenwork.cn),即开即用,支持浏览器直接访问;二是阿里云产品页 https://t.aliyun.com/U/JNKJuO 提供免费/付费版详情、功能介绍及使用指南。
|
12天前
|
IDE 开发工具
Qoder 上线 Sonus 模型,Computer Use 能力全面增强
Qoder国际版上线全新内置大模型Sonus(/ˈsoʊnəs/),全球领先,专精超长任务执行与电脑操作(Computer Use)。配合Qoder桌面端0.2.3版本,可自主完成编程、金融建模、科研及表格制作等复杂工作。现全面支持Qoder全系产品,效率提升3.2倍。
1550 8
Qoder 上线 Sonus 模型,Computer Use 能力全面增强
|
14天前
|
缓存 人工智能 自然语言处理
阿里云qwen3.8-flash大模型介绍:模型能力、模型价格、免费额度与最新活动
本文是阿里云百炼平台Qwen3.8-Flash大模型的选型接入指南,作为兼顾性能与响应速度的高性价比多模态模型,它支持百万级上下文窗口、全场景多模态输入与完整智能体能力矩阵,适配编程辅助、智能体协作等核心场景。文中同步梳理了最新下调的阶梯定价、夜间4折等优惠活动,搭配OpenAI兼容流式调用示例,帮助开发者低成本快速落地高并发AI应用。
阿里云qwen3.8-flash大模型介绍:模型能力、模型价格、免费额度与最新活动
|
14天前
|
人工智能 API 内存技术
刚刚 DeepSeek V4.1 Flash 开启内测,1 分钟教你用上!
刚刚 DeepSeek 内测群发布了 DeepSeek V4.1 Flash 中间版本内测的消息,这次的模型采用了新的结构,原生支持多模态、能力更强、速度更快、且成本更低。
1996 15
|
8天前
|
缓存 IDE Java
【保姆级】Android Studio下载、安装和汉化教程(2026最新)
Android Studio 是 Google 官方推出的免费 Android 应用开发集成环境,基于 IntelliJ IDEA,内置模拟器、调试器、性能分析及 Compose 界面工具,功能全面,文档丰富,是安卓开发首选工具。(239字)
|
18天前
|
人工智能 运维 BI
阿里云千问办公QwenWork深度解析:基于Qwen3.8,六大核心能力重构企业全自动化工作流与计费选型指南
传统AI办公工具大多停留在对话问答、文档摘要、简单文案生成层面,只能完成单点碎片化任务,无法自主拆解复杂业务流程,很难串联多工具、多文档、外部业务系统完成端到端完整工作交付。很多企业在落地AI办公的时候,需要组合多款不同工具,来回切换界面,手动复制粘贴中间结果,智能化改造落地门槛居高不下。千问办公QwenWork是整合多款智能体产品能力打造的一体化企业办公智能体平台,底层基座依托Qwen3.8大模型,打通桌面端Agent、云端Agent、企业协同Agent三种运行形态,不再局限简单问答,接收业务目标之后自主拆解任务步骤,调用各类工具,处理文档、表格、浏览器自动化、数据查询,直接输出可交付的办公
1693 4
|
12天前
|
人工智能 安全 JavaScript
DeepSeek Harness开源Agent运行框架实战:4种安装方式、WebUI启动、插件管理与排坑全流程
随着AI Agent技术快速发展,单纯依靠大模型对话能力,很难完成复杂的自动化任务。模型需要具备读取本地文件、执行脚本、访问网页、操作文件系统、拆分复杂任务并分步执行的能力。DeepSeek Harness,简称DSH,是开源的AI Agent执行运行框架,遵循“Agent = 大模型 + Harness执行底座”的设计理念,为大模型提供一套安全可控的工具调用、任务编排、沙箱执行与插件扩展能力。它提供Web可视化界面与完整命令行工具,支持插件化扩展,能够让大模型自主拆解复杂需求,调用各类工具分步完成目标,无论是本地电脑调试,还是部署在云服务器上长期运行智能体任务都十分合适。本文为从0到1完整保
921 0
|
14天前
|
缓存 JSON API
阿里云千问Qwen3.8‑Max深度解析:核心能力、订阅计费规则、API接入配置与生产落地完整教程
Qwen3.8‑Max作为千问系列新一代MoE架构旗舰基座,总参数量达到2.4万亿,激活参数950亿,是面向复杂专业任务、长周期智能体、工程级代码开发、多模态深度解析的高阶大模型,原生支持文本、图像、视频多模态输入,最大上下文窗口达到百万Token,最大输出Token支持131072,内置深度思考推理链路,在编程、科研、法律金融专业分析、长视频文档解析、自主Agent任务等场景能力表现突出。很多开发者在项目前期直接接入该旗舰模型,却对模型能力边界、多种计费模式、订阅套餐权益、API参数配置、上下文缓存优化缺乏完整认知,出现成本失控、接口报错、长文本信息丢失、深度思考模式额外消耗大量Token等
1005 3