写给程序员的n+1条建议

前言
为什么叫n+1条建议呢?因为更多的是写给自己,同时分享给他人,而且不只是工作,还有生活上面的个人体会,会持续更新,哈哈哈哈哈~嗝

建议
不要抱怨加班
互联网加班是常态,研究表明,人的大脑很少因为工作的繁忙而真正的感到疲倦,更多的是消极情绪,所以我们如果希望加班早点结束,应该让自己开心起来,真正的喜欢上加班正在做的事情,否则将是恶性循环。那么如何让自己喜欢上加班时候的重复劳动呢?《人性的弱点》这本书上说如果我们很讨厌一件事情,但是我们暗示自己很喜欢它,假装很喜欢它,可能慢慢的就真的喜欢上它了,就像你现在很难过,但是你强迫自己微笑起来,这个时候心情也会好很多,没错肢体上的改变也会影响情绪的改变,就像正在加班的你尝试着挺直腰板,面带微笑,没准一会就干完了自己认为需要一天才能完成的“重复劳动”。
人都是这样的:如果看到比自己更不幸的人或事,就会感到豁然开朗,想想那些已经逝去的人,或者有的人在战争中失去双腿,被炸到毁容,他们都做错什么了么?所以我们现在拥有的每一次呼吸,看到的每一缕阳光,听到的每一个声音,都是多么幸福的事情,小小的加班又算得了什么呢?
还有最重要的一点就是我们加班已经很惨了,如果不开心的话,身体会出问题,据说人也会变丑,那不是雪上加霜吗?可是如果面带微笑,积极面对,假装很喜欢这件事情,那对于我们这张帅脸来说不是锦上添花吗,哈哈哈。
话说回来,我们应该关注下会不会因为我们上班的时候过分关注于自我提高、容易走神等,导致效率低下。当然,假如我今天尝试全神贯注的工作,把一分一秒时间充分利用,除了吃饭的几分钟,全部的时间都用在工作上,充分的提高工作效率。最后还是会像平时一样加班的很晚,并且这种状态持续很久,这时候确实应该考虑到底是不是领导任务分配、和“企业文化”的问题了,并且果断的做出相应的决策!

时间往长的说,事情往快的做
领导要求评估作业周期,不要给自己挖坑,傻傻的评估的时间很短,应该讲时间尽可能评估的长一点,但是真正做事的时候赶着往前面做,相对于自己评估的周期提前完成。而且如果评估的时间很短,影响的不仅是自己,会连带着影响到qa、运维、领导评估、产品上线、工程延期、公司未来、人均GDP、人类的发展,好吧不扯了。
不要怕丢人,再厉害的大神也可能会有搞不定的事情,不要以为把时间说的很短就能突出自己很厉害,最后完不成才是真正的丢脸,万一事故很大,被炒了鱿鱼,甚至赔钱,呵呵。。。

不要因为一时工作的不顺利而想着离职
互联网公司大都一样(加班餐、弹性工作),不要因为暂时的不快乐,发生冲突,甚至离职,因为只是换了一个坑(虽然我还没有换过坑,不过听前辈是这么说的)。
试着调节自己的情绪,不要想着离职换了一份好工作之后再开心,换了一份更好的工作你就不是你了吗?你现在和换了更好的工作之后又什么本质的区别吗?你想换一份好工作不需要时间积累吗?人生有几个三年、五年,活在当下,过好每一天,其实你已经拥有一份很好的工作了,每天出门上班前,对着镜子里面的自己说:加油、开心。
当然,如果不爽持续了很久,那。。。就没有办法了,有苦说不出,不要把自己的身体气坏了,还要看自己的取舍吧。

写文档,做笔记,备份代码
写文档:对于工作中的业务,技术等一定要写文档记录下,可能我们认为这个东西短期内只会用这一次,但这始终是我们认为,永远想不到"上面"在想什么。而且同事也可能需要用到,节省了自己和他人的时间。所以一定要把自己的相关文档无私的记录在公司wiki上面。
做笔记:这里包括列清单、工作记录、写博客,这里就不赘述了,虽然介绍的少,但是是最重要的,你懂的。对于我来说,清单,最近在用滴答清单,工作记录,最近在用Evernote,博客,一直在用csdn。
备份代码:强迫症的矫情请收一收,不要没事了清理桌面,删除代码、demo,指不定,过一两个月,人家谁谁谁又管你要呢,或者你自己突然很需要,这个时候你只能点燃了一根香烟,然后抽完了它,然后又写了一遍~

