软件开发(程序员到底有多累多辛苦)

建站教程 2年前 (2023) admin
109 0

程序员到底有多累?这个问题我还是很有发言权的。小编之前从事了近十年左右的IT行业,一直在软件公司的程序员岗位,平时的主要工作内容就是编写代码。前后经历了三家软件公司,其中一家自研的小企业,另两家是大型外包公司(主要给华为和中兴这样的大型软件信息企业服务)。想知道程序员的工作有多累?多辛苦?下面小编根据自己的经历谈谈做为一名程序员工作相比其他行业的不同,有多辛苦。

程序员到底有多累多辛苦?

程序员到底有多累、多辛苦?

程序员到底有多累?这个问题我还是很有发言权的。小编之前从事了近十年左右的IT行业,一直在软件公司的程序员岗位,平时的主要工作内容就是编写代码。前后经历了三家软件公司,其中一家自研的小企业,另两家是大型外包公司(主要给华为和中兴这样的大型软件信息企业服务)。想知道程序员的工作有多累?多辛苦?下面小编根据自己的经历谈谈做为一名程序员工作相比其他行业的不同,有多辛苦。

大家好,我是小白,别看我是一个喜欢运动的体育创作者,其实我之前是一名真正的程序员,关于社会上很多吐槽程序员为IT民工的说法,加班多,消耗身体的健康,这行是吃青春饭之类的。我想作为一名10年经验的老程序员谈谈自己的看法,到底程序员的工作有多累多苦。

程序员工作加班多工作强度大是普遍现象,现阶段还无法改变,尤其是外包公司,相信以后随着制度的完善和社会国家对这方面的重视,加班现象会有所缓解

一提到程序员工作,大家脑中第一印象就是加班多,太辛苦。确实目前国内大多数软件企业的工作强度很大,加班多主要体现在外包公司,但也有很多自研的公司也有加班的。我们最熟悉的国内互联网巨头,例如:阿里巴巴、腾讯、华为、小米、京东的加班现象是常态。最熟悉的就是每年的双十一购物狂欢节了,在全民买买买的狂欢背后是无数个程序员通过加班加点的技术支撑,问题测试,问题修复,性能和稳定的才能保证流畅人性化的购物体验。这些都是程序员背后的默默付出换来的,在这里要为辛勤劳动的程序员们点赞!

小编自己之前所在的外包公司是给华为做的外包,在正常的项目迭代中,一般开发阶段可以自己根据工作量和代码的完成度情况自己分配时间,如果能完成较快可以不用加班。但是后面项目归档转侧之后,就要开始进入加班阶段了,一般项目转测后,测试测出的问题需要在当日清零。问题少还好,问题多的话就需要加班来修改了。一般项目的每个月都会发布一个版本。每个版本迭代分为:需求拆分-编码-转测-发布-上线,这些阶段,通常只有在前两个阶段不需要加班,时间可自己掌控,后面一旦开始转测就要加班了。由于我当时项目组给的人力不足,我还要担任上线后的技术支撑工作,手机需要24小时保持畅通,一线有问题随时可以呼叫你。我经常半夜给。

由此可见程序员的工作相对其他行业,加班是比较多的,有时甚至需要经常通宵达旦修改问题定位问题。所以程序员工作是非常辛苦的。对于刚入行二十几岁时还没有感觉,但到了三十多岁之后身体机能下降相比年轻时恢复慢,会让你有时感觉身心疲惫。

程序员分自研和外包,外包公司一般较辛苦且待遇方面不如自研

程序员分为自研和外包,自研一般都是公司自己接的项目或者中标的项目拿回来在自己公司研发,一般这种项目工期时间较长,时间上自己分配的空间较大,客户也不会一直催着你赶工交付。资金上也不会拖欠。外包分为外包项目和纯外包公司,这两个其实差不多,都是一些大型软件企业自己的项目,或者承接的大型移动电信项目,将功能模块话分类后,将部分非核心技术的模块外包出去,核心模块自己做。外包的项目一般都要去客户方的办公场所工作。工作时间需要配合客户方的要求,项目迭代过程都有客户方接口人对接。一系列的审核制度繁琐,就是你一个项目版本完成了想要发布成功,中间需要经历各种严格的审查制度,例如:代码安全漏洞扫描,代码规范化扫描,第三方软件的安全审核,测试报告,项目升级安装指导,上线评审会等等。之前就遇到了有些项目组的项目没有审核通过被打回的情况。而在自研项目的话制度各方面审核都是自己公司制定比较任性人也符合公司当前的人员分配。所以在外包公司工作除了要适应加班还需要有一颗强大的心。

