草庐IT

搞开发的为什么这么累?

Java技术栈 2023-04-16 原文

作者:缘生梦 
来源:https://www.cnblogs.com/hbccdf/p/4276228.html

引子

在博客园看到施瓦小辛格的文章我们搞开发的为什么会感觉到累,顿时有感而发。

自己本来不擅长写文章,更不擅长写这种非技术性的文章,但是在思绪喷薄之际,还是止不住有很多话要说。

针对从客观上说”搞开发的很累”这种说法,我也来发表一下我的看法。

我们的累

我们搞开发的为什么会感觉到累,文中已经说了很多,简单的讲,主要是担心和紧张感以及加班的劳累。

明天项目上线,通宵改BUG,好累。

需求变来变去,这个项目什么时候是个头,好累

现有的技术将要过时,面临淘汰,一堆的新技术要学,好累

每天上下班总计四个小时,好累

每天六点就要起床去上班,好累

又要坐挤死人的地铁,好累

。。。

为什么会累

本来的一个好觉,变成了通宵加班,打乱了作息规律,扰乱了生物钟,在本该休息的时候,还要面对巨大的思想压力去改BUG,顿感身心疲惫。

需求变来变去,自己的辛勤工作,没有得到肯定,没有发光发热,可能一不小心就变成了无用功。

在这种前提下,还要在可能因为工期紧张,面临加班的情况下,再做一次无用功,想想都感觉这样的日子好累啊,日月无光。

辛辛苦苦,勤勤恳恳,没日没夜的学了些许知识、技术,总算是找个工作,有口饭吃。

可是没用几天,这些技术就要面临淘汰,于是乎,又要辛辛苦苦,勤勤恳恳,没日没夜的学习新的技术,真想说句坑爹啊,还能不能和小朋友们愉快的玩耍,还能不能吃着火锅唱着歌。

一天24个小时,工作8个小时,睡觉8个小时,吃饭2个小时,还剩6个小时的时间,但是就是这仅剩的时间还要有三分之二要花在上下班的路上。

那么问题来了,还有没有打游戏的时间,还有没有学习新知识的时间,还有没有和朋友们吹牛B的时间,还有没有和妹子约会的时间。

一天两天可以,可是每天如此,这样单调的生活,有何意义可言。

每天六点起床上班,天还没亮,寒风刺骨,拖着饥饿的身体,费尽九牛二虎之力,终于挤进了充满各种气味的地铁里,却发现,在拥挤的人群中,自己学会了金鸡独立,乾坤大挪移,梦回张无忌。

几声滴滴声将你拉回了现实,你终于发现,人世间最远的距离,不是生与死的距离,而是地铁到站,你刚下车,却被强大的人流挤上了车,这样的生活好累啊。

。。。

别人累吗

我们这么累,我们这么惨,只有我们这样吗。我们还是睁大双眼,看看其他人吧。

农民,起早贪黑,风吹日晒,累不累?

销售,很多时候要与烟酒相伴,累不累?

厨师,每天生活在油烟之中,累不累?

管理,每天要纠结项目进度、项目期限,累不累?

领导,中层领导有来自高层的压力,高层来自boss的压力,boss来自生存的压力和股东投资者的压力等,累不累?

还有很多,不在这里一一列举。

人这一辈子,可能也就小时候开心点。小学,各种作业;初中,面临升学的压力;高中,面临大学的压力;大学,面临找工作的压力;毕业后面临结婚的压力;结婚后又该要孩子了。

有了孩子后,才知道从此忙忙碌碌几十年,等到孩子长大了,自己也就老了,可是老了,还要面临各种病痛。。。这么想来,人这一辈子,到底累不了?

别人累吗——换个思路

农民,起早贪黑,风吹日晒,辛辛苦苦,换来庄稼的丰收,有付出才会有收获,累吗?值得!

销售,很多时候要与烟酒相伴,各种推销、与烟酒相伴、跑来跑去,换来一个一个合同,有付出才会有收获,累吗?值得!

厨师,每天生活在油烟之中,锅碗瓢盆,斧钺钩叉,十八般武艺换来色香味俱全的美餐,有付出才会有收获,累吗?值得!

管理,每天要纠结项目进度、项目期限,精打细算,换来项目的正常上线,产品的如期发布,有付出才会有收获,累吗?值得!

领导,中层领导有来自高层的压力,高层来自boss的压力,boss来自生存的压力和股东投资者的压力等,有压力就有动力,有动力就能出成绩,有付出才会有收获,累吗?值得!

人这一辈子,生老病死,各种压力,有了压力,才会体会到战胜压力的喜悦,有过辛酸,才能体会到生活的美好,努力付出,就一定会有收获,即使累,也值得!

如何不累——保持好心态

说了这么多,并不是想说明职业之前的差别,也不是想体现某些人的优越,只是想说明,心态不同,那么你眼中的世界必将大不相同。

