![image.png|1000](https://imagehosting4picgo.oss-cn-beijing.aliyuncs.com/imagehosting/fix-dir%2Fpicgo%2Fpicgo-clipboard-images%2F2025%2F04%2F14%2F11-58-47-3aeb782fd422d08379f56b3bed0ab8ee-202504141158508-497a6a.png) 1 意识到写代码无非就是调用接口[api](https://zhida.zhihu.com/search?content_id=646035710&content_type=Answer&match_order=1&q=api&zhida_source=entity),做业务无非也就是抄些增删改查的现成代码。也就是说,编程没想象中那样高大上,也就是谋生的一种手段。 2 知道提升能力不是单纯靠学,而是得靠解决实际问题。比如在做项目时,提升技能的最好方式是,去解决些值钱(比如[分布式高并发](https://zhida.zhihu.com/search?content_id=646035710&content_type=Answer&match_order=1&q=%E5%88%86%E5%B8%83%E5%BC%8F%E9%AB%98%E5%B9%B6%E5%8F%91&zhida_source=entity)或[devops](https://zhida.zhihu.com/search?content_id=646035710&content_type=Answer&match_order=1&q=devops&zhida_source=entity)等)方面的问题。同时更知道,单纯做增删改查的业务,其实顶了天也只能算个初级开发。 3 知道其实在做项目的过程中,写代码的技能相对来说是比较不值钱的。比较值钱的技能点是,排除解决问题的能力,确保项目高质量的能力(即测试能力),运维项目的能力(比如[容器](https://zhida.zhihu.com/search?content_id=646035710&content_type=Answer&match_order=1&q=%E5%AE%B9%E5%99%A8&zhida_source=entity)和devops),组件的使用能力和配置安装分布式或[微服务](https://zhida.zhihu.com/search?content_id=646035710&content_type=Answer&match_order=1&q=%E5%BE%AE%E6%9C%8D%E5%8A%A1&zhida_source=entity)组件的能力。 4 知道在自己领域,哪些技术比较值钱,同时更知道,如何在面试中证明自己的技能,更知道,在下次跳槽时,自己该去哪些类型的公司,知道该如何要到更高的薪资。 5 知道衡量程序员能力和水平的标准是薪资+公司,在公司都差不多的情况下,谁薪资高谁能力强,在薪资差不多的情况下,谁公司好谁厉害。这话另外一层含义时,在跳槽时,对方公司衡量程序员能力时,第一看之前公司的规模,即大公司背景,第二看薪资。随后再通过面试看技术。 6 知道公司的领导在给自己提建议时,出发点大概率是为了公司好和为了项目组好,在此基础上顺带会给些对自己有帮助的建议。这种情况下,对领导的话是会有选择性地听。 7 知道不少公司领导留人的方式不是靠加薪,而是靠画饼。更知道,如果在同一家公司,每年涨薪顶多1成,而且还得使劲加班,同时如果是跳槽,涨薪3成都算低的。 8 知道在面试中证明自己能力时,不能单纯靠自己做过什么,也不能靠自己学过什么,而是靠自己能靠说证明什么。比如能在面试中,通过说自己解决过的值钱技术方面的问题,能证明自己在这方面的能力,至于自己是否做过,面试官很难核实。 9 知道程序员要过大龄这道坎,不是靠技术,而是靠公司,即得找个能容纳大龄程序员的公司,而一些小公司,对大龄程序员可能未必友好。 10 知道身体比挣钱重要,知道家庭比工作重要。而程序员这个职位,只是提供了用加班用艰辛换取高薪的机会。 11 知道有些公司,尤其是小公司外包公司,仅仅是过渡,在其中不应该呆过3年。别看其中的领导信誓旦旦或者宣扬狼性,但可能他们自己都知道,自己的业务线甚至是公司未必能撑多久。 12 会越来越感受到,大多数代码、框架乃至和技术相关的东西,其实都是虚的。当然一些高端技术(比如当下的大模型)不能说是虚的,这能实打实挣钱,但一般程序员接触不到这个层次。做到后面就会发现,再要进一步挣钱,首先得看人脉,有人脉才有渠道接单,业务量大了才能有所谓的盈利模式,有了盈利模式才能进一步雇人做大,所谓是扩大再生产。 13 虽然再加个第13点有些不大吉利,但这点确实会对程序员有帮助。即比较成熟的程序员具备复制别人成功模式的能力。举例来说,比如某Java开发当下只会增删改查,但他能通过观察组内的资深架构平时干了什么事情,解决问题的过程,通过多问多复盘多实践,慢慢把人家的本事学到手,然后提升自己的能力。 14 再进一步讲,成熟或者说资深的程序员,更具备从各种试错过程中找到正确方向的本事。比如当下某人的外包公司,接触到的技术天花板是单机版的增删改查,所谓的组内大牛也只是熟悉业务。这种情况下想进好公司,比较成熟的程序员一般能通过尝试,知道怎么写简历怎么找猎头能拿到大公司的面试机会,再进一步,知道在当下技术储备不多的情况下,经过各种无效学习的试错,知道如何掌握大公司面试所需的技能,再进一步,经过各种面试的尝试,知道该如何面试成。 15 做久了以后,知道做项目时应该用最安全的方式修改bug,而[设计模式](https://zhida.zhihu.com/search?content_id=646035710&content_type=Answer&match_order=1&q=%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F&zhida_source=entity)和[重构之道](https://zhida.zhihu.com/search?content_id=646035710&content_type=Answer&match_order=1&q=%E9%87%8D%E6%9E%84%E4%B9%8B%E9%81%93&zhida_source=entity)之类的理念,只是存在于教科书,而且只会在面试时用到。这句话更加通俗的说法是,在当前系统修改bug时,不该看的代码不看,不该了解的代码不去了解,不该碰的代码不碰,一旦看了了解了碰了,改出问题,责任就是你的。而且在改牵扯到多方的疑难bug时,一定得拉上领导或相关人。 16 在面试场景,知道证明自己用过某个技术的方式是,说业务场景和API细节。这块具体展开下,比如在面试中要证明自己做过机器学习,可以先说项目里引入机器学习模型的场景,再说用过哪些模型,其中的api接口、语法和配置细节是什么样的。而且同样是在面试场景,证明自己能力的方式不在于说自己做过哪些业务,而在于说自己排除解决技术问题的方式,解决过的问题越值钱(比如含高并发机器学习或AI),那么面试官只能相信你的能力。 17 顺着上一点和第8点继续说下去,在面试时,比如求职者有3年公司经历,那么应该就有3年Java(或Python或其它技能)的项目经验。这种情况下,如果求职者通过业务场景和API说技术,再通过说解决过的问题证明能力,面试官只能相信求职者的能力。一些会面试的求职者,2,3年跳槽一次,每次薪资涨个3成,或者以此进好公司,这其实不是难事。回到主题上,较为成熟的程序员都知道一些面试技巧,而比较幼稚的程序员,面试时只说自己项目做过哪些事情,更只会通过做业务证明自己的能力,这样的跳槽和面试的能力是有待改进的。 18 较为成熟的程序员一般给人的感受是,面试时,被普遍认为能力强,因为具备足够的面试能力,刚开始进项目组时,会被认为很菜,但很努力,因为接触到了更值钱的技术,而之前没接触过,所以很菜,但在新环境里能通过努力高效学习。过了一段时间,这位程序员能在解决问题、沟通和写ppt汇报等方面展示足够的能力,再过了一段时间,这位程序员会跳槽到更好的公司里,迭代上一次的流程。而较为幼稚的程序员则会认为,只要我能力强,能解决问题,就能在当前公司一直干。 20 **这甚至已经可以作为"老油子程序员"的标志了。**知道解决哪些bug能给自己带来收益,知道解决哪些bug,虽然对项目有帮助,但牵涉到一些人或一些事,未必会对自己有帮助,知道项目里的哪些bug应该报出来,但不应该立即着手解决,而应该开会找相关人讨论,知道项目里的哪些bug,甚至都不应该报出来。 2516人贸同」该合 程序员最应该钻研的是赚钱能力,业务,产品,前段,后端,ios,安卓,都要学一点,技术够用就行,然后去找赚钱机会。早几年点赞程序,互助站,一元夺宝,积分墙*,ios搜索刷数据,app上架,很多发了财的。平时多在网络发表跟赚钱有关的技术,会有人主动加你,时间长了,你手上就有大量的客户了。切记不要钻研技术底层,好多为此人花了无数的下班时间,结果还是30多岁被淘汰了,这行业大多数工作单纯的就是不需要你很牛的技术。老板只关心人力成本,你把底层设计成花也没用。过了30 每年淘汰一批,千万不要以为你能卷的过别人,如果你本身学历不高,没有大公司,大项目经历,更应该如此。以电商为例,你要是懂整个电商的所有环节,供应链,仓储,跨境比你技术研究有价值的多。以上是原回答,随便发的,点赞收藏还不少,就想多说几句,肯定会有人觉得我应该发财了,实际上没有,本人早期贴吧回答一些技术问题留了qq后来有人找到我,帮忙做个程序啥的,可惜的是当时技术一般,别人要的急,反而还耽误了正常工作,所以导致后来没心思自己接单了,不过因此了解到了互助站,比特币啥的,这是15年16年的事情,后来这个人陆续找我咨询过app报价啥的,当时也没心思动力去做,所以程序员多在网上发言,留信息,有兴趣的自然会找你,客户就是这样慢慢积累起来的。多跟客户交流,了解最新市场需求,看准了就自己下场,否则当你有一天真想自己做啥的时候,客户不知道在哪里,也不知道做啥。还有关于技术底层的问题,本人也是反例,本人非科班转行,后来知道了自己计算机基础太差,所以花了不少时间在底层,最近在看函数调用堆栈*,进程创建,调度等底层知识,学着就发现技术永远学不完的,往下面深入还有linux内核,汇编*,计算机原理,而这些东西很多人在学校就学好了,就算把这些都学会了,可是要是3-5年工作经验还能吹吹,过了8年以上,面试更看中的是你的大型项目架构经验或者管理能力,这些底层原理,网上教程一大堆,其实对写业务没啥价值。一旦失业,你花时间学的东西更加没有价值了。如果你学的是业务,就不存在这个问题,例如,如果你能把跨境全流程跑通,海关,保税仓*,清仓,交税,海外仓,进出口,国际物流,支付,结算,把这里面每个业务跟哪些部门,哪些技术服务商对接,具体对接什么接口,你靠这个收咨询费都不成问题。因为这些东西没有人系统的在网上分享,所以他就是很有价值的。200 1 2 那些编程水平很高的程序员是怎么训练出来的? - invalid s 的回答 - 知乎 https://www.zhihu.com/question/351504112/answer/875512497 你的编程能力从什么时候开始突飞猛进?- Cat Chen 的回答 - 知乎 https://www.zhihu.com/question/356351510/answer/933373270 JAnki:写给程序员们的 13 条 Anki 使用经验 - Thoughts Memo 的文章 - 知乎 https://zhuanlan.zhihu.com/p/412012134 高级程序员和普通程序员有哪些区别?- 暗灭的回答 - 知乎 https://www.zhihu.com/question/33578621/answer/451931102 ## 当程序员会失去什么 耐心。 对于废话的耐心。 对于忽悠的耐心。 对于重复的耐心。 对于低效的耐心。 对于商务人士寒暄的耐心。 对于逻辑混乱的耐心。 对于不懂装懂的耐心。 对于场面话的耐心。 对于不准确的耐心。 对于不一致的耐心。 对于矛盾的耐心。 对于慢的耐心。 对于笨的耐心。 对于一切触及不到实质,却绵延不绝,浪费我时间的人,事,话的耐心。 ## 名言 1. **"Programs must be written for people to read, and only incidentally for machines to execute."**–**Harold Abelson** 2. **"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."**–**Martin Fowler** 3. **"First, solve the problem. Then, write the code."**–**John Johnson** ```Java ```