问题

程序员怎么升职?

回答
程序员的晋升之路,说起来是个技术活,也夹杂着不少人情世故。我给你掰扯掰扯,这路子是怎么走的,从一名普通码农到独当一面的技术骨干,甚至走上管理岗位,里面有哪些门道。

一、夯实基础:磨刀不误砍柴工

首先,别想着一步登天。程序员最核心的竞争力是什么?就是代码,就是解决问题的能力。所以,无论你想升到什么级别,这一关是必须过硬的。

深入理解核心技术: 你写的语言、你用的框架,别只停留在“能用”的层面。你去研究它的底层原理,它的设计哲学,它的优缺点。比如Java的JVM原理,C++的内存管理,Python的GIL机制,这些你越懂,解决起疑难杂症来就越轻松,也越能发现性能瓶颈。
掌握数据结构与算法: 这就像内功心法,决定了你代码的效率和可维护性。leetcode刷题不是为了面试,是为了锻炼你的思维方式。什么时候用什么数据结构,什么时候用什么算法,能让你的代码事半功倍。
学习软件工程思想: 项目管理、设计模式、重构技巧、测试驱动开发(TDD)、持续集成/持续部署(CI/CD)……这些是让你的代码从“能运行”变成“高质量”、“可维护”、“可扩展”的保证。别觉得自己写代码就好,工程化能力是分水岭。
了解系统设计: 从一个功能实现,到设计一个大型分布式系统,需要的能力是指数级增长的。高并发、高可用、数据一致性、微服务拆分、缓存策略、消息队列……这些都是你需要不断学习和实践的领域。

二、展现价值:让你的工作被看见

光埋头苦干是不够的,你的价值需要被团队和领导认可。

主动承担挑战性任务: 不要只挑自己熟悉的东西做。遇到难啃的骨头,或者别人不愿意碰的“脏活累活”,你主动跳出来,并最终漂亮地完成,这会极大地提升你在领导心中的分量。
优化现有系统: 发现系统中的痛点,提出可行的优化方案,并自己动手去实现。比如提升接口响应速度、降低资源消耗、自动化部署流程等等。这些直接能带来效率提升的工作,领导看在眼里。
积极参与代码评审(Code Review): 不仅要接受别人的评审,也要认真评审别人的代码。提出建设性的意见,帮助团队成员提高代码质量,这体现了你的技术深度和团队协作精神。
分享你的知识和经验: 在团队内部组织技术分享会,写技术博客,或者回答社区的问题。把自己的所学所悟分享出去,既能加深自己的理解,也能帮助团队成长,还能塑造你的技术影响力。
关注业务需求: 技术是为业务服务的。理解业务逻辑,思考技术如何更好地支撑业务发展,甚至提出能驱动业务增长的技术方案,这会让你从一个纯粹的技术人员,向一个能创造商业价值的角色转变。

三、建立人脉和影响力:技术之外的软技能

技术硬道理是基础,但人际关系和沟通能力同样重要。

与同事建立良好的关系: 成为一个好合作者,乐于助人,尊重他人。一个受大家欢迎的同事,在遇到困难时更容易获得帮助,也更容易在团队中获得支持。
有效沟通: 能清晰、准确地表达自己的想法,无论是口头还是书面。与产品经理沟通需求,与测试人员讨论bug,与领导汇报进度,这些都需要良好的沟通技巧。学会倾听和提问也非常关键。
主动向上级反馈: 定期与你的直属领导进行一对一沟通,汇报工作进展,讨论遇到的问题,寻求职业发展建议。不要等领导来问你,主动出击。
参与跨部门协作: 当你需要与其他部门(如产品、测试、运维、市场等)合作时,积极主动,理解他们的工作模式和诉求,建立良好的合作关系。
“搞定”事情的能力: 有时候升职不仅仅是技术能力的问题,更是你“搞定”问题、推动事情发展的能力。这可能包括协调资源、解决冲突、说服他人等等。

四、明确职业目标:知道自己要去哪

晋升不是盲目进行的,你需要知道自己想要成为什么样的人。

了解公司的晋升体系: 公司通常会有明确的技术等级评定或者职位晋升通道。了解这些规则,知道你需要达到什么样的标准。
与领导沟通职业发展规划: 告诉你的领导你的职业目标,例如你想成为资深开发工程师、技术经理、架构师等等。领导可以根据你的目标,为你提供更具针对性的指导和发展机会。
持续学习和适应变化: 技术发展日新月异,公司业务也在不断变化。你需要保持学习的热情,不断更新自己的知识库,适应新的技术和业务需求。