遇到问题,尽全力解决即可,能解决,则体现了自己的能力,不能解决,也不能以死谢罪,饭还是要吃,觉还是要睡,生活还在继续,何苦闷闷不乐,折磨自己。保持好心情,迎接下一次挑战。

写这么多,举再多例子,不如牢记一句话,无论如何,保持好心情,对自己好一点

累的症结——运动量少

人归根结底还是动物,所以每天要有适当的运动。

为什么说适当呢,农民、工人、运动员等,由于过多的工作量、运动量,导致身体负荷过大,出现很多伤病。

而我们程序员,由于久坐、少动,导致身体各机能降低,免疫力减弱,容易出现劳累,甚至伤病。

程序员,这个职业导致普遍的少运动,所以身体出现问题的时候,总是怪罪于这个职业,其实,这是对自己的不负责任。

纵使有万般理由,都是自己懒惰的借口,所谓的没时间,只是不想有时间而已

打游戏,看电影,可不可以抽出十分钟来活动活动筋骨,做做俯卧撑、仰卧起坐。

其实只要你想,我们随时随地都有时间做锻炼。

离公司近的,跑步上下班,离公司远的,把挤地铁当做一种锻炼;上下楼改为楼梯;刷微博、刷朋友圈的同时,蹲个马步。

关上房门,只剩自己的时候,来一套想怎么打就怎么打、想怎么疯就怎么疯、比醉拳还醉的原生态拳。。。其余的大家可以发挥自己的想想。

同为程序员,看看别人是如何做的:

布里斯班Twilight Bay Run半程马拉松

https://www.cnblogs.com/huang0925/p/3984364.html

程序员健身6个月总结

https://www.cnblogs.com/huang0925/p/4069921.html

马拉松都出来了,难道围着软件园跑一圈就很难吗?

以己度人——将心比心

刚工作的时候,接手了一个曾经外包的Portal,代码那叫一个乱,各种没注释,没文档,BUG还一大堆。

维护这份代码,那简直是生活在水深火热之中,甚至有的时候想把作者的祖宗十八代问候一遍。

后来,负责了一个新的项目,整理完需求后,开始调研、概要设计、详细设计、编码、测试,怎叫一个爽字了得!

简直是动感地带,我的地盘我做主,没文档,少注释,各种特性,各种风格满天飞。

后来接手数据库的一个模块,根据详细设计文档,很快便对这个模块有了整理的了解,甚至连为什么选用某框架,曾经遇到的问题,现在存在的问题,改进思路等都写得非常详细,代码中有很多注释,整体上来说,感觉非常舒服。

这时候,再回过头来看自己负责的项目,与之前的Portal又有什么差别呢。

等到哪一天,换了别人维护这份代码,由于我的原因,让他或他们生活在水深火热之中,于心不忍。于情于理,也说不过去。

以己度人,将心比心,注释、文档、代码风格统一,整体可读性好,可维护性好,换来后来人的舒服,自己是不是也会感到很欣慰呢。

停止疯狂的学习——总结也是一种进步

前两年,刚工作不久,业余时间很多,也没有太多的事情分散精力,就一门心思的把时间用在学习上。

基本上每天都要看看博客园等技术网站,吸取最新的技术知识。然后就是看书,进行系统的学习。

由于自己的求知欲太强,总想学习新知识,基本上,看完一本书,就看下一本,一年下来,看了就几十本书吧。

从编程语言到编译原理,从系统编程到系统内核,从面向对象到函数式编程,从机器间通信到多线程并发,从Web前端到大数据处理。

所有这些基本上是工作上用到的知识,或者自己感兴趣的知识,或者属于未来的发展趋势。

虽然自己涉猎颇多,但无奈还没有达到过目不忘的程度,貌似什么都懂,实际什么都不懂。到现在,曾经看过的书,已经忘了至少90%的内容,还有一部分,可能只知道个概念。

好在我还有时间,通过这么多的涉猎,基本上确定了自己的发展方向,这也算唯一值得肯定的地方吧。

我的这种做法,也算是一种典型吧,方法不当,学的再多,可能都变成了无用功。

对于一般人来说,只看书,不实践,只能达到了解的程度,只有不断实践、总结、消化、吸收,才能真正掌握这些知识。

保持一个好的心态,切记心浮气躁、急功近利,停止疯狂的学习,总结也是一种进步。

好习惯受益终身

夏天的时候,绿油油的草坪却经常出现光秃的一角。

观察了几次,发现很多路人,行走到草坪一角的拐弯处时,没有进行直角转弯,而是从草坪的这一角,直穿而过,慢慢的这一角就变得光秃了。

终于明白了鲁大师(鲁迅)的那句话:世上本无路,走的人多了,便成了路。

看似不起眼的一件事情,有可能影响一个人的一生。

穿过草坪,看似走了捷径,走了第一次,就还会有第二次,慢慢的养成了习惯,潜移默化中,可能会影响自己的性格,可能会变成一个爱走捷径的人,所以习惯很重要。

那么从现在开始,培养好的习惯吧。

