导航:首页 > 软件知识 > 程序员为什么怕改动

程序员为什么怕改动

发布时间:2024-04-04 02:02:22

㈠ 作为程序员,最怕什么

作为程序员,最怕以下几个方面:

㈡ 程序员的压力有多大

作为一名程序员,压力来自于生活中各个不同的方面,写代码完成工作只是一部分。

第一就是来自家庭的压力,其实和大多数人一样,程序员的第一压力来自于家庭。单身的被催婚,结婚的又为生活中的琐事各种闹心。所以一个和谐稳定的家庭可以减少程序员绝大部分压力。

第二是来自学习的压力,为什么是学习呢?因为IT技术变革和更新非常快,不想落后就得不停地学习,一个不擅长于学习和研究的程序员职业道路走不远,因而也会因为自己的学习脚步跟不上而产生恐惧。

第三是来自房子的压力,大多数程序员特别是在一线城市的,想买房太困难,去二三线城市发展,薪水很低,所以就像一个围城效应。有房产的程序员就比较自由了,没房产的就会压抑一些。

第四种压力,工作!没得说,遇到坑跪着也得填完。

第五种就是年龄大了干什么工作的压力,毕竟程序员是青春饭的,到了35岁左右可能公司就要裁员了,随着年龄的增长可能脑力活着学习能力都在下降,敲代码熬夜的话可能会熬不住的。

关于程序员压力的问题,网上普遍认为程序员“压力大”、“996”、“易猝死”,就算直接采访程序员:“你压力大不大”,估计不同的人也有着不同的答案;下面我根据十多年的程序员工作经验,谈谈自己的看法。
关于加班,关于996
首先不能否认,作为程序员,几乎没有没加过班的,只是加班多少的问题。有些公司常年996,甚至到半夜也是经常的事情;能够正常下班的公司,也至少在需求紧急的时候,项目上线的时候加加班。我现在在一家金融公司的IT部门,这些时候都是需要加班的:

但是,根据我的观察,很多公司、很多人996都是 “政治996” ,他们的工作量并不需要996,而是因为公司要求、领导要求、回家也没事儿干等原因,留在单位直到很晚。对于真假996我的看法是:

程序员的压力究竟有哪些?
那么程序员的压力究竟有哪些,在我看来,有这几个方面:

不过在我看来,哪些行业又能说毫无压力呢?既然选择了这个行业,那就坚持下去,如果真的觉得自己不太适合做程序员,那就果断转行。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

项目工期的压力

从我的从业经验来看,尤其是从事互联网行业的程序员压力是很大的,经常会遇到来自运营那边的紧急需求,比如什么时间要上线个活动,时间都卡的很死,如果上线不了,对整个公司来说影响很大,我还清楚的记得,有一次公司临时来了一个很重要的对外的合作,公司要求七天内上线,如果不上线,就会影响投资方对我们的投资,没办法啊,我们整个开发团队,七天没回家,在酒店住了一周封闭式开发,幸运的是,我们完成了,如期完成了项目上线,类似这样的事情还比较多,有时候会让人心力憔悴,还好那段时间我们年轻,扛了过来。

加班的压力

首先选择这一行,我们就应该有清楚的认识,加班是避免不了的,比如 996 这个概念有一阵子被炒的很火,我个人觉得,在一段时间内,比如为了赶一个项目上线,进行996我觉得是可以接受的,但是长时间,比如一年两年都是这种状态,你就得思考这正常吗?问题出在哪了?这个公司是不是值得呆了?其实出现这样的情况,大多数是内部管理问题或者所谓的领导为了迎合老板的喜好,政治996,如果收入又不高,占用太多的私人时间,就没有了自己的生活,除了工作就是工作,你没有办法去提升自我,长久下来,你的技术会与时代脱钩的,建议尽早离开。

年龄增长,工资增长慢,收入少的压力

随着年龄的增长,曾经我认为年轻的90后,也慢慢的30了,也不小了,大多数已经结婚有孩子了,虽然到了这个年纪,工资大概能到2万左右了,但是这两万真的够用吗,房贷,孩子教育,赡养老人、自己的各种生活开支,算来算去,自己能留下的钱已经所剩无几了。

我曾经看过《云栖社区2017中国开发者调查报告》中显示中国开发者月收入水平在10000元以下的占49%,另有32.2%的人月收入在1万~2万元,真正月入10万元及以上的高收入群体仅占1.4%。 社会 普遍认为开发者群体是高收入人群,而实际上,相当多的人并不是。其实我们大多数程序员只是一个普通的打工仔而已。我们要正确认知这个现状,拿高薪的只是少数而已。

技术更新太快的压力

作为开发的我们深有体会,就拿我从事的前端来说,前端几乎每年都有新的东西出现,有时候还没学完,新的版本又出来了,为了让自己的职业有保鲜期,不落伍,只有不断的逼迫自己学习,不能有丝毫的放松。及时自己从事了管理岗位,对技术我也不敢丝毫的怠慢,还是在不断的充电和完善。

每年涌入不少新人的压力

我们都清楚,如果要是从事基础的编程工作,门槛并没有想象的这么高,基本上培训学校出来的人只要有几个月的时间,高中基础的人,出来以后也能上手基础的项目工作。因此造就了每年有大量的新人来到这个行业,刚入门的新人,工资低,又年轻,多少对我们这些比较一般,还从事基础编码的程序员增加不少压力。没有谁是不可替代的,即使你是老员工,有时候公司为了生存和发展,也不得不牺牲一些人老人,去招聘能力又强又便宜的新人。