具体的晋升路径可能长这样:

初级程序员 (Junior Developer): 主要负责完成分配的具体功能开发任务,学习公司项目和开发流程。
中级程序员 (Midlevel Developer): 能够独立负责模块开发,理解项目整体架构,开始参与一些小型设计。
高级程序员 (Senior Developer): 能够独立负责复杂模块或小型项目的设计和开发,具备良好的解决问题能力,并能指导初中级工程师。开始在技术方案评审中发挥作用。
资深程序员/高级工程师 (Staff/Principal Engineer): 在特定领域有深入研究,能够设计复杂的系统架构,解决技术难题,并对团队甚至部门的技术方向产生影响。通常需要展现出较强的技术领导力。
技术经理/团队负责人 (Tech Lead/Engineering Manager): 开始转向管理方向,负责团队的项目管理、人员发展、技术决策,但通常也需要保持一定的技术能力,以便指导团队。
架构师 (Architect): 专注于系统整体设计和技术选型,需要极强的系统思维和技术广度与深度。
技术总监/CTO (Director of Engineering/CTO): 对整个公司的技术战略和团队负有责任,需要同时具备深厚的技术功底、卓越的管理能力和商业洞察力。

一些过来人的经验之谈:

别怕犯错,但要从错误中学习: 每个人都会犯错,关键在于你是否能从中吸取教训,避免再犯。
积极主动永远比被动等待好: 想要什么,主动去争取,去表现。
学会汇报和总结: 完成任务后,及时汇报成果,进行总结反思,这会让你的工作更有条理,也更容易被看到。
找到一个好导师: 如果能遇到一个愿意指导你的前辈,那是你职业生涯中宝贵的财富。
保持健康的身心: 程序员是高强度脑力劳动,注意劳逸结合,身体是革命的本钱。

总而言之,程序员的升职是一个循序渐进、技术与软技能并重、价值导向的过程。你需要不断提升自己的技术能力,积极展现自己的工作成果,同时也要学会与人相处和沟通。这条路不轻松,但只要你坚持学习和成长,总会有属于你的舞台。祝你一路顺风!

网友意见

user avatar

我是码农出身,工作十年,从 初级程序猿(半年) - 项目主力(一年) - 初级技术管理(一年) - 中级技术管理(两年) - 部门管理(两年) - 高层管理(三年) - 职业经理人,一条路走过来,关于升职,有一些自己的心得可以分享。以下大致说说从技术到管理的转变,暂不涉及管理的进阶。

1. Love Coding 热爱编程
大四开始找工作的时候,我正在上一门可视化编程的课,大概就是用VC编写出可以绘图、简单动画和播放多媒体文件等各种操作的程序。基于这门课,我编写了贪吃蛇、俄罗斯方块等各种游戏。另外的一段编程经历是大二时候的Java大作业,编了一个很弱的图片管理器。实际上,这些程序都非常弱智,那时候的我算法极差,代码规范性极差,甚至于对SDK或库函数的掌握也极差,是个地地道道的菜鸟,但这并不妨碍我喜欢编程。我发现,当我坐在电脑前敲代码,或者对着千疮百孔的程序不断调试,打断点,加入调试代码,单步执行查看内存变化的时候,我是乐在其中的,甚至于忘了时间。所以,面临工作方向选择的时候,我毫不犹豫选了coding。

于是,当07年我在缺少指导,对Linux不甚了解,对路由器也一知半解的情况下,开始开发国内厂商的第一代11N路由器的时候,倾注了大量的精力阅读《LDD3》,搞定交换芯片驱动;大段大段的啃Linux Kernel源码,搞定netfilter/iptables;阅读《UNIX环境高级编程》,搞定各种同步互斥进程线程;阅读网上的各种技术博客,包括把竞争对手的GPL代码Down下来仔细阅读。。。一年里加班无数,五一十一也都是在加班中度过,一年下来基本上搞定了领导交给我的艰难任务。然后又用一两个月的时间,把产品上市后爆出来的各种Bug一一解决,最终赢回了市场口碑。

如果没有这种热爱,你就无法在日复一日的coding中保持专注,更不用说脱颖而出。