每天坚持锻炼,强身健体,每天总结自己的收获,每天总结自己学到的知识,写写笔记,发表博客,想必用不了多长时间,不是专家,也必将是大牛。

好习惯受益终生

珍惜眼前——享受生活

我们总是会回想过去,回想过去的天真烂漫,回想过去的无拘无束,回想过去的轻松自在,尤其当遇到困难,或者出现伤病,止不住的感叹过去的美好。

越是这样,就越要珍惜眼前,过好眼前的生活。让未来的自己回想过去,有更多美好的回忆。

人生不是打游戏,没有存档,不能重来。无论贫贱富贵,无论生老病死,所有的一切都是生活的一部分。包括无休止的加班,包括没完没了的BUG。

改完BUG,仰望一下深邃的夜空,加完班,欣赏一下美丽的日出,又何尝不可。

无论如何,生活都会继续,珍惜眼前,享受生活,活出真正的自我。

坚持就是胜利

有一种勇气叫做忍耐,有一种力量叫做坚持。

当夜幕掩盖了大地,明月还没升起,深山之中,踽踽独行,狼嚎猿啼。

只是一个行路人,前方是万仞高峰,不是一座,蜿蜒起伏。他要做的,是到达山的那一方。

没有捷径,只得一步步走下去。累了,靠着青石小憩;饿了,吃一口发硬的干粮;想家了,便加快脚步。

人,有目标的活着,便能化疲惫为动力,牢骚为奇迹。

而唯一能够做的,是坚持。

因为山的那一方,叫做成功。

贵有恒,何必三更起五更睡;最无益,只怕一日曝十日寒。

很多事情,一次两次,非常简单,但长时间的坚持,却是非常难的。

我们搞开发的为什么会感觉到累,可能就是因为没有锻炼身体,或者没有坚持锻炼身体。

坚持做一件事情,一个月、两个月,一年、两年,可能不算很难,那么坚持一辈子呢,有几个人能做到呢。

正是由于坚持很难,所以当我们真正开始坚持做一件事情的时候,必定会有收获,坚持的时间越长,收获越多。

坚持就是胜利!

说到容易做到难——修身养性

道理大家都懂,但说到容易做到难。

人都有七情六欲,不可能永远都有一个好心情、好心态。只要努力去做,并尽量保持一个好的心态,就已经非常不错了。

夜深人静,睡觉之前,闭目养神,让自己的心重归于宁静,思考得失,思考人生。不断修身养性,必定更容易保持好的心态。

总结

文笔太差,废话一堆,写了这么多,只想表达一个意思:希望大家坚持锻炼身体,保持一个好的心态,乐观面对生活,笑对人生。

近期热文推荐:

1.1,000+ 道 Java面试题及答案整理(2022最新版)

2.劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4.别再写满屏的爆爆爆炸类了,试试装饰器模式,这才是优雅的方式!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!

有关搞开发的为什么这么累?的更多相关文章

  1. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  2. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  3. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  4. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  5. ruby - 为什么 4.1%2 使用 Ruby 返回 0.0999999999999996?但是 4.2%2==0.2 - 2

    为什么4.1%2返回0.0999999999999996?但是4.2%2==0.2。 最佳答案 参见此处:WhatEveryProgrammerShouldKnowAboutFloating-PointArithmetic实数是无限的。计算机使用的位数有限(今天是32位、64位)。因此计算机进行的浮点运算不能代表所有的实数。0.1是这些数字之一。请注意,这不是与Ruby相关的问题,而是与所有编程语言相关的问题,因为它来自计算机表示实数的方式。 关于ruby-为什么4.1%2使用Ruby返

  6. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  7. ruby - ruby 中的 TOPLEVEL_BINDING 是什么? - 2

    它不等于主线程的binding,这个toplevel作用域是什么?此作用域与主线程中的binding有何不同?>ruby-e'putsTOPLEVEL_BINDING===binding'false 最佳答案 事实是,TOPLEVEL_BINDING始终引用Binding的预定义全局实例,而Kernel#binding创建的新实例>Binding每次封装当前执行上下文。在顶层,它们都包含相同的绑定(bind),但它们不是同一个对象,您无法使用==或===测试它们的绑定(bind)相等性。putsTOPLEVEL_BINDINGput

  8. ruby - Infinity 和 NaN 的类型是什么? - 2

    我可以得到Infinity和NaNn=9.0/0#=>Infinityn.class#=>Floatm=0/0.0#=>NaNm.class#=>Float但是当我想直接访问Infinity或NaN时:Infinity#=>uninitializedconstantInfinity(NameError)NaN#=>uninitializedconstantNaN(NameError)什么是Infinity和NaN?它们是对象、关键字还是其他东西? 最佳答案 您看到打印为Infinity和NaN的只是Float类的两个特殊实例的字符串

  9. ruby-on-rails - 如果 Object::try 被发送到一个 nil 对象,为什么它会起作用? - 2

    如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象

  10. ruby - 为什么 SecureRandom.uuid 创建一个唯一的字符串? - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?

随机推荐