焦虑:在别人眼里你很“光鲜”,其实你就是一个普通人

我经常会遇到身边的朋友这么说,你们这些在北京工作的人,尤其是做互联网开发的,年薪也至少50万+了吧,甚至还补充到,我朋友或亲戚谁谁,在BAT、微软、华为做开发都年薪百万了,难道你不是吗?每次听到这个问题,我真的是很无奈笑而不语,难道真的是自己很失败吗,千万不要被身边的人左右了你的心情,你需要清楚的认识到开发者群体中只有少数人能成为管理者或高薪的技术人才,绝大部分还是普通人。一定要把自己的心态放平,不要被这些所谓的外因,让自己整天忧心忡忡焦虑,做好自己就行了。

如何摆脱这些所谓的压力和焦虑呢?静下心来,踏实工作,做好职业规划

首先我们要清楚的认识到我们是一个很普通的人,特别随着年龄的增长,尤其到了中年之后,面临着年轻人的压力同时还有生活的压力,确实要求我们有着强大的内心,生活确实很艰难,千万不要给自己定性认为自己不行了,你越这么认为,生活就会越针对你。

其次想必大家和我都想过这个问题,如果我40岁了,还要和现在一样从事这样基础的业务代码工作吗,环顾四周,这么多小年轻,我和他们从事一样的基础工作,是不是很尴尬,IT行业发展太快,需要不停地学习,年龄大了身体不如年轻人,就容易被淘汰。

然后你还要思考自己是不是一直要走技术路线,对开发来说,经验没有太大帮助(少数还是有帮助的,比如技术架构的能力),而且技术淘汰速度快,就拿我们前端的jQuery框架曾经是多么的火,自从有了vue、react后用的就少了,这就说明了一个问题经验往往很快就过时了,而转管理岗位又太考验天分了,比专研技术更难。技术路线,坚持精进和学习,跟着潮流扩充自己的知识体系,是没问题的。但是开发能力只是个工具,做到最后牛的还是那些思维能力好、推演能力强的人。你在走技术路线的时候,千万别忘记了基础学科的学习,比如数学,计算机基础理论。(搞AI的那帮人水平真高。大部分都是博士、数学等基础学科方向毕业,而且接受过很好的教育,而这样的人才,即使不在互联网行业做开发者,往往也能获得高收入,因此比我们选择更多),所以建议大家在条件允许的情况下,考一下本专业的研究生,让自己的理论和思维更加宽阔起来,及时以后不从事这个行业了,也能有更多的选择。

最后,如果你实在坚持不下去了,无非就是转行,你就要提前思考下做什么,找个一个自己的兴趣爱好,比如先做当下比较流行的自媒体,短视频,或者弄个生意都行,还有一个比较有意思的事情,我也忘记在哪看过的文章,说的是一些一线技术大牛40多岁后,利用自己的互联网思维,搞起了传统的餐饮行业,而且弄的还很不错,可见传统行业也未尝不可,只要自己喜欢,有时候我就想着弄个奶茶店,哈哈。

小节
今天和大家聊得比较多,请大家见谅,我们要清楚的认识到,天无绝人之路,不要杞人忧天,做好自己就行,我们就是一个普通的人,平平淡淡过好自己,做好职业规划,坚持学习就够了,老天是不会不辜负努力付出的人。

对于科班出身的程序员我不是很确定,但是对于非科班出身,尤其是培训的程序员,他们的压力真的是非常大,每一个坚持下来的同学都非常了不起!

金三银四的时候,一位老学员和我说的:自己经人推荐,面试一家大企业,技术面试通过了,但在谈薪水阶段,hr很明显的传达,表示自己是非科班出身,不是特别满意……虽然最后还是拿到了offer,但心中不免有些意难平!

相比于计算机相关专业,作为非科班出身的学员,从开始工作到有2年经验这个阶段,跳槽几乎都会“被照顾”到这个问题,这很容易让人产生对自身的不认可。同时因为基础不够扎实,对所学知识半知半解,不确定更大,从而加深自卑心理。有的时候明明已经学好了,但总觉得心里没底。

焦虑解决不了问题,只能拼命学习!

晚上下班回去依旧学习,像现在的算法,Python都自主的学习;

因为非科班的出身,刚开始基础不算好,所有周末都会去上海徐汇的图书馆学习;

这只是他和我交流中说到的这几句,但是这几句话背后付出了多少努力只有他知道吧,这仅仅只是自己在学习方向的压力!

而面对职场,还有各种各样的压力向每一个程序员袭来,尤其是危机意识很强的人。因为技术变化也是非常快速的,而程序员可以说的上是技术前沿的职业,面对这种变化比旁人是更加清晰的,为了延长自己的职业寿命,多少程序员已经开始自学Python、自学算法了,为的就是在今后的变化中自己能有竞争力!

你说压力大不大,每个人都有压力的,毕竟 互联网带来了机遇,也放大了焦虑,在焦虑面前,谁能淡然一笑!

没有哪一项工作不辛苦,没有哪一项工作毫无压力。对于我们来说,最重要的是正面压力,让自己成长。

作为一个曾经在Oracle、阿里、网络都待过的程序员,来谈谈我对这个问题的看法。我认为,程序员的压力,一部分来自工作环境,一部分来自内心的焦虑。