程序员薪资水平较高,但不是人人都适合,不要轻易盲目跟从,跳槽或转行前你需要评估下你是否适合程序员这个工作

程序员工作虽然辛苦,但是对应提供的薪资是比较高的。收入水平每个城市地区的消费不同,IT行业在各地区的薪资相比是属于中上等收入。一般二三线城市有个三年工作经验的都可以给到1-2万,一线城市2-3万甚至更高是很正常的。而在一些独角兽企业如阿里,腾讯这样的都是按年薪几十万来计算的。薪资水平除了和工作经验挂钩,主要还是看技能水平,核心技术才是拿高薪资的关键。

现在有很多人看到了程序员那高薪眼红他想转行做这个。但是要提醒大家程序员不是人人都能做的,你看那些做了十几年的技术大牛,这么多年了还在写代码,都是因为他对这行感兴趣能从中找到乐趣和成就感。所以提醒大家如果对这行不敢兴趣或者不热爱这行千万请不要轻易的辞掉现有的工作转行程序员。

总结

说了这些就是想告诉大家程序员的工作是很辛苦的。当然辛苦劳累的工作很多,程序员只是其中一种。任何工作想要做好都要付出辛勤劳动和汗水。没有什么工作是轻轻松松做着就能赚到钱的。在选择做程序员这行前一定要想清楚,衡量自己的兴趣能力是否可以胜任这份工作。我是小白,你问我答,每周分享日常生活点滴和运动方面的内容,喜欢记得点赞分享关注哦!

作者:文武双全的小白

软件开发(程序员到底有多累多辛苦)

什么原因让你想当程序员?

分享一个菊厂大神的故事:

不知道从什么时候起,亲戚朋友问我能不能买到打折手机时,我总会脱口而出:打折手机没有,打折基站,了解一下?说完自己都觉得有点无厘头,但似乎又是那么顺理成章。我想,无线的十年,写代码可能已经深深融入了我的生命,因为它不仅见证了我的青春年华,也见证了我不认怂的那些时刻。

这条路,我打算一头走到黑了!

程序员这辈子谁没遇到过几个bug

爱上编码,其实很偶然。在没有钱只有才的大学岁月里,在当时追女生还停留在手写情书的年代,我用OpenGL写了一个3D的迷宫游戏,在迷宫的关键路径上放上了女神的美照。一个小小的游戏,帮助我的兄弟打败了99%的直男,成功追到了学校的女神,我也成了我们那届男生眼中的“代码大牛”。初尝成功的滋味,让我觉得干软件这行,还行。

2007年底,我成功到华为无线,在上海接首个落地成都研究所的产品UMTS Access Point,因为之前的游戏开发工作经历是顺风顺水,让我觉得基站软件编码没什么难的,但是进公司的第二个月,脸就被打得响。当时还是瀑布式开发,严格遵循预先计划的需求、分析、设计、编码、测试顺序进行,一个环节阻塞,所有人都得停下来。我负责的是系统广播消息的整改优化,当联调到我这时,DSP(基带子系统)却死活收不到我发的系统消息。我不停走读代码,却连续两天两夜毫无头绪,全部门100多号人因为我已经阻塞了48小时,部长不停在我座位后边转悠,盯着我屏幕那焦灼的眼神,都深深地刺痛着我,什么时候,我从别人眼中的大牛,变成了拖后腿的人了。

48小时后,部长觉得不能再这么枯等下去,安排了部门技术大牛来帮助我梳理思路,重新走读代码,终于找到了问题根因,原来在从CPU向DSP发送消息时,需要提前20ms发送,我当时过于自信,不知道信令之间有严格的时序关系,发送和接收是有延迟的,想当然认为优化成实时发送,不是更节约时间,更有效率么,于是不假思索地修改成了我心目中“更美”的代码。但就是这个“更美”,实际变成了Bug,阻塞了我们的联调。问题终于解决了,但就在那一晚,我人生中第一次失眠了,我甚至开始怀疑自己,是不是不适合干通信行业?

第二天,我找到部长,向他诉说我内心的煎熬和自信的崩塌,谁知道部长神情了然,说:“一个程序员,谁这辈子没遇到过几个Bug啊,都是自己亲手埋的雷,那就死活都要亲手把它挖出来。下一次,一定要由你自己来挖。”我俩相视一笑,突然间,我就释怀了。

