前言

PS. 本文只描述IT行业。

博客园果真人气比较高,我之前准备写个 "领域驱动系列",然后感觉大家不感兴趣,看来用的人不多,所以一直没动力续,但是昨天写了 [加班有罪] (http://www.cnblogs.com/cnblogsfans/p/4431160.html), 却收到了很多个赞,让我感到有点意外。

我今天看了很多评论,感觉很欣慰,大家其实对加班的看法和担忧其实都是正确的,但是很多人可能忽略了一些前提,如果盲目的下班就走,数着秒下班,那我写这篇文章就有罪了。

为什么加班是有罪的,[加班有罪] (http://www.cnblogs.com/cnblogsfans/p/4431160.html) 这篇文章已经做了较多的阐述,那么光说加班有罪是不够的,公司或者老板可以提倡不加班的文化,但是如何才能做到不加班?直接一刀切,到六点就赶大家走这样肯定是不够的,可能很多公司如果现在立马这么做,可能就倒闭了,员工可能还得找工作。

加班有罪的对立面也不一定是正确的

我们很多人想问题,可能是非黑即白,我们提倡不加班,但是我们要想如何不加班,如果我们技术水平低,别人1个小时做完的,你可能一天也做不完,如果你写的程序员出现了紧急的bug, 如果你上班时间在看电影,QQ等,你再不加班把任务做完,哪个公司敢用你? 我前篇文章说过,并没有说你一分钟都不能多待,比如每个月有8个小时的加班,我认为都是正常的。

如果你上班时间也没有好好干,那么不加班更有罪,因为你是上班时间休息了。

如何不加班?

我们实行敏捷很多年了,但是同样有很多人一说到敏捷,就只知道SCRUM, 没有抓住敏捷的本质。就算过程用SCRUM, 那么其实也就是一个管理层或者从上到下的东西,但是并没有对程序员每日的工作有多大的帮助。我们同样需要很多的工程实践,技术成长等来提高我们每天的工作效率和质量。

那么我认为从程序员的角度,如果你想理直气壮的准点走人,那么一下几点可供参考。

  • 工作时间要保证

    我个人觉得上班时间工作是天经地义的,可能有的人羡慕Google等有更宽松的时间,羡慕很多公司都不需要工作8小时,但是前提先想一想,我们是否有那些公司的工程师的能力和效率,如果没有,还是在上班时间好好工作,如果有,与其羡慕,不如赶紧加入你羡慕的公司,前提是人家要你。

  • 上班的时间要用来工作

    我们很多人上班时间一会儿刷下微博,一会儿看看微信,尤其是QQ闪个不停,还有号称是要学习的,加了一堆技术的群,美其名曰学习技术,我也加了些群看看,实际上发现基本都在里面灌水。原因很简单,有的时候问个问题,基本问问题的人描述不清,别人怎么回答? 问问题,你就不能上StackOverflow吗? 原因是自己只会用百度,好吧,我无话可说。

  • 进公司隐瞒自己技术水平

    现在IT行业有个怪圈,我觉得迟早得拨乱反正,本来作为一个程序员答答题,上机写写程序等是非常正常的,但是你要是这样来招人,很多人就很不乐意,说我没那么多时间,我只给公司请了2个小时假来面试,你看着他的简历应该是会的样子,这就极其考验面试官,很多时候越是写程序不行的,越是最比较厉害,尤其是看到概念比较多的。你还真不容易判断出他不行,但是一进来,你发现就完全不行,ASP.NET 你让写个HttpModule不会,MVC你让统一地方处理一下异常不会,你说做权限控制,他写不了一个Filter, 你说WCF 想扩展功能写个Behavior 他说我们用的时候就是顶一个接口标记Contract, 深入的没看过,总之各种不行。然后你布置个很简单的任务,就是说一个高级程序员必须会的,他得花时间再学习,然后才能有产出,你说怎么办?上班时间都在学习,你说活还干吗?

    针对上面的情况,一种方案是直接不用这个人,第二种就是要争取个人同意让他多干一会儿,不然你还得背上黄世仁的名,其他人看到你说的不加班是假的。

  • 降低自己的薪水,给自己留学习的时间

    我们有的时候,确实进来后,发现周围的人都比自己强,而自己的薪水也和他们差不多,如何衡量,就是如果你的薪水比市场其它公司要高不少,而且你进来后发现你比别人差不少,就证明你要多了,这样公司可能按同级别薪水的人要求你,你的产出肯定是比别人少,这样你想完成任务,就得加班,那么就到了我说的恶心循环,最好的方式就是主动降点薪水,然后留下班后的时间给自己学习,公司也不会对你要求太多。其实这样,你的收益更大。

  • 提高工作效率,改变工作方式
    我们很多人,做事方式和方法有问题,比如连需求都没搞清楚,就开始写代码,然后删了又删,改了又该,这样很简单的一个东西,必然要做很长时间。有的人代码写完后自己下次都要想很久才能知道啥意思,这就需要我们多改进自己的工作方式,多向效率高的程序员学习等。 同时有很多东西提高效率,比如你是否可以并行的做一些事情来提高效率,比如使用Resharper就可以大大提高效率,写单元测试可以避免你为了测一个方法每次都要把系统跑起来debug呢?持续集成可以帮助你把你修复bug更靠近你产生bug的时候等等。

  • 下班后多学习

    上篇文章我也提出了,不加班不代表下班后不学习,我招人的时候,经常问的一个问题,就是你如何提高自己技术水平,很多人回答了我一个无法反驳的答案就是:"通过做公司的项目学习",但是这是远远不够的,一般如果只是这样,除非你天赋异禀。我是不相信你这样就能够成为大牛的。 比如我们需要了解工程实践,了解新的技术,了解一切帮助提高质量和效率的东西,了解一切提高沟通和管理的书籍等。

当我谈 "加班有罪" 我在谈什么?的更多相关文章

  1. 2017云计算开源峰会 你是想听Linux谈开源还是想听OpenStack谈开源?

    2017年,善于把握机遇的企业们不是正在开源,就是走在去开源的路上-- 开源是不是就意味着免费? 开源企业就是要当"活雷锋"? 开源项目究竟如何运作?如何参与开源社区? 如何获得最 ...

  2. [Linux容器]当我们谈容器的时候,我们在谈什么

    Docker在当下很火,那么,当我们谈Docker,谈容器的时候,我们在谈什么? 或者说,你对Docker,对容器了解吗?容器,到底是怎么一回事儿? 这篇文章着重来讲一下Linux容器,为什么强调Li ...

  3. 浅谈async、await关键字 => 深谈async、await关键字

    前言 之前写过有关异步的文章,对这方面一直比较弱,感觉还是不太理解,于是会花点时间去好好学习这一块,我们由浅入深,文中若有叙述不稳妥之处,还请批评指正. 话题 (1)是不是将方法用async关键字标识 ...

  4. Dart Essentials(读书笔记)——这本书非常大篇幅都在谈AngularDart,Zones概念没谈到

    Dart Essentials 文件夹 1 Getting Started 2 Practical Dart 3 The Power of HTML5 with Dart 4 Developing a ...

  5. TODO:浅谈pm2基本工作原理

    TODO:浅谈pm2基本工作原理 要谈Node.js pm2的工作原理,需要先来了解撒旦(Satan)和上帝(God)的关系. 撒旦(Satan),主要指<圣经>中的堕天使(也称堕天使撒旦 ...

  6. 浅谈RecyclerView(完美替代ListView,GridView)

    Android RecyclerView 是Android5.0推出来的,导入support-v7包即可使用. 个人体验来说,RecyclerView绝对是一款功能强大的控件. 首先总结下Recycl ...

  7. 浅谈FloatingActionButton(悬浮按钮)

    一.介绍 这个类是继承自ImageView的,所以对于这个控件我们可以使用ImageView的所有属性 android.support.design.widget.FloatingActionButt ...

  8. iOS应用架构谈 开篇

    iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方案 iOS应用架构谈 动态部署方案 iOS应用架构谈 本地持久化方案 缘由 之前安居客iOS app的第二版架构大部分内容是 ...

  9. 转载淘宝UED响应十日谈

    响应式十日谈:楔子 响应式十日谈第一日:使用 rem 设置文字大小

随机推荐

  1. Python 判断变量的类型

    这里有两种方法.type 和isinstance import types aaa = 0 print type(aaa) if type(aaa) is types.IntType: print & ...

  2. iOS中的单例

    #import "Singleton.h" @implementation Singleton static Singleton *singleton = nil; + (Sing ...

  3. PTAM 编译安装 on MAC(mavericks)

    最近有需要研究PTAM,所以需要在我的MAC上编译安装,整个过程让人非常崩溃各种问题陷阱.现在整理一下编译过程.我已经成功在MAC上编译.那么接下来我会详细讲解整个过程: 注意: 部分链接可能需要FQ ...

  4. 好用的绿色工具(mss2sql,jd-gui)

    1.sql server导入mysql 神器(速度不是一般的快) mss2sql.exe 2.java 反序列化工具 jd-gui.exe

  5. [VijosP1764]Dual Matrices 题解

    题目大意: 一个N行M列的二维矩阵,矩阵的每个位置上是一个绝对值不超过1000的整数.你需要找到两个不相交的A*B的连续子矩形,使得这两个矩形包含的元素之和尽量大. 思路: 预处理,n2时间算出每个点 ...

  6. BeautifulSoup

    参考:http://www.freebuf.com/news/special/96763.html 相关资料:http://www.jb51.net/article/65287.htm 1.Pytho ...

  7. CI框架使用PHPmail插件发送QQ邮件:

    有助请顶,不好请评.0:33 2016/3/12CI框架使用PHPmail插件发送QQ邮件:发送成功,不过修改了主机参数,还包含了一个phpmail中的一个另外的文件,详见下方:参见:http://c ...

  8. 【UISegmentedControl】-  分段控件

    一.初始化 二.常见的属性 1.segmentedControlStyle属性:设置基本的样式 2.momentary属性:设置在点击后是否恢复原样 . 3.numberOfSegments属性:只读 ...

  9. IE11 上的3个bug

    1.IE 11在popstate上无法正常使用,所以,需要使用老方法hashchange.有一个叫History.js的library,是可以解决这个问题.但如果url在"#"后跟 ...

  10. Akka-remote使用入门

    在上一篇文章中讲了akka-actor的简单使用,那主要是展现了akka在一台机器上的并发应用,这一篇接着介绍akka-remote使用,简单了解akka在不同机器上的并发应用.我们知道,在一台机器上 ...