来自工作环境的压力
来自工作上的压力是必然的。特别是互联网公司,长期处于快速迭代的节奏, 并且以结果为导向,以成败论英雄。笔者从业多年来,曾经几度面临崩溃的边缘,好在通过不断调整,内心变得强大从容。总结下来工作上的压力可能来自几个方面:
来自内心的压力
身在职场,工作是永远都做不完的。其实更多时候,压力是自己给的。这里笔者主要来剖析一下自己所面临的问题:
做好规划,时刻保持竞争力
有压力不可怕。在外企朝九晚五,也会面临诸多压力。在互联网公司小步快跑,加班成了一种常态,压力更不用说。那么我们要做的只能是调整好自己,直面压力,获取更大的成长。

欢迎关注笔者,每天分享架构干货 。

程序员加班多,压力大,有多大呢?有辣么大!

我不说压力有多大,我就说说为啥压力会这么大。

作为程序员,需要通过编程做出一款产品,然后把产品卖给客户,这样才能有持续的收入。而程序员的压力很多是来自自己公司的销售和客户。
1、自己公司的销售
销售要把产品卖给客户,就需要与客户坐下来,大家一起开个会,销售向客户介绍自家产品,有时会出现吹牛皮吹过头的现象。比如产品某个功能目前没有实现,或者未来很长时间也不能实现,但是销售已经夸下海口了,不能自己打自己的脸啊,于是,这压力就转到程序员身上了。
2、客户的需求
销售或者项目经理与客户开会,谈某个项目落地的事情。由于客户比较急,要求多少多少天之内落地,于是压力又集中到了程序员身上。
3、还是客户的需求
项目落地了,但是客户的需求随时在变化。每变一个需求,程序员就要改动一次。如果需求变更比较急,程序员又要加班加点了。

程序员的压力总是有的,在压力中挺过去海阔天空!

程序员的压力有多大?

压力肯定有,至于说程序员的压力是不是最大的,那就不知道了。各行各业的压力都大,主要压力来源于几个方面,就看自己的调节能力了。

1、工作压力,这个主要根据项目,要求按时交货,必须加班加点完成。特别是产品调试阶段,出现BUG的话,基本都是通宵,想办法来解决问题,有时候连续几个通宵。

2、知识更新太快。前端几乎每年都有新的东西出现,有时候还没学完,新的版本又出来了,为了让自己的职业有保鲜期,不落伍,只有不断的逼迫自己学习,不能有丝毫的放松。及时自己从事了管理岗位,对技术我也不敢丝毫的怠慢,还是在不断的充电和完善。

3、家庭的压力。虽然说程序员的工资高,基本都在加班,没有时间谈个恋爱啥的,家里天天催。结了婚的,由于天天加班,不能好好的陪伴家人,也容易产生家庭矛盾。

4、程序员对年龄要求严格。一般程序员过了35岁,企业基本就不再会录用了,所以程序员必须在35岁钱,完成两件事,一,赚足钱,实现财务自由。二、努力提升成为管理者。过了35岁的程序员,没有走上管理岗位的,基本都考虑转行了。

欢迎留言讨论

都这样了,还有啥说的~

这个需要区分在什么单位或者是部门做开发以及开发软件的性质。工作中的压力来自几个方面,包括如下等一些方面:

首先,工作进度压力是指要在规定的时间完成开发任务,上级确定的开发完成截止时间前必须完成任务,而开发工作具有很大的不确定性,每个系统的开发都和之前的开发工作有不同,虽然所用的技术是类似的,但总能碰上不一样的或者需要公关的技术。所以为了完成任务有时只能加班加点,还要预留足够的时间做测试等,每个人都不想拖项目的后腿,不能因为自己一个人延期而影响整个项目的进展,所以平时最大的工作压力来自进度压力。

第二点,软件开发的技术更新非常快,参与开发时会碰到很多你不熟悉的技术,包括新的技术选型所采用的新技术,也包括开发软件所涉及的业务领域的新技术,比如软件涉及到系统安全,就需要学习加密解密,边学习边开发导致难度增加,还要保证进度,所以压力就大。

另外,如果所从事的是核心系统的开发,比如电信的线上计费系统,互联网的线上实时运行的系统,开发这类系统的压力也会比较大,因为如果这类系统运行出错,则影响会比较大,会导致使用者的经济损失和恶劣的影响,所以从事这类开发的都需要小心翼翼,尽可能的避免出错,需要严格的审核和测试,这种对工作后果的担忧会对开发人员产生很大的压力。

总体来说,程序员的压力还是很大的,但也有一些单位或者项目对开发进度要求不紧或者对成熟的程序员来说没有什么难度,又或者说是不太重要的系统,参与这样的项目会则会相对轻松,但熟悉的工作对开发者的技能提升有限,就看个人如何取舍了。

是很大,这个行业能在这么短时间发展的这么好,应该说是目前发展最好的行业之一吧。发展这么快,技术不断更新升级,必须保持学习的状态,否则很难做好这行,将面临的就是淘汰。

这个行业薪资相对高,从业人员素质比较高,大都不安于现状,每个人都不甘心落后,再加上大多公司都采用末尾淘汰制,不努力的淘汰掉。每年都有大量优秀的毕业生加入,竞争压力可想而知。

钱不是那么好挣钱的,通过薪资就可以看到一个行业的压力。

㈢ 如何向外行解释产品经理频繁更改需求为什么令程序员烦恼

