杂文笔记

    返回首页    发表留言
本文作者:李德强
          上班时你在做什么
 
 

        上班时你在做什么?这个问题问的很直白,回答也很肯定:当然时工作了!然而真的是这样吗?不见得,我先后在三家公司工作过,有初创业的小企业,有上市的大企业,也有不大不小中等企业,从业到现在已经十几年了,我见过各类的同事和领导他们在上班是也是在辛勤的工作吗?事实上,回答是否定的,包括我自己在内,上班时也不会百分之百的投入工作。那么除了工作之外大家都在做什么呢?我想仔细谈谈个这个问题,并且在这里我还会回答很多朋友问我的一个问题:“为什么你在上班时总是那么轻闲?别的程序员每天辛苦的加班,没日没夜的干活,你为什么还有大把的时间学习,写文章,做自己想做的事?

        我首先来说一说与工作有关的事:领导都希望员工能认真的去工作,但是多数情况下你无法投入全部精力去工作。常常会有其它的事把你的思路打断:项目组内常常开会,如果你是个老程序员你就会明白,大多数的会议都以没有结果而告终,多数的问题也没有得到解决,只会浪费大把的时间;还没等手里的工作做完,领导又给你分配了另外一些工作,还说急着用,要先这些;常常会有同事向你请教一些问题,有的问题你在三五分钟之内就能解决,但有的问题你花了大把的时间也没解决,而又耽误了你自己的工作;常常有人在你身旁大声讨论问题,吵的你无法安心工作……

        再来说说与工作无关的事:上班时你有没有偷偷的玩手机,跟朋友、家人聊上几句?有没有偷偷打开浏览器看看新闻奇事,逛逛购物网站买点东西?有没有偷偷看看电影、电视、娱乐节目?跟同事闲聊天;想想中午应该吃点什么,去哪吃饭……

        因为我是做技术的程序员,所以还是以编程为切入点来谈谈这些事。很多同事以为:编程不过就是按照客户的要求写代码,能够把客户的要求变成软件程序不就行了吗?有什么技术含量?现在社会上有那么多的软件开发培训学校,去学几个月就完全可以胜任程序员的职位了(关于编程是否有技术含量请参见《技术真的没用吗》)还有那么多的开源软件,那么多的开源代码,为什么要重复造轮子(请参见《喜欢重复造轮子》)?关于这些问题先请大家想想关于“纸上谈兵”的故事:战国时赵奢之子赵括学兵法,谈起兵事来非常能说,连赵奢都辩论不过他,但赵奢对儿子的评价是“纸上谈兵”。因为赵括对兵事根本不重视,他觉得用兵打仗非常简单,手拿兵书指挥军队没有任何难度,他自己带领一支军队肯定能扫平天下。结果呢?赵括带兵打仗打的一塌糊涂,最后兵败被杀,从此留下这句“纸上谈兵”的成语。这里我们看到了问题所在,对问题不够重视,也就不会在这些问题上花费精力,更不会去想着如何努力做好它,嘴上说的天花乱坠、夸夸其谈,实际做起事来乱七八糟、一塌糊涂,最终的结果只有失败。编程也是一样,很多从事这方面工作的朋友对编程根本不重视,觉得编程很简单,没有什么技术含量,于是导致了很不好的结果。比如:编程实现一个功能,从来不关心设计,不关心算法,不关心性能,对他们来说这些都是大学里考试用的,这些跟工作无关,能够实现功能才是主要的。于是自己开使编写代码,按要求把客户的需求变成程序,当程序出现了问题,也从来不去思考是什么原因导致的,只知道上网一查,copy一段代码就搞定了,在代码的其它地方出现类似的问题的时候依然不会去思考,直接copy代码就解决了。再加上后续客户的需求不断的变更,代码不断的修改……最后他们写的代码大量冗余,逻辑混乱,业务复杂,到处是补丁,一塌糊涂。于是当软件需要更新版本或项目上线的时候,这些朋友心惊胆战,生怕自己的程序出现问题,一旦出现了问题只好立即对应修改,但程序本身已经被修改过无数遍,补丁上面打补丁,打到没法再打了,就像济公身上穿的破僧衣,已经烂到不能再烂了,你想给他的破衣服上打个补丁就会把其它已经打好的补丁也撕破,于是还要给撕破的地方再打补丁……这是一件非常痛苦的事。他们往往没日没夜的加班去解决这样或那样的问题,一边工作一边大声喊自己是苦逼的程序员。

        下面我们来分析一下,为什么很多朋友在工作时会出现这种状况:

  • 不重视编程:认为编程无非就是顺序、分支和循环,把需求变成代码,仅此而已。
  • 不会思考和设计:从不在编程之前思考如何合理、高效的完成工作,从不做合理的设计(如果没有工程师的设计,那些工地上的工人怎么能把大厦盖好?即使盖好了你敢进去住吗?)。好的设计会为你带来很大的好处。也会让你的程序简洁明了、逻辑清晰。
  • 不独立解决问题:遇到问题从不思考如何解决,而是用拿来主义的思想直接询问别人或是在互联网上查找答案,而解决了问题之后也从不去思考:“这些问题是如何产生的?我的程序为什么会出现这种问题?这问题是什么原因导致的?以后如何避免类似问题的发生?”(请参见《自我学习与自我解决问题》)即使问题解决了,自己的技术能力也没有任何的提升,下次遇到类似的问题仍然不会如何解决。
  • 不做笔记:遇到好的代码,好的办法,好的想法都要记下来,认真的做好笔记,没有积累也就没有进步。中国有句老话:“好记性不如烂笔头!”
  • 不喜欢学习:工作之余都在做工作无关的事,自身能力不提高工作又怎么会有效率,只能每天去加班,去拼命工作。
  • 工作混日子:工作就是混日子,能混一天算一天,问题解决不了就解决不了,你还能吃了我?工作能拖拉就拖拉,大不了就加班,反正大家都是在加班。

        现在我来谈谈在文章最开始时很多朋友问我的问题:“为什么你在上班时总是那么轻闲?别的程序员每天辛苦的加班,没日没夜的干活,你为什么还有大把的时间学习,写文章,做自己想做的事?”

        那些上班偷懒、混日子的朋友,他们只要是有时间就会玩手机、看电影、聊天、看网页(其实多数时间是在偷懒)。他们的工作状态是在恶性循环:平时越偷懒,工作越没效率;不学习,自身能力上不去,功能很小的程序也要写很久,遇到问题几天都解决不了,工作越来越累,越来越辛苦,只好没完没了的加班,没完没了的抱怨说程序员很苦逼。而我在上班首要任务是努力把自己的工作做好。然后在有多余时间的时多思考、多手动、多总结、多读书,不断的学习,不断的提升自己的技术能力,做一些其它的小程序,学一些其它的技术知识。

        而我在上班时的工作状态是良性循环:越努力的工作,越努力的学习,自身的技术能力就越高,解决问题的能力就越强,遇到难题很快就解决了,遇到以前遇到过的问题会更加轻松的解决,不会浪费宝贵的时间,于是我的工作效率很高,上班时反而不累,手头的工作只需要很短的时间就做完了,而且做的又快又好。

    返回首页    返回顶部
  看不清?点击刷新

 

  Copyright © 2015-2018 问渠网 辽ICP备15013245号