搜索
查看: 20|: 0

程序员工作七年,我踩过的那七个坑

[复制链接]

7

主题

1

回帖

139

积分

注册会员

积分
139
发表于 2024-11-5 10:54:33 | 显示全部楼层 |阅读模式
本帖最后由 jinchanchan 于 2024-11-5 10:55 编辑

作者:东东拿铁
引言
今天想聊聊,自己在7年工作中踩过坑的7件事情。
一、不会问问题
一杯茶一包烟,一个bug改一天。
程序员面对技术难题是非常正常的事情,谁还没有碰见问题束手无策的时候呢。
记得刚工作的时候,我对于碰见的业务异常,宁愿自己一行一行地看代码,一行一行地debug,也不愿意去问那些有很多业务经验的前辈,更不用说问自己的领导了。
因为那时候我觉着问别人,就会显得自己技术很菜,毕竟什么功能你把代码看一遍,理论上也能知道什么问题了。
于是自己花大量的时间钻研一些代码,哪怕这些代码在系统中并不是这么重要。 我一直觉着我自己有能力解决问题,所以不去问别人,显得自己技术强。
事实上,我是不知道如何提问,因为如果你的问题问的比较低级,再好脾气的人也会失去耐心。提问的能力,是我们在职场中必备技能。
就拿工作中一个很常见的系统报错场景举例,无论什么系统,都会有些业务性质的校验,比如参数异常、状态异常、库存异常、购物失败等,再就是系统bug。工作这几年,我遇见了集中不同程序员的提问方式。
第一种程序员:东哥, 功能报错了,你看页面上提示的xxxxx,怎么办? 第二种程序员:查询一下报错相关的日志,看看有没有更详细的信息,拿着信息开始去找哪一行或者哪一个服务报的错,然后喊:东哥,代码这个服务/代码怎么抛异常了,怎么办? 第三种程序员:先查看日志,然后核对数据,核对基本的商品配置、用户资格,尝试了解涉及到的业务细节,再过来问:秒杀失败了,涉及到的基本配置核对完了,帮我看看还有什么地方是我遗漏的吗?
其实这就是我工作过程中提问的成长路径:从遇见报错就去问别人,到学会用技术方式排查问题,再到后面的业务驱动去梳理问题。
反求诸己,如果你是被问的那个人,你会更倾向于帮谁解决问题?不同的提问方式,谁的成长速度会更快呢?
其实,技术问题绝大部分人都能解决,但在开发过程中面临的业务难题才是我们需要解决的,或者说更常见的。有些业务如果没有人告诉你,你永远也不知道这个功能为什么要这么写,或者说这么写的逻辑是什么。
千万不要羞于提问,相反,问别人是解决问题最快的方式。你要做的是,学会做好前期调研,尽量提出有价值的问题。
二、不善于展示自己
代码写好了,就足够了吗?
工作之后,另一个非常重要的误区就是,我只需要把活儿干好,那么像升职加薪自然就会轮到我。我想大家一定听过Linux开发之父说过的一句话:“Talk is cheap, show me your code.”
Linus-Torvalds-quote-about-talking-1d9797.jpg
曾经我也是被这句话影响很深,作为程序员就应该写好自己的代码,做好手头的事情,就一定可以把自己的能力展现出来。
但工作后发现,如果你不说,你的代码只会存在于git里,只有下一个接手你工作的人,才会看到你的代码。
程序员需要避免的一个误区是:工作中不要认为技术才是最重要的,不要认为技术做好了,领导就一定能够看见你的功劳。
事实上,如果你不去把你所做的工作提炼出来,更好地汇报或者展示自己,其实没有人会知道你的工作具体有多困难,或者你写的代码具体有多好。
也许你认为你的代码逻辑清晰,扩展性强,用了各种设计模式,性能较好,你觉得自己很厉害。这没错,但是做出成绩,让别人知道,比完成更重要。
你这么做并不是说要邀功,而是在让上司、让同事更了解你的作用,也是在帮你的团队争取应有的认可、应有的资源。
三、缺乏冒险精神
按部就班,不再适用于当下的年轻人了。
我们父母年轻的时代,工作时可以从20岁一直干到55岁的。但在现在这个社会,几乎没有程序员会认为自己可以一辈子在一线写代码。或许有这样的人,但我肯定不是。
在现在这个社会,唯一不变的就是变化本身。从2017年毕业到现在2024年,整整七年的时间里,热门技术从Java的Spring MVC到Spring Boot,再到微服务架构。热门的技术赛道也从大数据、区块链到AI。热门技术是学不完的。对于普通的程序员来说,按部就班已经不再适用了。曾经的“三年P7,五年P8”在现在已经完全不可能了。
自从ChatGPT问世到现在,其实已经有一年的时间了。我已经见过很多人用AI改善自己的工作流程,比如AI写作、AI绘画,甚至用AI生成代码。但如果你还只会遇到问题去百度搜索,那么我想你已经跟不上这个时代了。
程序员现在考虑的是什么?或许是在程序员这一行还能干几年。
技术变革这么快,自己的技术在后面会不会被淘汰,公司会不会裁员,裁员之后还能不能找到工作。
可如果我们所做的工作,学习的内容,只是为了让自己在这一行多待几年,甚至是不被裁员,我想这个目标是不是从一开始就有问题?
1. 你学会的第一个开发语言,并不意味着你要一直从事这个语言相关的岗位,技术更迭,换一个语言也未尝不可。
2. 你并不一定要一直写代码,走向管理、转向产品或许可以让你看见更大的可能。
3. 你或许不一定非得要做一个程序员,或许你的兴趣并不是写代码,只是你自己还没有发现。
005-programmer-480x270.jpg
既然一份工作无法持续地干下去,那我们应该怎么办呢?终身学习,找到自己在哪一行能够更擅长、更喜欢的,把这份喜欢变成自己的事业。并不是说今天你是一个程序员,10年、20年之后你还是要做一个程序员。
愿你也能够不断的拥抱变化,有着足够的冒险精神。
四、缺少锋芒
不知为何,我的盖洛普优势中排名第二的是和谐。这意味着在冲突情境下,我会极力避免争论,希望和别人达成共识。
譬如,当我与同事探讨技术方案时,同事可能会对自己的方案极为执着,即便我的方案在性能、难易程度上更优。倘若同事始终坚持己见,那么我极有可能会选择妥协,采用那个看似并非最优的方案。
我发现自己在工作中,会不自觉的想要获得别人的好感,甚至变成了一种执着,因此我更愿意在职场中展现自己的亲和力。 比如:
怕冒犯别人,不敢提出自己正当的需求和想法
有时会暴露自己的弱点、缺点,以便拉近社交距离
总是担心别人不喜欢自己
但是这样会产生一个副作用,那就是,别人可能会觉得你能力不足。
或许你会说,这样似乎也不错啊,职场中我就喜欢这样的同事,如果我不这么做,那别人会不会不喜欢我啊?
《权力进化论》书中给出了一项长期研究的统计结果。研究的是亲和性(也叫宜人性)对于一个人事业成功的影响。结果发现,亲和性对所有人的薪酬都会产生负面影响,男性受到的影响比女性更严重。这是因为,那些在意自己亲和性的人,可能会把这个放在自己的事业目标之上,所以更容易错失一些推进事业发展的好机会。
而亲和性的反面是独断性。也就是一个人我行我素、以自己为中心的程度。加州大学伯克利分校的研究发现,独断性对权力的提升没有帮助,但也没有害处。这是因为,独断性能够引起两种相互抵消的作用:一方面,独断的人会做出更多支配性、攻击性行为,这能帮他们提升权力和地位;另一方面,独断的人做出的慷慨和群体行为比较少,这又对获得权力有负面的影响。
按照研究中的定义,独断性恰恰代表了一个人根本不关心自己会怎么影响别人。《权力进化论》书中的作者说,如果这对权力都不会产生影响,那么就更可以说明,其实我们没有必要过于担心,其他人喜不喜欢自己,会对事业造成多大影响。社会关系虽然重要,但我们不应该让那种想被人喜欢的念头压过了真正想做的事情,牺牲了自己的利益和规划。
研究表明,刻意去博得他人好感在职场中往往会起到反作用。相反,表现得更加强势虽不一定对自己的职业生涯有益,但也并无坏处。
工作中善于表达自己的观点,做你认为对的事情。
五、你配得上你所拥有的
我和许多加过来的粉丝朋友聊天,粉丝朋友们普遍会觉着:“嗯,你的履历不错啊。”他们认为履历对我的自媒体或许会有很大的帮助。我总是回答:“哎,这其实没有什么。我能进去,很大程度上也是运气,并不代表当时我的技术有多好。”
所以我从来没有把大厂的经历当做自己的一个优势去面对它。反而我会尽量避免和别人谈起过去的工作经历。
日常的表现就是自己更愿意去弱化自己的优势,却喜欢强调自己的不足。
其实我这种情况叫做冒充者综合症。
什么是冒充者综合症呢?就是有些人其实已经很优秀了,但他们总是觉得自己并没有像别人说的那么优秀,生怕某一天别人会发现他是冒充的。
这就是一种会严重削弱你自身权力的行为。因为你看待自己的方式,必然会影响你展现给别人的形象。如果连你自己都不觉得自己有能力,值得更好的结果,那这种消极信号就会在不经意间传递给别人,让别人也看低你,最终会影响到你的事业。
首先,想一想你会怎么向别人描述自己。然后看看这里面有多少是消极描述,哪些可以摒弃掉;看看你有没有刻意掩饰自己的成绩和优势,能不能把它们加上去。
比如我看到的一个例子:一位女性学员,跟作者说公司里竞争很激烈,竞争对手总是想方设法地压她一头,或者抢占她的功劳。作者在跟这位学员交流的时候,发现她总是提到,自己是团队里唯一的女性,而且最年轻,资历也最浅。作者就提醒她说:“我知道这些是事实,但是我还可以再用三种完全不同的视角来描述你,那就是,你们团队里,只有你是顶尖商学院的MBA,只有你精通数理分析,也只有你曾经独立带过有很大经济影响的项目。所以呢,现在我们就有六个不同的视角了。至于今后你要一直想着哪三个,全看你自己。”