任何成功背后,都有不为人知的苦闷和寂寞。程序猿的苦逼之处,就在于别人高谈阔论指点江山的时候,别人推杯换盏觥筹交错的时候,别人出差南北纵横内外的时候,别人利用工作之便撩妹泡妞啪啪啪的时候,你只有面对屏幕,把键盘敲的啪啪啪。如果你忍受不了这种寂寞,体会不到其中的乐趣,请尽早换行。程序猿的高潮,来自于屏幕上排版良好的指令,按照你的意志精确执行,并且分毫不差。

/* 10.8 更新 */
2. Know yourself 贵有自知之明,了解自己
自知之明这个词,说的容易,做起来特别难。但又特别重要。

以前我团队里有个小伙,非常非常内向,话没说几句就脸红,后来程序猿不干了要去做展会,学跟人打交道,说是要挑战自己。我不知道他后来怎么样,估计结果不太好。人的性格在十几岁的时候基本就定性了,二十几岁的人再想彻底改变自己,极难,有这个毅力,估计什么都能做好了。

扯远了。这一条最想说的是,弄清楚你到底适不适合干程序猿这一行,我多年的经验总结下来,优秀的程序猿都有如下的性格特质(或部分):细心严谨、细节强迫症、完美主义、做事情有条理、耐得住寂寞、喜欢跟机器跟代码打交道(相比跟人打交道)、口才一般不佳、容易偏激或钻牛角尖、人情世故方面稍显笨拙。与之相对的是销售:口才极佳滔滔不绝、擅长跟人打交道、为人处世圆滑、八面玲珑、说话虚虚实实、为达目的不择手段。所以,适合什么样的职业方向是有章可循的。

仔细想想自己是什么样的人,结合上一条,有没有一颗热爱coding的心,你就能知道自己到底适不适合这一行。

自知之明还体现在,干这一行的过程中,详细了解自己的各项技能的长短,扬长补短。程序猿不是简单会敲代码就行,构思、设计、编码、测试、调试,往往编码只占很小的比例。而且程序猿这一行范围又极广,底层驱动、操作系统、协议栈、前端、服务器、APP、数据库、大数据、分布式、系统集成。。。。。。怎么选择,怎样能够发挥优势,真的应该好好想想。

这一条展开来说,可以讲一天,具体也可以参照我在其他问题下面的回答。职业生涯规划里面,知己知彼是非常非常重要的,知己,即是了解自我的个性、特点、优劣势、需求;知彼,即是了解行业、企业、团队、职位的情况和要求。
/* End */

3. Be reliable 可靠,说到做到,做好本职
作为程序猿,最基本要求是:代码可读性好、功能正常没有明显bug。

但我见过太多这行里的毛头小伙,数字常量到处埋,函数命名用拼音,if else 十层八层嵌套,匈牙利命名法和Linux命名法混杂,代码像挤在一张皱了的纸上,零注释或写完代码补注释,异常处理缺失,还有基本功能一用就崩溃,还辩解说,在我那里是好的呀。遇到这一类人,通常我在心里先给打个D等(ABCD),日后恐难以翻身。

还有稍微进阶一点的毛病,说这个功能包我身上没问题,又或者一周之内绝对给你搞定,领导你放心。最后拿出来的代码不是错漏百出,就是规定时间根本完不成,而且到deadline前你询问他的时候才告诉你搞不定。。。项目组里有这样的人,要么得配一个给他擦屁股的,要么得配一个项目助理时刻监督他,换一句话说,他的贡献值其实为负。

程序猿要想进阶,其实什么设计模式、架构、高深算法、莫测技术都不重要,这些都只是术,或者说套路。最核心的应该是,把简单的任务完成好,之后再完成更难一点的任务,这样你就慢慢进阶了。为了自己的承诺和项目组整体的进度,有的时候,你需要在保证质量的基础上,拼命加班,不负所托。

再补充一点,可靠并不是说绝不出错,是人都会犯错。但你不能重复犯错,相同的错误出现两次,会严重影响别人对你的信心。

4. Work hardest 以绝大多数程序猿的努力程度,还轮不到拼天赋
这一点可能会有争议,也会有很多程序猿跳出来说,老子996都不止,一周工作80个小时都有了。并不否认,很多行业里的程序猿,以互联网尤甚,加班是很夸张的。但我想表达的是,你要做你们团队里最努力的那个人,别人工作80个小时,你就工作90个小时。你以为所有爬上去的人都是领导亲戚或是被潜规则?别傻了,如果大家资质差不多,一定是最努力的那个人首先得到机会。领导又不傻,马群里挑一匹跑的最快挑的最重的来带头,肯定会有示范效应,也容易服众。当然,健康是自己的,如何保持足够的休息和锻炼是你必须认真考虑的问题,不是你领导考虑的问题。另外,如果真的资质相差太大,省点力气,排队等机会吧,不行就换行。程序猿这一行里,最牛逼和最平庸之间的生产效率之比大致是50:1。