客户购买产品的出发点都是为了帮助他解决问题,买个10w的车是解决出行问题,买个100w的车是解决应酬问题,买个1000w的车是为了解决面子问题。但是很多客户由于搞不太清楚他面临的问题到底是什么,就导致他们对自己的需求不明确,对于要做什么东西总是模模糊糊没有清晰的概念。此时客户会下意识的将他们想到的功能以不成熟的设计描述出来,并且希望产品那边赶紧出一个demo看看是什么样子。如果做出来的东西恰好能解决他们的问题,那就皆大欢喜(从经验上看,这种概率一般都低于20%),如果做出来的东西无法完全解决他们的问题,甚至都不搭边,这样就会引起更改,有可能不断的重复这个过程。PM的角色应该是通过引导客户对其面临的问题进行详细描述,从而主抓他们主要面临的问题,进而形成一套解决方案。了解客户面临的问题是很关键的一步,因为很多客户对自己面临的问题看的不全面,考虑的不周到,往往只从一个方面描述问题,有很多因素都没有考虑到。如果PM在跟客户确认需求时,没有对客户描述的问题进行深入分析,那么以此设计出来的产品成熟度就很低,需要反复修改的风险就很大。之前听到一个例子很好的描述了这个情况:一对夫妻找到他们的律师决定立一份遗嘱,这对夫妻对遗嘱的描述很简单,就是有一方如果仙逝,则财产全部自动归到另一方名下。此时如果是一个不称职的律师(PM),基本就会按照这对夫妻的描述来起草遗嘱。如果是一个称职的律师(PM)则会想这对夫妻问以下这些问题:律师: 如果你俩同时遇难,财产如何分配?夫妻:财产全部归我两个孩子,一人一半。律师:如果在你们遇难时你的两个孩子都未满18周岁,那财产如何分配?夫妻:额,那个,财产暂时由男方父母代管,18岁时再分配给子女。律师:如果你们的两个孩子先于你们过世,财产如何分配?夫妻:那就捐给基金会。律师:如果你们遇难之后不久男方父母也过世,并且两个孩子都未满18周岁,那么财产如何分配?夫妻:这个。。。额。。。好吧,我们还是决定如果孩子未满十八岁,财产由信托基金代管,Hope信托基金能坚持到两个孩子都满18岁。律师:好的,跟信托基金签署的合同是另外一个topic。如果你俩一方仙逝后,另一放再婚,财产如何分配?妻子:我那份留给两个孩子丈夫:。。。在产品的开发过程中需求变化是在所难免的,好的PM应该能从解决问题的要点出发,尽可能的帮助客户找到适合他的解决方案,同时在跟研发团队设计产品时应该尽可能的让产品模块化,留出可扩展空间,解释清楚每个需求变化的原因,让研发团队了解修改的合理性,以便能尽可能的满足客户需求。

㈣ 为什么中国的程序员总被称为码农

