当我谈 "加班有罪" 我在谈什么?
前言
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的时候等等。下班后多学习
上篇文章我也提出了,不加班不代表下班后不学习,我招人的时候,经常问的一个问题,就是你如何提高自己技术水平,很多人回答了我一个无法反驳的答案就是:"通过做公司的项目学习",但是这是远远不够的,一般如果只是这样,除非你天赋异禀。我是不相信你这样就能够成为大牛的。 比如我们需要了解工程实践,了解新的技术,了解一切帮助提高质量和效率的东西,了解一切提高沟通和管理的书籍等。
当我谈 "加班有罪" 我在谈什么?的更多相关文章
- 2017云计算开源峰会 你是想听Linux谈开源还是想听OpenStack谈开源?
		
2017年,善于把握机遇的企业们不是正在开源,就是走在去开源的路上-- 开源是不是就意味着免费? 开源企业就是要当"活雷锋"? 开源项目究竟如何运作?如何参与开源社区? 如何获得最 ...
 - [Linux容器]当我们谈容器的时候,我们在谈什么
		
Docker在当下很火,那么,当我们谈Docker,谈容器的时候,我们在谈什么? 或者说,你对Docker,对容器了解吗?容器,到底是怎么一回事儿? 这篇文章着重来讲一下Linux容器,为什么强调Li ...
 - 浅谈async、await关键字 => 深谈async、await关键字
		
前言 之前写过有关异步的文章,对这方面一直比较弱,感觉还是不太理解,于是会花点时间去好好学习这一块,我们由浅入深,文中若有叙述不稳妥之处,还请批评指正. 话题 (1)是不是将方法用async关键字标识 ...
 - Dart Essentials(读书笔记)——这本书非常大篇幅都在谈AngularDart,Zones概念没谈到
		
Dart Essentials 文件夹 1 Getting Started 2 Practical Dart 3 The Power of HTML5 with Dart 4 Developing a ...
 - TODO:浅谈pm2基本工作原理
		
TODO:浅谈pm2基本工作原理 要谈Node.js pm2的工作原理,需要先来了解撒旦(Satan)和上帝(God)的关系. 撒旦(Satan),主要指<圣经>中的堕天使(也称堕天使撒旦 ...
 - 浅谈RecyclerView(完美替代ListView,GridView)
		
Android RecyclerView 是Android5.0推出来的,导入support-v7包即可使用. 个人体验来说,RecyclerView绝对是一款功能强大的控件. 首先总结下Recycl ...
 - 浅谈FloatingActionButton(悬浮按钮)
		
一.介绍 这个类是继承自ImageView的,所以对于这个控件我们可以使用ImageView的所有属性 android.support.design.widget.FloatingActionButt ...
 - iOS应用架构谈 开篇
		
iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方案 iOS应用架构谈 动态部署方案 iOS应用架构谈 本地持久化方案 缘由 之前安居客iOS app的第二版架构大部分内容是 ...
 - 转载淘宝UED响应十日谈
		
响应式十日谈:楔子 响应式十日谈第一日:使用 rem 设置文字大小
 
随机推荐
- Unity IOS Build的Graphics API最好是固定Opengl ES 2.0
			
不要选择Automatic也不要选择Metal,因为这个选项可能会导致app在Iphone6上出现crash. 一个类似的crash堆栈: http://stackoverflow.com/quest ...
 - flume+kafka+spark streaming整合
			
1.安装好flume2.安装好kafka3.安装好spark4.流程说明: 日志文件->flume->kafka->spark streaming flume输入:文件 flume输 ...
 - VirusAnti_didiwei使用说明
			
前言 前段时间说要写的一个专杀框架敌敌畏,后改为强撸敌敌畏,以彰显样本查杀时的气势,现在第一版已经完成了,如下图所示,使用的时候强烈建议控制台使用放大模式,这样就可以看见我花了半天才画好了logo , ...
 - Tween Animation----Alpha渐变透明度动画
			
本博文是我自己操作过的并且能运行才给大家分享的 layout ----activity_main.xml 在res/新建一个anim文件夹,用来保存动画属性的xml 在anim文件夹里新建一个alph ...
 - iOS设计模式
			
一.代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现. 优势:解耦合 敏捷原则:开放-封闭原则 实例:tableview的 数据源delegate,通过和pro ...
 - 谈谈rem
			
用rem已久但是对于它的理解似乎一直都有偏差,使用的时候多采用的是html的font-size:62.5%;然后按照1rem=10px这样来使用.所以我一直不明白,这个rem到底哪里是相对单位了,也不 ...
 - BZOJ4596: [Shoi2016]黑暗前的幻想乡
			
Description 四年一度的幻想乡大选开始了,最近幻想乡最大的问题是很多来历不明的妖 怪涌入了幻想乡,扰乱了幻想乡昔日的秩序.但是幻想乡的建制派妖怪(人类) 博丽灵梦和八云紫等人整日高谈所有妖怪 ...
 - web常见错误提示总结
			
在写web程序的时候,经常会出现一些网页错误的数字提示,如果能够明白这些提示的含义,那对于调试程序是有极大帮助的.网上有很多这方面的总结,但为了适应自己的阅读习惯,以及日后的查找方便,就做了一些修改并 ...
 - [转]Android Studio 里搭建自动化测试框架Robotium
			
Android的自动化测试框架可选择的不多,后来选了Robotium(https://code.google.com/p/robotium/),它的语法及易用性挺像我们用在iOS里的KIF. 官方文档 ...
 - PL/SQL Developer如何连接64位的Oracle图解
			
在64位Win7系统上安装64位的Oracle数据库,但是没有对应的64位PL/SQL Developer,此时就不能使用PL/SQL Developer来进行直接连接的,所以要想实现连接还得需要其他 ...