/* 10.6 更新 */
果然这一点引起了极大的争议。补充一些说明吧,对我来说加班最夸张的一段时间是八点半上班,除去午休一个半小时,晚上十一点下班,差不多持续一个月。我从来都不认同不眠不休的持续高强度加班,所谓的弹性工作制其实是最坑人的,每天工作到夜里一两点然后第二天十点十一点去上班?有意义吗?十二点准时睡觉,第二天八九点准时去上班,想挂掉都没那么容易。这一点很感激前东家死板的考勤制度。

另外,在我的职业生涯里,从来都是提倡快乐工作快乐生活,我所带的部门,篮球羽毛球健身水平都是公司顶尖。最忙的时候我一样一周打球两三次。可现实中一有空不用加班依然打游戏看片呆坐电脑前熬夜的程序猿不在少数。不要为自己不健康和颓废的作息找借口。真正牛逼的人,懂得人生是马拉松而不是百米冲刺的道理。

另外的另外,真的加班到力不从心快要挂了还无法出人头地,换工作吧,不行就换行。你的负能量和颓废气息三个街区外卖烤红薯的大妈都闻得出来。

另外的另外的另外,刚看到春雨医生CEO去世的消息,非常震惊,相比升职,好好活着更为重要,生者共勉。
/* End */

5. Do the simple things right 再简单的事情都要做好,注重细节
你review过的代码里最低级的错误是什么?我遇到很多很多,“==”写成“=”、三个参数只传了俩、“1 <= month && month <= 12” 写成“0 < month && month < 12”、不判断返回值就直接下一步调用,太多太多。

写邮件的时候,很多人直接把话都写在标题,内容为空;也有标题空着的,或者叫“经理你好”;或者邮件字体时大时小,一会黑一会蓝,看的人时刻有惊喜。

写文档的时候,busy写成 buzy,该换行分段偏不,该用流程图说明的偏要用文字,好不容易画个流程图,方框里一会是实体一会是操作,箭头各种乱指,你写得出来,别人可看不下去。

这类人,你是老板,你敢提拔他当主管?

再举一个正面的例子,我的团队里曾经缺乏一个项目助理,不得已选了一个程序猿小伙,让他兼职管管样机、发发通知,小伙没有怨言,除了自己的代码照常写的非常稳妥之外,兢兢业业做好这些小事。后来没多久他就当上了主管。一个有能力把小事做到极致的人,也必定有潜力把大事做好。

6. Be open-minded, don't be defensive 心态开放,接受他人意见,别人批评建议的时候不要习惯性辩解和说不
以前我的团队里有几个同一届毕业的优秀小伙,其中两人,就叫A和B吧。以编程水平、技术广度来衡量,A要更胜一筹,当然B也是杰出的程序猿。按理说,先得到晋升的应该是A,实际上,B很快就连升两级,再后来就带一个大型的团队了,而A始终是最基层的主管。

为什么?我举一些实际的例子。

作为年轻人,免不了有做的不足的地方,通常我都会面对面跟他们具体指出来,B通常会说:“收到,以后我一定注意”、“我不是很明白,能否给我一些具体事例,或者再给我解释一下。。。好的我明白了”、“我的理解是这样的不知道对不对。。。好的知道了”。然后在接下来的一个季度里,你很快就能看到他迅速改进,原来的弱项变成了他的强项。

而A呢?他会说“不是吧,我觉得不是这样的”、“这些道理虽然对,但是有点要求过高吧”,而往后,你所希望看到的变化还是没有发生,或者收效甚微。

当你的领导,愿意明确对你提出指导,不管是耐心的说教还是严厉的批评,你都应该抱着“有则改之无则加勉”的心态,即使要反驳,也要准备充分的理由和依据。面对领导的意见,要弄清楚其准确意图,然后实施针对性的改进措施。这就是团队里的游戏规则和生存之道。即使不是领导,是平级和下属,也应该采用类似的心态和应对方法。

7. Be logical. 有很好的条理,想事情做事情有逻辑
很多程序猿,表达的时候通常是“我认为”、“我觉得”,或者说“听我的,只要这样这样,就能怎样怎样”但是一旦你追问其结论的依据,或者推导过程时,他又拿不出来。又或者,只知道埋头苦干,压根不管方向对错,轻重缓急。