实际上IT行业在中国并不是特别差的行业,而程序员的工资也并不低,但为什么中国的程序员总被称作码农或者说是苦逼的程序员?中国的程序员生活和欧美的有什么不一样?之前,研发频道曾发过《东方程序员怎么看西方程序员》和《西方同行眼中的东方程序员》这两篇文章。来自世界各地的程序员们各抒己见。或许,从上面两篇文章中也多少能得出“”下面是来自知乎网上各位大牛的看法。让我们来一起看下!一位叫吴涛的程序员的回答:编程活动和机械电子一样可以视为一种工艺(craftsmanship),从事此类工艺活动的人可以叫做工匠或者工程师。经历过工业革命的欧美国家,有深厚的工程根底,从机械到电子再到软件,都是国家产业的支柱,滋养着社会中坚力量的中产阶级。工程师的社会地位普遍比较高,他们有工艺的传承,有文化圈,有产业的历史。而国内目前的软件工业和制造业非常相似,以来料加工式的低水平重复劳动为主。就好像农民仰赖着老天提供种子、土壤、阳光和水,中国程序员仰赖着洋人提供设备、技术和理念,从微处理器、操作系统、编程语言、编译器、IDE、编程框架到应用程序,除了做晶圆的沙子是本地产的,几乎没有什么属于自己,每天的工作内容主要就是把别人已有的东西按照自己的——甚至不是自己的——需求装配一下,没有什么创造性,也很少有业界的技术积累和传承出现,即便有也流传不开,毕竟程序员文化水平普遍不高——“有知识,没文化”,就是说这样的状况。记得劣质盗版VCD满天飞的时代,有个程序员做出一款丑陋但是解码容错能力很好的播放器,贴合国情,一炮成名,结果好容易写本书,没有几个句子能写通顺的。这种技术书籍的拙劣状况一直保持到现在,而且拙劣的方式更加多样化了。没有技术传承,没有文化圈,不乏有人上大学之前对编程一窍不通,学计算机只是因为计算机“热门”而已。如同包办的婚姻,没有一丝爱情,最后以编程为业,只是因为也不会做别的什么了。另一方面,国内程序员不论薪水如何,的确很苦。许多人长期被迫加班,最后甚至会成为一种自愿的习惯。可生产率和产品质量并未因此而提高,就像千百年来用惯锄头和镰刀的农夫,很少有人会想要去学习、改进自己使用的工具和习惯,甚至对于新兴的思潮和方法抱有非理性的抵触情绪。生活如此悲惨,却又如此不思进取,和农民的问题很相似。再加上,就好像城里人眼中的乡下人一样,程序员们木讷、邋遢、缺乏情调、土。可偏偏又自负而且互相看不起。总而言之,在中国做一个程序员,很少有什么事情能让人觉得自己从事的工作很体面。那么,在整个社会以自嘲为风尚、许多行业都喜欢好勇斗狠地自轻自贱的状况中,使劲贬低自己的职业,自嘲和群吵时,就不会有什么心理包袱。不过,就好像黑人可以自称或者互称“黑鬼”,但是白人如果敢讲立刻会惹祸一样,喜欢以此自称的程序员并不见得能容忍其他人这样称呼自己。最后,英语有类似的说法,将带有隔断的办公室叫做cube farm,常见于传统的软件公司。以讽刺(但不限于)软件公司日常生活为主题的漫画Dilbert就有不少格子办公室里的场景。不过cube farm说的并不是程序员们像农民,而是说他们像地里的庄稼或者果树,产出成果,等待收割。毕竟,欧美发达国家的农民生活往往比程序员更好。高收入,农机劳作,大片的私有土地,宁静的田园生活。农民的生活在那里,如果不是令人向往,至少也并无贬义。补充:本版同文所说的code monkey在英语中的语用,与“码农”在中文里的用法并不一样。code monkey是指以计算机程序员或者那些以编码为生的人。这个术语可能包含轻微的贬义,这意味着开发者可能编写代码,但不能执行复杂点的任务,比如:构建软件结构、分析和设计,一般指初级程序员。如果一名code monkey正在努力增加知识和提升职业技能,那么会有另一个等级名词赋予他。其实code monkey这个术语在层次划分上还是有点困难的,因为像那些真正熟练的开发人员或程序员他们仍然在做编码工作。或许像这样划分会好一点:coder:编码员programmer:程序员software engineer:软件工程师software analyst:软件分析师software architect:软件架构师或许还可以在前面加“初级”、“中级”、“高级”这几个前缀。这些都反映了一定的等级、技能水平和薪资。请注意:它只能在小范围确定的某种层次结构,例如在一个公司、甚至一个部门。一个在A公司工作的“程序员”可能比B公司的中级架构师所要求的技能更多。下面是关注前端技术的邓陈华同学的回答:首先, 问题的题目”“是有一定的可辩论性的,因为我所了解的事实是,大多时候是“中国的程序员自称为码农”,很少有不同行的人称呼程序员为“码农”。当然,可能和我所处环境有关系。认可涛吴所说的“自称码农的程序员并不见得能容忍其他人这样称呼自己”,因为这就像他所举的例子,黑人允许自称,但不允许白人称呼,同样的词在熟人说来是亲切、是自嘲、甚至可以是自讽,但在外人说来,那不仅是不尊重,还有可能是侮辱。其次,身处互联网行业,程序员工作辛苦,加班再正常不过,项目进度、突发情况、公司文化都可能成为加班的理由,虽然收入不一定差,但够苦逼。另外一方面, 程序员鱼龙混杂,水平参差不齐,而互联网向来是一个强调能力的开放行业,有多少能力就拿多少工资,这样注定有相当大一部分因为水平不够,导致收入问题成为“码农”的心病。而“ 工作辛苦”、“收入低”和农民有类似,所以无论自嘲或者是被别人冠以“码农”的称谓,辛苦、收入低这两个标志包含其一的可能性非常大。如果两者兼有,那就是纯种‘码农’一枚,够苦逼。当然,还有第三种情况就是像赵劼姐夫这样,“弹钢琴的码农”,已经做“码农”做到一种境界,并不一定强调其辛苦、更不会收入差,以“码农”调侃的口吻戏谑人生,这个心态和大家自称屌丝是一样的,更多的自嘲自讽。其实,这样收入高而且相对不这么辛苦的精英“码农”在行业内也不少。下面是在读研究生吴洲提供的,来自图灵中文社区电子杂志《码农》第一期的首卷语:《所谓码农》一文的解释:对于“码农”这个称呼,有些人喜爱有加,有些人不以为然。区别在于对待“农”这个字的感觉。农当然是指农民,这个词寓义很丰富,既可以说它伟大,也可以说它渺小。说它伟大,是因为我们的生存离不开农民,而且中国一直是个农业为本的国家,曾经说是百分之八十的人是农民,这意味着往前翻�9�2两代,你我众人皆是农民出身。以此观之,农可谓大哉。说它渺小,则是因为大家的观念里,农民意味着有很多缺点,冠冕堂皇的说法是劣根性,比如目光短浅、思维陈旧、自私小气等等,总之是为我们受过教育的人群所看不惯的种种毛病——这些毛病虽然我们自己也有,但是我们看不见——于是乎“农民”成为了骂人时常用的字眼。其实,把自己的编程生涯与田间地头的锄禾日当午对应起来,确是有那么些相似之处的。你能想象得到,田间整齐栽种的秧苗,与屏幕上显示的错落有致的代码行有几分神似。各种庄稼的种植是有讲究的,正如你要注意编程风格。施肥灌溉,犹如你对代码进行的编译链接。除草除虫,自然是在做着debug 。你挑水来我浇园,大概是在小菜园中进行的结对编程。因为靠天吃饭,农民们也要学点云计算,去五道口职业技术学校进修的人也多起来了。收割的季节,活多人少,也常常是要搞外包的,因为deadline 很重要。不过坦率地说,“码农”这个叫法让人体会更多的是滑稽、搞怪、无厘头。毕竟一个是简单的体力劳动,一个是高智商的脑力劳动,不可同日而语。而程序员却偏爱这样的时空错乱的感觉,自嘲(我就是个农民!)的同时却又自命不凡(我是码农我怕谁?!),特立独行极了。码农的草帽底下,是一颗充满创造力的自由不羁的头脑。他们遵从最佳实践而痛恨陈规教条,他们欣赏天才而不迷信权威,他们喜欢思考而不轻易苟同。他们是技术人,却追求人文理想;他们敢于呐喊,说出自己的观点和主张,也更善于脚踏实地,用自己的点滴工作去改变现状。码农们是勤奋的,加班加点的工作是常有的事情,城市夜间的灯火,有多少是在码农们的办公室和居所点燃?周末四处举办的技术交流和讲座,又活跃着多少码农的身影?线下读书,线上讨论,冥思苦想,动手实践,新技术驱动着码农们的脚步,码农们在改变着我们的生活。生存离不开农民,生活离不开码农。

