我为什么强烈反对程序员加班?
【CSDN编者按】作者从2001年开始注册CSDN博客账号,也是从《程序员》杂志创刊号开始读起的老读者,二十年来,他走过弯路,也曾创造过巅峰,对于学习和职场发展道路,他也有许多自己独到的见解。本文干货满满,建议先收藏再看。
数学很差却考上了数学专业,是种什么体验?
当年,我们高中有一个经典笑话,说是有一个数学巨差无比的学生,最后考上了数学专业。嗯,没错这个人就是我,在我毕业多年以后,这个笑话仍然在我的高中母校广为流传。
当年高考的时候,我因1.5分之差与武汉大学的计算机专业擦肩而过,转而被调剂到了兰州大学的数学专业。虽然现在兰大的数学系很厉害,但是兰大理工科引以自豪的是有机化学高分子发光、现代物理、干旱农业这些专业,相对来讲,当年的数学专业并不强势,录取率还是很高的。
数学是一个有魔力的学科。即使毕业二十年了,每年我都会做几次噩梦,梦到自己回到数学系的课堂,甚至有一次我梦到自己考上了医学院,最后还是忍不住主动转回到数学系。然而不论怎样努力,我还是读不懂这个专业。
多读书,读好书
第一本给大家推荐的肯定是《程序员》,这是一个已经有了二十年历史的杂志,经过了市场以及无数程序员们的验证,对我本人的影响也非常大。我刚开始参加工作的时候,住在中国音乐学院附近,当时那边有一个报刊亭,某天下班回家路上,我无意间看到架子上有一本名为《程序员》的杂志。我记得当时第一眼看到它的时候特别激动,因为国内这种专业的杂志真的太少了,基本每一期出来的时候我都会买一本,期期不落。
2001年,有一期杂志上介绍了Python,我突然就对这个语言很感兴趣,于是就利用空闲时间自学了下,后来我就养成了一个习惯,刻意保持上班和下班用不同的技术写程序。在此也要感谢《程序员》杂志,帮我打开思维,拓宽了远在岗位之外的视野,堪称程序人生上的最佳辅助。
前几年,机缘巧合,我遇到了一本《深度学习的数学》,这本书深入浅出的介绍了深度学习算法的基本原理。非常可贵的是,它不需要读者有任何编程基础,甚至书中的示例是直接基于Excel实现。过去的一些技术讲座中,我曾经演示过基于这本书实现的PostgreSQL递归查询版本的深度学习算法。
还有一本书我觉得是不论什么专业的年轻朋友都可以读一下,叫《How to Read a Book》,翻译过来叫《如何阅读一本书》,英文原文很简单,在校生哪怕拿它当阅读材料都是ok的。它里面提到了阅读可以分为4个阶段,有的书可能快速诵读一遍就好;有的是值得我们去精读的,这一类读完后往往能提升知识;还有一些少数特别有价值的书,更适合去做深入的研究性质的分析阅读;最后的那一部分书籍值得我们去做扩展阅读,但这个就非常少了,可能需要花费数年的时间和精力在里面。这本书的两位作者其中之一是大百科全书的编辑,内容还是很不错的。
最后,向同行们尤其是在校生推荐《构建之法》,这本书涵盖了软件工程的重要环节和知识,无论是做哪个方向、哪个领域,用什么样的技术工具,都应该读一读这本书。越早读,收益越大,最好在读书时就学习一遍。
如今回想当初之所以想报考计算机专业,其实很大一定程度上是因为我觉得编程是一个有付出就会有回报的工作,计算机不会魔法,但它会忠诚地执行我们书写的代码,这是一个非常有趣的过程。即使二十多年过去了,我的想法依然没有变过。
这个行业确实高薪,但由此也带来了恶性循环,大家都看得到这里有利可图,参与进来的人越来越多,但企业的岗位是有限的,到最后只会择优留取,如果你的技术始终停滞不前,现在享受的人生在将来是要还债的。尤其是很多非本专业的人,在进入这个行业后没有意识到自身的短板,止步于得到这份职业的瞬间,水平没有提升,留的年头越久这份工作就会变得越危险。
在这种情况下,有些人就把注意力放在“质量不够数量来凑”上,沉迷于加班,当他成为管理者以后,也希望能靠加班来解决一切,这是一个非常可怕的行业现象。很多团队加班只是因为没有解决的办法,以此来向公司表达“我努力了” 的信号。