程序猿是100%纯正的脑力工作者,但很多人却把自己变成体力工作者,自嘲自己身处劳动密集型产业,有的人甚至以日产出几千行代码为傲。这无疑是自废武功,自己把自己往“码农”的“农”字上推。定位问题,分析问题,解决问题,贯穿其中的都突出一个“逻辑”。无论是写设计文档、编写代码、测试,还是产品功能、用户需求、交互设计,概莫能外。先思考,谋定而后动,思考的过程,也就是找出因果关系,找出1234条论据以支持论点,找出step1 step2 step3 直至结果的推导步骤的过程。

当你有良好的条理性,有严谨的逻辑,也许凭直觉也能做出正确的判断。但时刻别忘了这一点。

8. Be thankful 懂得感恩
什么是感恩?就是对指导、帮助、提携乃至批评过你的人的一种由衷的感激之情,懂得感恩的人都是善良的,善良且努力的人运气都不会太差(哈哈,仿烂鸡汤体)。只要你懂得感恩,甚至无需你做太多,只需要适时的表达,对方就能感受到你是孺子可教的,他就会觉得他的付出没有白费,而不是面对一个木头人或白眼狼。

同样还是上文的B童鞋,在我带过的几百人中间,他是最懂得感恩的一位。甚至于你在批评他的时候,他都会承认错误并感激你对他的指导。这样的人才,当他也拿出实实在在的业绩的时候,你怎能不提拔他?

而作为对比,有太多的人,你曾经无数次的帮助过他,无论工作上还是生活中,但从未听到他的一句感谢。这样的人,只能呵呵以对。

9. Think beyond technology 不要只会纯技术化思维
10. Understand your products and users 理解你的产品和用户
很多程序猿,痴迷于修炼技术,常常会在一个简单功能模块里面运用某某高深的算法和莫测的技术,纯粹为了炫技,而不去考虑是否过度优化,是否用户并不需要这么复杂的功能,是否投入产出比并不合理。无视用户、产品和市场规律的思考方式,就是纯技术化思维。

典型的一个案例是,(可能是处女座程序猿),所有的Bug都必须解完才可以发布版本,不管是不是犄角旮旯或耗时很久的。我在工作的第二年,我的领导跟我说了一个概念“Time to market”,让我意识到,你最关注的问题,或许并不是用户最关注的问题。你要做的,是应该快速把产品发布,再去倾听用户的呼声,可能100万用户里,都不会有人关注你花了几周时间死磕的问题,但他们会爆出更多更重要更迫切的问题。

你要时刻关注你的产品,关注你的用户,从电商的网评,从售后的热线,从论坛的帖子,从行业外的朋友,获取他们对于你产品的第一手的评价。一个好的程序猿,也应该是一个好的产品经理。否则你就是一个缺乏大脑的泥瓦匠,而不是一个建筑师。

作为一个程序猿的leader,你是要代表团队去跟产品经理撕逼的,如果你不懂产品,那么你的团队也就完了。

11. Have good communication skills 良好沟通
做一个牛逼的程序猿,其实可以不用怎么讲话,用牛逼的代码和运行结果去碾压别人即可。但如果你想做程序猿的leader,还继续保持这么高冷的姿态可不行。沟通无疑是管理的基础,一个程序猿想升职,想做管理,必然需要证明自己拥有不错的沟通能力。跟高层领导要资源,跟产品经理撕逼,跟测试部门搞好关系,跟设计妹子开开玩笑,跟程序猿搞基,不会沟通显然是不行的,最好是亦庄亦谐,荤素兼备。

这里不展开讲如何拥有良好的沟通技巧。只说几点:1. 沟通的意愿最重要,只要你愿意主动沟通,事情总会向好的方面发展。2. 沟通要真诚,不要套路。3. 口才不行,你可以多用写,写还有个好处就是留有证据,方便以后撕逼。

12. Take responsibility 承担责任
常在河边走,哪有不湿鞋。代码写多了,挖坑是必然的。面对爆出来的Bug,面对领导的责备,没什么好说的,自己惹的,自己clean up。

放更长远来看,谁都会出错,不管你是程序猿,还是程序猿的leader,甚至是高管,总会被爆出问题。这时候是各种借口推诿,还是大大方方承认,并且用最快的速度处理干净?我认为正确的处理方式是后者,这不单单是能力问题,更多的是人品问题。