猩猩敲键盘.png
六、没有建立自己的品牌
上面说到,不善于展示自己。那么想要展示自己的话,如何展示才是最好的? 建立个人品牌,也就是IP,即Intellectual Property,也就是我现在在做的一件事情。
一句话,让人们第一时间想到你。具体应该怎么做呢?
第一步,和声名显赫的事情或人联系起来。 职场初期,我们大概率会去做一些边边角角的业务或者功能,核心功能或者业务的机会就这么多,只是做这些并不是很重要的业务,即使你很有能力,也很难被人发现。
遇见这种情况,那就主动去沟通联系,试着让自己接触更加底层与核心的逻辑,并深度参与其中。
比如虽然你只是开发人员,但你主动承担起跨部门的协作沟通,而不是把沟通的事情让别人去做,主动承担起计划的制定与发展规划。
即使不能负责,也要展现出你对这件事情的兴趣,持续积累核心业务的背景,这样你也能够建立起负责人对你的兴趣,建立沟通渠道。
第二步,准备好自我介绍,并反复打磨自己的故事。
比如你擅长哪些技能,熟悉哪些业务,你曾经负责过什么东西,做出过哪些成绩。
人人都需要自己的品牌声明。你要做的,就是想一想如何用两三句话向别人介绍自己,说明自己的专长和取得的成就,再想办法把这些内容和自己的某些心路历程结合起来。
第三步,让你的品牌广为人知。
有很多人不愿意做一些感觉像“自我推销”的事情,尤其是程序员。并且在我们社会的成长背景下,在崇尚谦卑品格的文化环境中,这种现象会尤其突出。
这样就会产生一个问题:如果你自己不讲出自己的故事,会有别人替你讲吗?别人还会看到你的成就吗?这些你都没法确定。
说在最后
以上,是我想分享的工作七年来,在职场中踩过的几个坑,给出的建议或许有失偏颇,也和自身的工作环境有很大关系,并不适合所有人。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大数据中国微信

QQ   

版权所有: Discuz! © 2001-2013 大数据.

GMT+8, 2024-12-22 16:09 , Processed in 0.059905 second(s), 28 queries .

快速回复 返回顶部 返回列表