经过这次挫折,我对做大型通信软件有了新的认识和了解。年轻的时候多少有些自负,自认为自己的代码水平不错,但实际上软件领域有太多的未知,一山更比一山高,不太懂的地方,不能想当然,得多向前辈请教。代码也不是越“美”就越好,在网运行的每一行代码都是多代华为人不断完善的结果,从表面上来看,这些代码离美还有一段距离,但是从业务场景和功能完备性上讲,它通常考虑比较周全,出问题的概率很低。

愈曲折,愈见大风景。

没有解决不了的bug,只有没找对方法的我们

带着对编码的敬畏,后来的我一直在业务组长期深耕。在自己熟悉的业务领域,无论特性开发,还是小的模块重构,都能游刃有余,主导的模块重构还获得过公司E2E质量奖,但也许正因为太熟悉了,太游刃有余了,感觉激情正在一点点地褪去。就在我以为自己会麻木,甚至动了别的心思的时候,一个扩展眼界的机会,找上门来了。也正是这次机会,让我坚定了继续在软件世界遨游的信念。

当时,根据公司要求产品线需要发起VxWorks切换Linux的hert 8.0性能攻关,每一年增加的10万+代码,会成为产品性能的包袱,所以每一年的性能攻关,都是项目的重中之重,但是平台切换和性能优化了多年,能想到的、该用的招式都用过了,大伙有些黔驴技穷了,怎么才能让性能KPI继续往上升呢?尤其是在4个月内要提升XX%,能按期达标吗?

部长找到我,问我愿不愿意接受这个高难度的挑战,支援项目组完成性能优化,支撑至少每秒1500次链路建立。这是我从未涉及的性能优化领域,我,行吗?

老婆给我打气,“这,不就是你正在寻找的,突破的机会吗?拿出你当年运动员的精神来,坚持、突破!你要相信自己,你可是‘百米飞人’哦。”这里要说明一下,我从小学就参加校田径队,一直到高中,从一个只是爱运动的小破孩,硬是练到了国家二级运动员,练成了研究所的“百米飞人”。

有了老婆这个坚强的后盾,我欣然进入了攻关组,并利用所有的业余时间,从各种渠道、多个维度,补充相关知识的学习。同时,也向产品线架构部专家请教攻关方向,向底层平台专家请教消息通信优化方向,向已经成功优化的部门请教Ans1编解码优化方法等等,一切可以想到的,有一线希望的,我都主张尝试一遍。从业务流程、业务算法、模块部署、热点代码、编译器选项等多个维度同时进攻,4个月后,我们如期顺利攻下了这个山头。

一时间,我百感交集,我认识到软件的路更宽了,曾经的我单纯认为软件开发不就是垒代码吗?谁让代码更简洁实用,谁就是大牛,其实不然,它更是合作,是探索,是智慧的碰撞。当我们费尽千辛万苦,齐心协力冲破“暴风骤雨”时,我心中的迷茫如乌云散开,我感受到了沐浴阳光的爽快与自信。这让我更加坚定了软件开发的选择,没有解决不了的Bug,只有没找对方法的我们。

主管被我大胆的想法吓到了

5G TUE(测试终端)落地成都,部门要成立软件架构优化组,鉴于我以往的表现,部门希望我担任技术负责人,从一开始就解决未来可能出现的性能问题。我先后分析了号称世界最快的“并发框架Disruptor”,公司外研所开发的JSF,以及面向异构系统的OpenCL等各类并发框架后发现,其实取各家所长,开发一套全新的并发调度框架,更加有好处,能让TUE/CPE在生命周期内,都不用再考虑性能问题。这个架构可以结合TUE/CPE高负载,超低时延,多板多框共存,产品硬件单板每年更新,以及多产品OneTrack的业务特点,达成每秒百万级任务处理的性能规格。

我把全新开发并发框架这个想法跟部门主管简单说了下,主管吓了一跳,“这个想法太大胆了。” 原计划只是优化小改,现在却要完全重写,我们的软件实力是否足够?风险到底在哪里?能不能按时交付版本?性能会不会变得更差?会不会影响公司5G整体发布节奏?一连串的问号,让他的心里完全没底。我却坚信这个新框架如果做出来完全可以“碾压”原有架构,而且新架构会让整体更简洁,就像那张著名的印度街道电线图,只有重新铺设,架构才不会腐化,更有利于后面的开发和维护。但主管仍然不同意,认为风险还是太大。