㈤ 程序员遇到很难的技术问题是怎样的感觉

昨天刚领一个线上P0级重大事故,持续时间1小时,影响范围全站 !准确的时间点是下午17点开始,具体问题定位且听我下文细细道来。


先说感觉,那感觉真是太刺激了,本来下午五点,昏昏沉沉的,瞬间一个激灵就清醒了(想象一下高中课堂,你在打瞌睡,突然老师走到你面前给你一下子的感觉),原本准备再过一小时吃晚饭了,吃完晚饭再摸鱼到21点就可以下班了呀,别问我为啥到21点,问你就不是程序员!


带着无比紧张且颤抖的心情开始定位问题,先来个错误日志尝尝鲜:




整个事情的发酵是这样的:

1、下午五点开始有少量的慢sql报警,没有人当回事,因为这种事情总发生,虽然大家都知道在实际开发中如何避免慢sql,但是整个团队要想完全避免慢sql却很难;

2、五点十分左右,开始零星有用户反馈指定功能不可用,SLB开始报警,技术开始介入排查;

3、十五分左右,客服部门电话开始爆炸,用户密集反馈指定功能不可用,技术部开始重视;

4、二十分左右,所有服务大面积出现接口无法响应,整体服务不可用;

5、我们一开始定位觉得是MySQL的问题,因为前面有mycat的慢SQL报警,后来定位并不是MySQL,因为MySQL的内存、连接数、流量这些指标都很平稳;

6、最终在五点三十分的时候我们定位到是ES出问题了,因为所有的Java服务不可用最终都指向上面的错误日志,bbo提供的服务线程池满了,再有请求进来直接拒绝了,查看这个服务的代码,最终查询的是ES,此时的ES进程已经处于假死状态。


那接下来大家说怎么办?如何快速的恢复线上服务?



重启!


是的,只有重启大法此时是最快的解决办法,你不可能说保留ES事故现场,让我用arthas之类的工具来现场分析jvm内存情况。

然而重启之后服务依旧是不可用,接口还是无法响应, 大家知道这个时候是什么原因吗?为什么重启了ES服务还是不行?


后续继续重启报错bbo日志的相应服务,当这些服务全部重启完毕后,我们的服务终于恢复访问了,这个过程持续了十几分钟,确切的说,直到17点五十多分,我们的所有服务才恢复了访问。


接下来就是事故总结、相关责任人、产生问题的原因、接下来的优化方案,全公司邮件通报!


你说这个难不难?本身并不难,难的是事情紧急且重要,这个时候你慌了啊,乱手乱脚的,大家你一言我一语的,如何冷静提取有效信息然后尽可能快的解决生产的重大故障才是最难的!


最后,当一切都恢复平静的时候,你会发现:“卧槽,好累啊!”。

虚脱的感觉!

最后祝大家程序员节日快乐,今年可是程序员的本命年哦



2020 = 1024 + 996 = 404 + 404 + 404 + 404

这种感觉能难受,很压抑。

技术难题,对于程序员来说,是经常有的事,关键是如何面对吧。

说下我的事情,虽然也会写点代码,但并不是以此为正业,所以对于真正的程序员来说,可能说法会有点偏颇。

遇到难题时,一般都在网上搜索解决方法,一般来说,都有很优秀的程序员分享他的劳动成果,所以一般都能解决问题。但也真正碰到难的问题,一个就是循环的问题,无限极菜单问题,当时都是找了很久,看了很多遍才明白过来,当时自己是几天都不太开心,也不太想说话,总是在测试着程序。挺烦也挺不开心的。只是最后做出来了,心情就好多了。

这是我的一些经历,当然,如果全职程序员,可能压力就更大了。

如何形容这种感觉呢?焦躁,紧张,失落,无助,亚历山大...

再多词可能都描述不清楚。本人在工作中经常遇到难题,有些问题一两个月都搞不定。遇到这种问题,估计只有下面这张图的表情能描述此时此刻的心态了。

程序员遇到的难题其实分为两种,一种是没有办法定位清除的问题,另外一种是定位清除了,但是没办法,或者很难解决的问题。

难定位的问题

所谓难定位的问题,其实就是你根本不知道这个问题是什么。比如系统突然挂掉了,你从现有的信息根本不能确定问题在哪。这个时候你剩下的可能只有满脑子的问号了。