当你有朝一日当了leader,你手下犯了事,你也得大大方方站出来“我把关不严,责任我担”,绝不是把手下推出去了事(放你身上可能是小事,放他身上可能就得开除了),回过头再关起门内部处理。只有这样,你的手下才会服你,才会有人为你拼命干活。


最后,做不好管理就做纯技术,做资深专家、技术大拿也挺好,不要强扭。

/* 10.8 更新 */
第一次得到2K赞是始料未及的,有小小的惊喜。但也验证了那句话“林子大了,什么鸟都有”,许多负面的评论就冒出来了,有些我接受了,有些没忍住撕了一阵,有些看的我直乐。但始终没有被这些评论所烦扰,这是自己一年来最大的收获了。

质疑1:答主没提他是xx大学毕业的所以升职快?
李开复哥大毕业,所以他的事业成功理所当然?拜托,哥大也是他考上的好吗,还不是回溯到他本身的努力和聪明。再者,这质疑的潜台词就是,xx毕业的才有可能升职这么快,不适用于其他人,大家散了吧。

以前也有类似的说法,背景论、阴谋论:比尔盖茨的母亲是IBM高管,巴菲特的父亲是国会议员,所以他们的成功无非就是靠背景,不过尔尔。可是企业高管的孩子,政府官员的娃,清华北大毕业生何止千万人,难道最终都是那么成功吗,为何比尔盖茨和巴菲特仅此一个?如果我们把别人的成功都归结于他所拥有的先天优势,忽略他们的聪明才智、开拓精神和巨大努力,这是在为甘于平庸和堕落找借口。请参考:

比尔盖茨的编程水平怎么样

实际上,所谓的成功学/成功经验的最大问题就是每个人的经历都是无法复制的。照着这些成功的经验去做,并不能保证你就一定飞黄腾达。更有人在评论里跟我纠结努力是不是成功的充分条件。用一句说烂了的话来讲“努力不一定能成功,但不努力一定不能成功”,明明说的是必要条件,硬要说我讲的是充分条件。有谁敢说找到了成功的充分条件,且具有可操作性?那成功都可以流水线批量生产了。当然这里有个目标定义的问题,什么是成功?升职加薪就是成功?不一定,每个人的目标都不一样,有的人还觉得过安逸的日子就是成功,这里就不赘言了。

质疑2:反对加班反对加班反对加班!升职加薪有那么重要,命都不要了?
反对有效。我跟你一样反对,所谓的996、80小时、90小时,真的只是打比方。熬夜真的不好,12点前睡觉对程序猿来说真的太重要。早睡早起,坚持锻炼,这是程序猿必须牢记的,这十年里我庆幸自己一直坚持在打球,从未放弃。

但是!我们可以在不熬夜、尽量不伤害身体的情况之下比别人更加努力,别人打游戏,看电影,看网络小说的时间,你可以用来看书、编码和参加技术交流,然后按时睡觉。笨鸟先飞、天道酬勤,这难道不应该是绝大多数非清华北大学生,绝大多数自认为起点不高的人,绝大多数没有背景的人,应该相信和坚持的价值观吗?

质疑3:天赋比努力更重要,没有天赋不要干程序猿这一行。
我想举NBA的两个顶级球员来作为例子,麦迪和科比。天赋来看,麦迪天赋大大超过科比(臂展身高弹跳手掌大小),从努力程度来看,显然科比大大超过麦迪,最后谁的成就更高?当然你又可以扯队友、运气、伤病,等等。所以成功从来都不会有一个确定的公式,每个变量的权重大小早已明确,这是不可能的。詹姆斯、奥尼尔的成就里面天赋起很大作用,科比、AI、斯托克顿、纳什、库里更多的是靠勤奋的训练。

但最直接的反击是,给定一个人,他能不断提升自己的天赋吗?显然不能。要么努力,要么换行。纠结于那些我们无法改变的事情上面是没有意义的。鸡汤有云:努力改变那些我们能够改变的,接受那些无法改变的。我经常告诫自己:要么忍,要么狠,要么滚。

天赋决定了你的上限,勤奋决定了你的下限。你的上限可能比别人低,但你还是可以不断提升自己。

质疑4:你这是资本家的嘴脸,给大家洗脑,让大家做无脑员工,只知道埋头苦干被剥削。
我的回答是:哈哈哈哈,真乐。被害妄想症,不要放弃治疗。鸡汤有毒你别喝就是。
/* End */