没事不要让电脑关机
现在电脑一般不会特别卡,求求自己不要再强迫症了,下班前关闭电脑,提示微信正在运行,继续关闭?点击是,idea正在运行,继续关闭?点击是,谷歌浏览器已经打开了过个网页,继续关闭?点击是。。。五分钟之后终于关上了电脑。
次日早晨,打开印象笔记、谷歌浏览器、iterm、企业微信、idea、工作文档、邮件,然后找到昨天没有解决的bug的位置,然后打开昨天查到的csdn上面的解决方案,然后去印象笔记里面找到自己记录的思路,再打开iterm,笨拙的输上ssh root@xxxx -pxxx ,连上了公司的服务器,然后然后开心的一笑,终于可以继续解决bug啦,看一下时间,现在试上午十点半。
知道自己为啥老是加班了吗?知道自己为啥工作这么久了,还是那么点工资了吗?知道自己为啥没有女朋友了吗?
当然这里补充下,也包括“没事不要关浏览器、idea”,有很多强迫症,我就是,总喜欢整齐一点,简洁一点,没事了关关这个,关关那么,可是之后用到的时候又找不到,真的很麻烦且浪费时间,不知道算是优点还是缺点,希望自己努力的改正这个“优点”吧。

学习在于深度,不在于广度
大学课程各种语言都学了,毕业的时候好找工作吗? 为什么?培训班的学生人工智能、c++、c、c#、python、java、汇编、编译原理这些课程人家都学了吗?人家工资低吗?为什么?
我们应该把自己的"饭碗"技术比作树干,其他的锦上添花的技术必做树枝和树叶。只有树干长好的基础上树叶才能茁壮的成长,路人评判一棵树的好坏,大多也应该是看这棵树的树干吧,当然杠精,我们不要犟了好吗,只有树干没有叶子不是好树,你说的是北极,适当的增加枝叶肯定肯定也是有好处的,就像学校门前的迎客松,为什么校长总是没事了就喜欢修剪一下它呢?他闲的,钱烧的,还不是为了让它长得更加茁壮,可爱的学生自然就会多起来了。

有问题不要急着问大佬
准确的说不到万不得已不要问大佬
坐我旁边的是一位大神,每次一有问题就问他(有业务上的,也有技术上的),人家脾气好,那是人家脾气好,可是时间长了,大神也是会烦,大神日理万机,一个小时好几百,你耽误得起吗?没有人有义务教你,而且除了业务,大部分技术上的问题,可以通过百度解决。
说实话,你有没有发现,你去问大神问题,然后大神说“你再好好看看”,过了两分钟,居然自己解决了,而且是通过查百度。
自己解决出来的问题是自己的,大神解决的问题是大神的。

提给qa的东西多测几遍
旁边的大神每次也多次嘱咐我,你多测几遍再给她们,作为一个资深程序员这样教导我,一定是有理由的。
而对于我来说,为了省事情草草了事,最后得到的是,测试小姐姐气的妆都快花了,大家都得返工,项目之前设定相关时间也需要调整,如果超过deadline,总要有人背锅的吧,那。。。
qa的职责不是我们写完扔给人家测试,这是偏见,也是我之前一直有的错误的观念,甚至因为这个我还和小姐姐吵了起来,“我又不是qa,我全部都测了,那要你们干嘛”,这是我的原话,这里请原谅我少不更事,qa不是简单的验证功能性的(当然存在这种qa),qa更多是验证程序的健壮性、容错性,所以在我们这里应该保证程序最基本的功能性问题,减少代码的回溯,这样才能不影响产品的迅速迭代,不影响产品的推进。

弄清楚产品真正的意思,不要跨过产品跟售前直接交涉
程序写的再溜也是要赚钱的,我们是要吃饭的呀。
先不说产品设计的怎么样(我感觉我们的产品还是蛮厉害的,因为听说人家原来是一个蛮厉害的开发,感觉应该会体谅人一点吧),产品是开发和售前的一个枢纽,这里还需要排除前端把产品设计的概念理解错了这种情况,单单说我们自己,如果我们把产品理解错了,意味着最近这个开发周期白费了,意味着售前跟客户介绍的产品和真实情况不相符,意味着售前在欺骗用户,因为这这次POC gg了,好吧这个罪行就有点严重了。
为什么不要跨过产品跟售前交涉?我认为产品除了是开发和售前的枢纽,还相当于一个领导的地位,管理着产品的走向,开发和售前跨过产品进行交涉,可能会偏离产品的走向,如果出了问题,应该谁来承担?谁承担的起?对于产品来说会产生“空白区”,导致后续对产品的设计不佳,对于整个工程来说,如果出现因为开发和售前直接交涉产生某些问题,会减慢产品的迭代,造成无法挽回的损失。