如果系统只挂了一次,后面不再出问题,那就很难找出问题的根源了。不过这样也有好处,那就是问题的影响的程度相对较轻,毕竟不容易出现。所以在软件开发中通常不是什么问题都解决的,因为不是所有问题都能搞清楚是什么问题,谈何解决呢!

难解决的问题

难解决的问题是问题搞清楚了,但是基于现有架构很难,或者没法搞定。遇到这种情况,通常先是很高兴,兴奋,然后就只剩下无奈了。

当然,从技术层面来说并不是完全解决不掉。只是如果要解决需要涉及架构调整或者其它方面的改动,修改调整的内容太多。这种情况下就要考虑利弊得失了。


如果改动太大,可能会引入很多新的问题,可能得不偿失。因此,遇到此类问题可能会采取一些规避方案。

当然,在开发和运营当中遇到各种问题是很正常的,关键是遇到不同的问题采用不同的策略。首先保证的是业务的正常运行,然后是考虑是否需要彻底解决。这样慢慢调整,心理压力会小一些。

作为一个工作多年的老码农,在工作也遇到过一些艰难的技术问题,就以切身体会谈谈对这个问题的看法。

首先需要明确一下,问题是否困难除了取决于问题本身之外,还在于解决问题的人的水平,也许对你很难的问题,在别人看来不过是小菜一碟。明白了这一点,那么这些技术问题也就成了考察程序员水平的试金石,有些人可能会因此气馁,甚至放弃;而有些人则通过解决问题学到了很多新的技术,也让自己进一步成长。

记得多年前看工作中要用到一款开源库,那时候刚学完C++不久,自以为对面向对象了解甚深,然而学习这个库时却是一头雾水,最后在经过泡论坛,然后又认真的学习了面向对象设计模式,后来不但能使用那个库,更重要的是对面向对象编程有了更深的认识!

后来还有很多类似的事情,刚开始时感觉无比困难,但是通过自己的努力,或求助他人、或查阅资料,当最终问题解决时,你会发现自己又牛逼了一些,然后再遇到一些新的问题,如此循环……

其实编程也是一个学习的过程,就如同爬山一样,每一阶段都会有一些山头,只有当你爬上山头才能欣赏美丽的风景,但是当你爬上一座山头的时候,就会发现更高山峰!只有当你爬上最高峰,才能“一览众山小”,可是到那时,你可能会向往地球之外的天地!

很难解决一般就是遇到某些瓶颈了,不同瓶颈的感觉是不一样的,但无非可以归结为下面几类。

成本原因
不让马儿吃草,还想让马跑。这个是有些不太理解互联网的一些领导的错误观念,他们会给你安排一个老旧台式机,想要让你承载几万、几十万并发的秒杀系统,你当然很难解决。
外界的评论可能是,“这帮程序员是吃干饭的么?这系统也太垃圾了!”
老板的评论是,“我这台式机也不少钱呢。”
程序员的评论是,“这抠门老板不会是个傻子吧。哎,再优化优化吧。”

当然,有些情况也是能够理解的,公司明白需要更好的设备,但是由于成本控制,不得不在某些方面节省。但换句话说,设备成本是占不了一个大头的,可能有其他方面的成本更加需要收紧。

如果是因为成本原因,我们的心情可能是无奈,又有些不能施展拳脚的束缚感。


历史 原因
举个例子,系统用了5年了,迭代了N个版本,在面对新的需求的时候,就会出现需求限制于系统的情况,常常会有程序员说,这个实现不了,那个不符合现在系统规则。其中很大一部分是这些年的积累,欠下的技术债造成的。俗话说,大船难调头。

这种情况更多的出现在刚创业之后的几年,由于一开始的快速迭代,追求先把业务流程跑通,先生存再规范,会让一开始的软件开发流程并不那么规范,如果在1-2年内没有进行重构,那么积攒的3-5年的技术债就会慢慢把你压得喘不过气来。

解决这种情况,一是需要时机,给出足够的空间和时间让技术团队重构,二是需要魄力,你得有成功的把握,不能干着干着说不行了,咱们还是回到原来吧。

如果是因为 历史 原因,我们的心情可能是期待和渴望,又有些对现状的无奈。


能力原因
虽然说专家很厉害,但说白了,大部分企业需要的研发人员,还到不了需要专家的级别。所以,一般而言,没有什么技术是攻克不了的。如果真的遇上了,那就说明你的公司已经到达了一个新的层次,从而需要那个层次的人员来解决,可以通过外聘或者顾问的方式,引进新的技术。

如果是因为能力原因,我们的心情虽然有些力不从心,但又为公司在新的台阶而高兴。

不管怎样,程序员是一群追求美好的人,不管是外部限制还是内部限制,不能解决的难题对于技术人员来说总是很憋屈的。

不能着急,慢慢分析,找到问题点,没有解决不了的问题

程序员的技术问题,排除架构师技术选型错误以外,都是程序员的功夫不到家所致。

1,面向网络的程序员会第一时间问度娘,各大社区求助大神。

2,面向源码的程序员会第一时间查看源码实现,查找api文档,思考解决方案。

3,不管技术如何发展,架构如何延伸,不变的是基本功,再先进的组件都是由基础语法书写出来的 。

练武不练功,到老一场空,共勉!

首先说下这个很难的技术定义,个人认为在你知道之外的知识都是很难的,一旦你深入了解其使用方式,原理,甚至阅读了他的源码,你会觉得有的时候会恍然大悟。程序员是一个不断要学习的岗位,就要面临很多从未知到已知技术的时候,每当遇到这样的情况时候,总有种不解决了这个问题,睡不着觉的感觉,心里不踏实,总是想尽各种办法去解决这个问题。甚至可以一直追查这个问题。也许这就是一种执拗吧