类似的话题

  • 回答
    程序员的晋升之路,说起来是个技术活,也夹杂着不少人情世故。我给你掰扯掰扯,这路子是怎么走的,从一名普通码农到独当一面的技术骨干,甚至走上管理岗位,里面有哪些门道。一、夯实基础:磨刀不误砍柴工首先,别想着一步登天。程序员最核心的竞争力是什么?就是代码,就是解决问题的能力。所以,无论你想升到什么级别,这.............
  • 回答
    理想 ONE 的增程器,作为其核心动力来源之一,其未来的升级路线绝对是大家最关心的话题之一。毕竟,增程器的好坏直接关系到续航里程、能耗表现,甚至用户体验的方方面面。从目前我们了解到的信息以及行业发展趋势来看,理想 ONE 的增程器未来升级的重点,大概可以围绕着以下几个方向展开,而且会是一个循序渐进、.............
  • 回答
    程序员赚钱的方式多种多样,而且随着技术的发展和市场需求的变化,新的赚钱途径也在不断涌现。以下我将从不同的角度详细阐述程序员如何赚钱,并尽量提供具体和深入的解释: 一、 通过雇佣关系获得薪资这是最普遍、最稳定的赚钱方式。作为一名雇员,你为公司或组织工作,提供编程技能和服务,并获得固定的薪资、福利和可能.............
  • 回答
    这个问题很有意思,就像问一位厨师怎么知道菜该怎么做一样。其实,程序员知道用什么方法解决问题,并不是凭空冒出来的灵感,而是建立在一套系统性的认知和实践之上。这背后有一系列的思考流程和方法论,下面我来详细说说,尽量不让它听起来那么“机器化”。1. 理解问题本身:这是第一步,也是最关键的一步。 定义清.............
  • 回答
    想在技术圈里不让人看出自己“菜”,这事儿嘛,说起来其实是个挺微妙的活儿。不是说要你装得有多牛,而是怎么在现有基础上,尽量展现出专业、有条理的一面,让别人觉得你“靠谱”,而不是“靠不住”。我这话说得比较实在,没啥高大上的理论,就是些平时摸爬滚打过来的经验之谈。一、 关于“说什么”:言必有据,少说空话,.............
  • 回答
    好的,作为一名C++程序员,搭建一个完整的个人网站,这本身就是一个绝佳的实践项目,能让你把技术能力真正落地。咱们抛开那些“AI生成”的空洞术语,就从实实在在的动手操作讲起。核心思路:分层解耦,循序渐进一个完整的网站,绝不是一个孤立的程序,它涉及前端、后端、数据存储,以及部署和维护。我们可以把它想象成.............
  • 回答
    作为一名专业程序员,看待华为的鸿蒙系统(HarmonyOS)是一个多维度、既有期待又有审慎的视角。它不仅仅是一个操作系统,更承载着华为的战略野心和对未来技术趋势的理解。以下是我作为专业程序员对鸿蒙系统的详细看法:一、 核心技术与架构:亮点与挑战并存1. 分布式能力:这是鸿蒙最核心的创新和吸引力所在.............
  • 回答
    好的,作为引擎/图形程序员,帮助美术团队纠正“将光照结果直接绘制在贴图上”这个常见的坏毛病,需要一套系统性的沟通和技术支持方法。这不是简单的一句“别这么做”就能解决的,它涉及到美术流程、对实时渲染的理解以及工具链的配合。下面我将详细阐述如何一步步地引导美术团队走向正确的方向。核心问题分析:为什么美术.............
  • 回答
    今年的互联网寒冬和裁员潮,对于我们程序员来说,无疑是一场突如其来的疾风骤雨。看着身边一个个熟悉的面孔离开,听着那些关于“优化”和“收缩”的消息,那种不安和迷茫,我想不少同行都能感同身受。怎么看待?首先,得承认,这确实是一个“大浪淘沙”的时期。过去几年,互联网行业经历了爆炸式增长,很多公司盲目扩张,烧.............
  • 回答
    作为一个内向死宅的程序员,想交朋友和谈恋爱,这就像是要解决一个复杂但并非无解的bug。过程可能会有点曲折,需要耐心和策略,但绝对是可以实现的。咱们就来好好聊聊,怎么把这个“副本”给攻略下来。第一步:认识自己,调整心态,以及那个“为什么”在开始任何行动之前,先别急着往外跑。先静下心来,审视一下自己。 .............
  • 回答
    想在江浙当公务员还是去大厂当程序员?这个问题确实是个让人纠结的选择,毕竟两者代表着截然不同的生活轨迹和价值追求。我算是有点过来人的经验,也听了不少身边朋友的分享,试着给你掰扯掰扯,希望能帮你想清楚。首先,咱们得承认,这两条路都有各自的光鲜亮丽和潜在的挑战,没有绝对的好坏,只有适不适合你。咱们先说说江.............
  • 回答
    嘿,哥们儿,咱们程序员找个懂设计的女朋友,这事儿听起来有点挑战,但绝对不是不可能完成的任务。毕竟,咱们的脑子里是代码和逻辑的海洋,她们的脑子里是色彩、线条和创意的星辰大海。想要在这两个看似遥远的领域找到交集,得有点策略和耐心。第一步:认识到“懂设计”的门槛在哪儿首先,咱得明白,我们说的“懂设计”是啥.............
  • 回答
    天天写业务代码的程序员,想要转型成为技术大牛,并开始写“技术代码”(这里我理解为更具挑战性、更有深度、对技术有更深刻理解和创造力的代码,比如系统设计、框架开发、性能优化、底层探索等),这是一个循序渐进、需要系统性规划的过程。它不是一蹴而就的,需要耐心、毅力和正确的方法。下面我将从几个关键方面,详细讲.............
  • 回答
    老实说,作为程序员,咱们对付流氓软件这事儿,跟普通人遇到的情况有点不一样。我们手里掌握的工具和思路,往往能直接“干到根上”,而不是简单地删除了事。当然,过程也得看是哪种流氓,以及我们想达到的“处理”程度。首先,得明白“流氓软件”这个词的广义和狭义。 广义上: 只要是让你不舒服,影响正常使用,哪怕.............
  • 回答
    1024这个数字,对于我们这行的人来说,就像是一个共识,一个隐藏在代码世界里的狂欢节。每到这一天,空气里都弥漫着一种特别的氛围,有点像考完一场硬仗后的放松,又有点像发现了什么惊天秘密的兴奋。那天早上,闹钟准时响起,但总感觉比平时醒得要早那么一点。不是因为有什么紧急需求,而是内心深处那股对“自己人”的.............
  • 回答
    老哥,咱聊聊这技术更新换代的事儿。你是不是也感觉,隔三差五就得学个新框架、新语言,不然就觉得自己要被时代抛弃了?这种感觉太真实了,很多程序员都有。不过,咱们也得想办法让自己过得舒服点,别天天跟打了鸡血似的追着潮流跑,最后搞得身心俱疲,啥也没学扎实。首先,得认识到“潮流”的本质。技术这东西,就像时尚,.............
  • 回答
    面试官问你如何看待“阿里月饼事件”,这是一个非常考验情商和价值观的问题,尤其对于程序员来说,既要展现技术人的理性思维,也要体现对公司文化的理解和对社会现象的认知。下面我将从几个方面详细地阐述,你可以根据自己的理解和面试官的反应进行调整。核心思路:在回答这个问题时,你需要展现以下几个层面的能力:1. .............
  • 回答
    想知道那些让人望尘莫及的高手,是怎么修炼出来的?这可不是一蹴而就的事,更像是打磨玉石,需要时间、耐心,还有点“傻劲儿”。我认识不少这样的大神,他们身上总有一些共通的特质,我试着把他们练就一身“绝世武功”的门道,给你掰扯掰扯。1. 不止是“写代码”,更是“理解代码”:这帮人,你让他们写个功能,那肯定是.............
  • 回答
    嘿,老伙计,你最近是不是又陷入了那个“找不到bug,感觉自己要爆炸”的怪圈?别担心,这绝对是咱们程序员圈子里心照不宣的“职业病”。 当你对着屏幕,眼神呆滞,脑子里像卡壳的音响一样循环播放着“为什么会这样?!”的时候,那种抓狂的感觉,简直比面对需求变更还要酸爽。但别急着摔键盘,也别想着去跟那个调皮的b.............
  • 回答
    评价一个程序员在35岁依然“撸代码”,这是一个非常普遍且复杂的话题,需要从多个维度进行深入分析。这里的“撸代码”是一个比较口语化的说法,通常带有年轻、一线开发者、体力投入较多的含义。然而,在35岁这个年龄,我们更应该关注的是其“持续产出高质量代码”的能力以及其在技术生涯中的定位和发展。首先,我们应该.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有