没事了起来上个厕所
干我们这行的,哎,没啥其他不好的,就是背不好,颈椎不好,腰不好。
平常运动的时间本来就不多,所以没事了起来上个厕所,起来走走,走得路上如果没人的可以适当的摇头晃脑、左右摇摆,也算是舒活舒活筋骨,而且说不定上个厕所,刚才的bug突然就有灵感了呢,哼哼~
有条件的话报个健身房就更好了!

喝茶,喝大碗茶
喝茶提神醒脑,延年益寿,还能戒烟,反正我已经很久不抽烟了。
最主要的是能够落实上面一点,喝大碗茶,没事了起来上个厕所,哈哈。

善于总结
就像这篇文章,我花了两个小时,但是我相信在今后的工作中,我会少走弯路,事半功倍。

把目前做的产品当成自己产品,想想怎么把agent做好
旁边的大神反复提醒我的,记录下,感谢!
程序员不能单纯的做一个“技术工”,应该有自己的思想,即使不能把这些“思想”加进去,也不能让自己停止思考。
不论是做什么产品,都当做自己。
让自己发自内心的认为我能从这个产品中学习到很多东西,是系统的学习知识得不到的;
让自己发自内心的认为这个产品是我做的,是我的亲儿子;
让自己发自内心的认为目前这个产品是自己成功路上必不可少的,就算很累,就算成果是公司的,但是我们自己得到的不是自己认为不平衡的所谓的金钱能够衡量的;
让自己发自内心的认为我是在给自己干,我是在干自己的事业,其实想想也确实如此;
让自己发自内心的热爱现在的产品。

任务交叉进行,不要等
假如我需要安装一个weblogic,今天还有一个任务是写weblogic的相关agent,而写weblogic的agent代码,跟安装weblogic是毫不相关的两件事情,写agent只要能找到weblogic的核心jar包,看源码就可以了,安装weblogic只是为了验证,可是我潜意识里就喜欢等weblogic下载完了之后再去写agent。或者我需要用nginx搭建一个接口,跟着某个博客中教程一步一步做,正在下载nginx,这个时候完全可以接着看下面的步骤,熟悉一下呀,为什么一点要等nginx下载完了之后再往下看呢?tomcat正在运行着,先去浏览下美女图片,等加载好了再说,为什么不在这个过程中再检查下代码呢?
很多人都喜欢在进行某一件需要等的事情的时候,就真的在那里等,然后自己这个时候给自己冠冕堂皇的接口去“放松”。
其实我们应该交叉的进行任务,提高工作效率。

Pay atention to your atention
首先我们要热爱自己的工作,我在上面的第一点中曾经阐述过这一点,但是感觉这个观点应该单独成为一点。“《人性的弱点》这本书上说如果我们很讨厌一件事情,但是我们暗示自己很喜欢它,假装很喜欢它,可能慢慢的就真的喜欢上它了,就像你现在很难过,但是你强迫自己微笑起来,这个时候心情也会好很多,没错肢体上的改变也会影响情绪的改变,就像正在加班的你尝试着挺直腰板,面带微笑,没准一会就干完了自己认为需要一天才能完成的“重复劳动”。”,我们的一生,大部分时间是和工作打交道,如果不喜欢、不热爱自己的工作那不是在浪费生命吗?
其实有时候加班也可能是因为自己的不专注,导致工作效率低下,没事了浏览下美女图片,看一看今日头条,关心国家大事那工作要什么时候才能完成?
我认为真的需要锻炼自己的专注度,这不仅仅是在工作中。
学生时代,真正学习好的都是上课集中注意力,边学就边记住了,下课一般也没有见到别人多么多么努力。而那些公交车上学习的,走路拿着书的,上厕所学习的,这些人往往成绩不是很理想,因为养成了散漫的习惯,这样一直重复下去,会什么事情都做不好。
如何专注?Pay atention to your atention

工作中以解决每个小问题为目标
我的另一篇文章中有说及时反馈的重要性,如何让自己像打王者荣耀一样发了疯、拼了命、石乐志的学习?
在工作中,以每一个问题为目标,每解决一个问题给自己及时反馈,不仅自我提升,还能涨工资,哈哈哈哈哈哈哈哈~嗝

时间分配,优先级排序
给任务做好时间的分配和优先级的排序,干的时间长了,不能总是等着领导给活给一个做一个,可能会多个任务同时进行,这个时候一定要将近期的任务进行优先级排序,然后实施,不要最后一个任务也没有完成,这样就很尴尬。