我老公最近就遇到一个大石头需要敲碎,我作为一个旁观者,都挺心疼他。

他还在读博,最近遇到的问题是他一个项目上的问题,也跟他的毕业设计相关。他刚读博的时候确定了一个方向,去年开题的时候他觉得这个方向没有什么前景,真的是考虑了好久要不要换,如果不换,就是安稳的毕业,换的话接下来的一年多时间他会很艰难,很多新的问题需要一一克服,最后他决定换了,他说他读博就是为了提高自己,还是想挑战一下。

年前,系统板设计好了,然后最近做好回来了,开始调试,说这个板子跟个石头一样,不工作。本来就是礼拜一到礼拜六待在学校不回来,周日是休息的。现在放假回来都是在啃变压器的东西,早上起的很早,晚上又很晚。真的挺心疼的,他还安慰我说,他又要进步了。挺担心他的身体的,我特别希望时间能快点过去,能顺利毕业。他却不希望,总觉得时间过的太快,没有时间搞研究。

今年的生日愿望,希望他科研顺利,身体 健康 。

以我的从业经历,说说遇到很难的技术问题是什么感觉吧: 兴奋、充满挑战性 。尤其是在开发中遇到了技术难题,很多情况下真有种可遇不可求的感觉。

我认为能遇到技术难题,至少证明这个工作是有价值的。 这种价值体现了两个方面,一是你的工作在整个产品开发中占据重要地位,甚至是核心地位。二是你的认知和经验,仍然有成长的空间。如果你的工作一直没有遇到难题,轻而易举地就解决了一切,那么很可能是你没有机会深入重要的核心部分,或者你的工作性质可替代性很高,简单重复性很高。

分解法。 把技术难题拆分,尽量的单元化、模块化,这样有利于逐步攻破,逐步解决。主要是降低技术难度,寻找真正的难点所在。如果问题无法拆分,就是那么一个点,那么需要逆向思维,可以先把问题扩大,看看涉及面有哪些,然后再缩小范围,锁定关键之处。

刨根法。 把技术难题抽象化,理论化,从根本的源头去解决。很多技术问题,从基础理论的角度去看,其实真的不难,只要你能定位到相关的技术点,困难点,知识点,就很容易进行快速解决。解决的终极办法就是从理论上彻底解决,做到知行统一。

讨论法。 三人行,必有我师。很多情况下,所谓的技术难题,在别人的眼中,也许并不是难题。很多情况下,小组讨论,交换意见,方案互补,就可以解决难题。有些情况下,还需要和供应商一起讨论,主要是补充信息的错漏。经常出现的芯片问题,很多情况下供应商都更加有经验。因为供应商有更多的使用客户,有很多解决问题的经验。最主要的是,芯片是他们设计的,他们更加清楚缘由。

没有绝对的技术难题,有的只是尚未解决的技术难题。

㈥ 如何看待程序员把Bug都改完就被开除了

作为一名码农、程序员,加班算是家常便饭了。周一至周五晚上加、周末加、办公室加、回家加、有偿加、无偿加……确实让人看见就怕。
但是你加班的原因是什么呢?让我们一起来看看下面两个例子。
01 程序员踩点下班,领导:不想干的请办理离职,我这里不养闲人与废物
在职场上加班不是目的,加班是为了完成工作,当员工能在正常上班时间内完成工作,无需加班,这时候作为领导也就没有必要让其留下来加班。
然而也有一些公司领导不看产出只看员工加不加班,就有一领导经过几天的观察,发现新来的几名程序员每天晚上不到八点就早早的下班走了。
对此这名领导很生气,想管管这群新来的程序员,于是在群里通知称:
都是干嘛使的?八点不到都 TM 走了!不干的直接说,现在就表态度,我这里从来不养闲人,也不养废物!不干的不想干的都去人事那里办理离职。
其实员工有这种心态实在人之常情。但退一步想,为何老板却能做到 5+2、白+黑呢?难道老板们都是铁打的?都是超人?非也,只因他们是经营者,他们为企业负责,为自己负责。
员工往往拿的是固定工资,所以这就导致了老板与员工焦点矛盾的局面:老板只关心利润,员工只关心工资。

阅读全文

与程序员为什么怕改动相关的资料

热点内容
哪里可以看悬赏信息 浏览:834
哪些名人做了大数据 浏览:255
数据谷有什么好玩的 浏览:653
场内交易为什么提示证券代码错误 浏览:316
普兰店市场有哪些 浏览:64
网络工程师和程序员哪个好做 浏览:682
不花钱的商品交易平台怎么开通 浏览:474
小程序小游戏什么最好玩 浏览:152
黑龙江省二手房不满2年交易税是多少 浏览:71
瑶海大市场南面什么时候拆迁 浏览:582
临清到义乌批发市场怎么去 浏览:154
网店数据采集员是干什么的 浏览:4
网络大数据专业前景如何 浏览:411
湖人怎么交易走威少 浏览:618
正规代理平台哪个好 浏览:133
数控技术用于铁道局的工资怎么样 浏览:979
线上购物代理需要哪些手续 浏览:270
技术规范去哪里买 浏览:730
登录界面如何与数据库进行交互 浏览:439
场内基金是些什么人在交易 浏览:240