我想到架构大师Till Adam曾经说过,优秀的架构师必须首先是一个推销员。于是我整理了新架构的各种优缺点分析,开始向主管、MDE游说,从进度分析、性能分析、架构预演、风险预判等维度,一一解决了他们的疑虑和担心。经过2周十来次密集的技术PK,部门终于同意,兵分两路,我一个人先开发架构原型,另一组人在原有架构上优化,谁先验证成功,提升更大,就用谁的架构去适配修改产品代码。

是时候用上以前积累的知识和技能了。我心中燃起一团火,只想着要拼尽所有将想法变成现实。3个月的时间,我心无旁骛全力以赴开发新架构,用老婆的话说,简直到了“魔怔”的地步,吃饭在想,走路在想,睡觉也在想,几乎没有一刻停止过思考。还记得最后一天,当新架构原型基本完成,上板性能压力测试远远超出预期,这样的结果,让我觉得,过去种种,值了。部门也终于信心十足,决定用我的新架构来启动业务层的适配修改。

2017年5月,上海通信展,TUE被集成在了汽车上,观众通过5G网络,在展厅遥控30公里外的汽车,实时控制。远程驾驶可以成为未来租车和共享汽车行业服务这种自动驾驶的补充,例如用户将车开到偏僻的场所,租车公司无需人力开回,只需利用远程驾驶就可召回、调度车辆。我和项目组的兄弟们通过网络直播,看到汽车被顺利遥控的那一刹那,我突然发现,原来我们的通信软件已经走在了世界科技的最前沿,我们正在构造未来智能化时代的通信基础,这种无与伦比的成就感和自豪感,瞬间盈满了内心。

十年时光倾吐芳华,峥嵘岁月如墨留香。这十年里,无论是为了一行代码“死磕”,还是为了一个架构想破了头,穷尽了方法“折腾”,又或是为了“推销”自己的方案拼命争取,我没认过怂。所有的努力在看到自己编写的代码照进现实的那一刻,是作为程序员的我最大的骄傲。

软件开发是个什么概念?

1、软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。

2、软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。

3、软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。

4、软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。

5、软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。

6、常见的软件开发语言:JAVA、C/C++/php/JSP/ASP/POWERBUILDER/DELPHI/.NET/C#/vb/等。与应用最关键的需要用到数据库,常见数据库:MySQL/SQLSERVER/ORACLE等。

软件开发靠不靠谱?

我觉得软件开发在当前这个年代应该是非常靠谱的,尤其是随着现代社会计算机互联网人工智能的高速发展。社会对这些软件开发人才的要求越来越多,也越来越高。

像楼主,89年也是计算机专业毕业的。楼主在大学的计算机编程学的还不错。写毕业设计的时候,自己给自己定了一个课题,自学c语言,编了一段游戏。当时演示的时候轰动了整个计算机系。

我那时候计算机的编程应用不像现在这么广泛,对当时的编程语言,底层的c语言编程,都比较复杂,其他各种语言编程语言,更新变化的也非常快,加上楼主在小城市大学毕业,大学毕业也是定向分配,被分配到厂里搞计算机自动化。

阴差阳错,楼主很庆幸自己转行去搞自动化,几十年过去了,现在也算是专家级别的人物。但如果不转行的话,继续搞计算机,那也应该达不到目前的成就。

不过,今非昔比,现在学计算机专业的,大环境非常好,以及各种编程技术也相当成熟,互联网物联网人工智能技术的高速发展将会有非常多的机会,应该不会去转行去搞自动化了。

现在搞计算机编程的,比搞自动化工资要高多了。

最近总听说全自动软件开发?

我知道的全自动开发工具只有SoFlu软件机器人,因为目前我们正在使用,且体验还不错。

SoFlu通过人机协同,可自动完成项目管理、软件后端开发、前端开发、测试、运维,可以实现软件开发,提效十倍。

这个SoFlu软件机器人所倡导的“流程即图,图即代码”仔细体会下,非常有趣,可以把所有的业务流程、开发经验都放到一张流程图,以标准化组件的形式实现后端编程,这样除了能把精力更多的放到业务流程设计上以外,可以大大降低开发门槛和提升开发效率及质量。

现在可以申请30天免费试用。感兴趣科技去试试,申请链接:

版权声明:admin 发表于 2023年1月7日 pm11:24。
转载请注明:软件开发(程序员到底有多累多辛苦) | 热豆腐爱做网站导航

相关文章