不要在公司打游戏,或者可以找个小角落
千万不要在公司打游戏,因为你自己不上进没关系,如果影响到了同事,让同事产生了某些情绪,领导心里可能会波涛汹涌~
实在忍不住就找个小角落自己偷偷的玩~

代码问清楚,想清楚再开始写
之前领导给了一个活,周末加了两天班,自己认为自己很努力,写的很起劲,周一才发现自己写的是错的,跟客户的真实场景相差甚远,而且马上要给qa提测,这。。。
之前写一个模块的功能,写了半天逻辑一大堆,qa测了一堆bug,小姐姐也抱怨“Leesin水平不行呀,看看人家davis写的从来没有bug”,在davis的帮助下,也学习到很多的东西,在写代码前,一定把逻辑想清楚再写,这样看似写代码的时间少了,但是后期维护“返厂”的时间也少了,对于自己的提升是很大的。

一个程序员的价值是解决问题的能力
公司把你招过来不是让你提升自己,不是让你来学习的,是来干活的。
程序员的等级是怎么划分的?不是你会多少东西,你会python、java、c++就是p7了?会考试会背东西就很厉害了?应付面试还是可以的,但是公司不需要这样的人,也不会有长远的发展,一定要在项目中积累经验,在项目中学习,很多前辈跟我这么说,我直到现在也是半信半疑,落实他们说的,但是也没有放弃自主的学习,可能是“不撞南墙不回头把”,但是我已经逐渐的改变自己的思想,努力说服自己从工作中确实能学到很多东西,花更多的时间在工作上,而不是自主学习,这样对于自己的成长也是有很大的帮助的。
如果有哪位大牛发现我的想法错了,被领导的鸡汤灌傻了,请打醒我谢谢。

提升自己代码的美感,注意代码规范
因为这个被领导骂了,自己写的只有自己看得懂, 可能过段时间自己也看不懂了,领导看还需要一行一行的跟,而已包括命名规范又像python,又像java,四不像,对于整个项目就像一个苍蝇坏了一锅汤

解决工作中问题的时候以问题为中心,不要总是去考虑边缘的东西
就像工作中,解决问题的目的是要在docker中运行自己写的代码,还没运行起来呢,先去研究了半天docker,学习是业余时间学习的,而且学习了不一定用得到,不要在工作中去研究那些所谓自己感性去的东西,还是那句话,公司招你过来不是让你学习的。而应该目标很明确,我就是要运行自己写的代码,看看有没有什么问题,我就是要早点完成任务,好继续做下一个任务。

应不应该裸辞
这里目前持有疑问的态度,我的观点是最好不要,因为压力很大,如果一段时间不上班能够保证自己生活的正常运转,且自己有十足的信心、充分的准备倒也可以一试,这仅仅是我自己的观点哈,我目前达不到这样的条件,所以我暂时选择不裸辞。

正确使用csdn
允许我说句实话,csdn的页面不是很漂亮,但是是最大的,所以查东西还是蛮方便的,尤其是查完东西后,玩下拉,能看到很多类似问题的推荐,要善用这一点。

每个周五晚上反省自己
没错什么也不干,就是反省自己,也不是半个小时,是一晚上,千万不要认为浪费了一个晚上,其实是节约了周六、周日两天,而且工作一周,一定有所懈怠,想要给自己“放个假”。
当然可以选择周五晚上给自己放个小假,看两个小时电影,但是一定在睡觉前一个小时或者半个小时进行自我反省。

不要做手机的奴隶
虽然是程序员,但是也不能做手机的奴隶,不是不玩游戏就可以了,走了、吃饭玩手机,看似没有浪费时间,但是这会让走路变得很慢,吃饭变得很慢,实际吞噬了很多的时间,抛开理想,什么的不说,我们都这个年纪了,还有几年来玩手机?
好吧大话我也会说,但是吃饭玩手机,我是真的忍不住,哈哈哈哈哈哈哈嗝~但是我有这个意愿去改变。
对了走路玩手机是很危险的!!!

尽量早睡
虽然是程序员,经常加班熬夜,但是如果可以请一定要早睡,晚睡的危害就不用我说了,千万不要因为刚刚加完班回来,就想着已经十二点了破罐子破摔,再看会手机吧,打一局王者吧,犒劳下自己,请放下手机,立即入睡,因为指不定明天上头条的是谁。

过段时间看下自己总结的给自己的建议
如题。

 

所属分类:博客

 0条回应

我有话说:
    ×
    订阅图标按钮