2020毕业季已到,一大批新人程序员正在进入职场。

职场不像学校,有人在这里获得了成功,也有人工作了很多年依旧默默无闻,甚至被埋没。从校园到职场的环境转变,从大学生到程序员的身份转变,你准备好了吗?面对这份职业,究竟应如何开始?

博文菌又重新认真翻阅了《程序员修炼之道:通向务实的最高境界(第2版)》一书,并中摘出了18条建言作为毕业寄语送给刚刚走上职场的你。

希望书中前辈的思想能带给你启迪,帮助你迅速完成身份转换,建立起正确的原则,为你的职业成长道路开个好头。

本书是一本畅销了 20 年的书

其中很多道理都是编程的底层原则

虽然它不是一本技术书

但可以让你的技术发挥更大的作用

如果想更深的感悟理解某条建言

你可以根据提示数字(如 提示3)

在书中找到对应的详细讲解

1

提示3 你有权选择

你的工作环境很糟糕?你的工作很无聊?尝试纠正它。不过,不要一直试下去。正如软件开发教父Martin Fowler 说的,“你可以去改变组织,或是让自己换一个组织。”

如果你的技术过时了,安排时间(你自己的时间)学习一些看起来有趣的新东西。这是一种自我投资,只有为此而加班才是合理的。

想远程工作?要求过了吗?如果他们说不行,就去找个说行的人。

这个行业给了你一系列非凡的机遇。积极主动点,掌控这些机遇。

2

提示4  提供选择,别找借口

如果你打算跟别人解释为什么做不完、为什么延期、为什么搞砸了,在此之前先等等,听一下自己的内心。讲给你显示器上的橡皮鸭听听,或是先对着猫说一遍。你的那些借口听起来合理吗?还是很愚蠢?你的老板听到会怎样?

把谈话在心里过一遍。其他人可能说什么?他们会问,“你试过这样做吗……”“为什么你不考虑一下那样做?”而你怎么回答?在你跑去告诉他们坏消息前,还有什么你可以再试试的?有时,你已经能知道他们会说什么,那么就直接帮他们搞定。

给出选择,而不是找借口。不要说搞不定;解释一下要做些什么才能挽救这个局面。打算敷衍搪塞前,试着驱走这些念头。如果实在做不到,那么就先和你的猫通个气。毕竟你想让这只可怜的小猫背锅……

3

提示 8  将质量要求视为需求问题

令人惊讶的是,许多用户宁愿今天就用上一个毛糙的软件,也不愿意多等上一年再用那个打磨光亮、功能齐备的版本(而且,实际上他们一年后真正需要的东西可能完全不同)。许多预算紧张的IT部门会同意这样的说法。今天就还不错的软件通常比构想中的明天那个完美的软件更讨人喜欢。如果你早点给用户一点东西玩,他们的反馈常常能引领你做出更好的最终方案。

4

提示10  批判性地分析你读到和听到的东西

永远不要低估商业主义的力量。网络搜索引擎有时仅仅是把热门的东西列在最前面而已,并不能说明这是你的最佳选择,而且内容提供商也可以花钱把它们的东西排到前列。书店有时仅仅是把一本书摆在显著的位置而已,并不能说明这是一本好书,甚至不能说明这本书很流行,可能只是有人花钱把它摆在了那里。

5

提示16  让复用变得更容易

你要努力的方向,应该是孕育出一个更容易找到和复用已有事物的环境,而不是自己

重新编写。如果复用不容易,人们就不会这么做。如果你未能复用,就有重复知识的风险。

6

提示29  去解决问题,而不是责备

Bug  是你的错还是别人的错并不重要。无论是谁的错,问题仍然要你来面对。

7

提示30   不要恐慌

人们很容易陷入恐慌,尤其是当最后期限逼近,或是老板或客户站在背后紧张凝视之下拼命找出问题原因时。然而,这时非常重要的是要退后一步冷静思考。对于那些你觉得是Bug 引起的症状,认真想想,到底是什么会导致这个样子。

如果你在看到  Bug  或  Bug  报告时的第一反应是“这不可能”,那你就大错特错了。不要在“但那不可能发生”的思路上浪费哪怕一个神经元,因为很明显它会发生,而且已经发生了。

调试时要注意不要短视。不要仅仅去纠正你所看到的症状:更有可能的是,实际的错误可能与你所观察到的尚有几步之遥,并且可能涉及到许多其他相关的事情。永远要去发掘问题的根本原因,而不仅仅停留在问题的表面现象。

8

提示 31   修代码前先让代码在测试中失败

这是调试最重要的原则。有时,只要强制自己对暴露  Bug  的环境进行隔离,就能获得对如何修  Bug  的洞察力。写测试这个动作,就会揭示出解决方案。

9

提示 43 避免占卜

很多时候,明天看起来会和今天差不多。但不要指望一定会这样。

10

*提示 65   尽早重构,经常重构 *

随着时间的推移,代码中的附带损害有可能致命。重构,和大多数事情一样,在问题很小的时候做起来更容易,要把它当作编码日常活动。你并不需要“用一周时间去重构”一块代码——那是在全面重写。即使重写这种程度的破坏性工作是必要的,也很可能无法立即完成。你要做的是,确保这个过程已被安排在日程表上,确保受影响代码的用户知道重写的计划,以及这么做会对他们有何影响。

11

提示 66   测试和找Bug无关

我们相信,测试获得的主要好处发生在你考虑测试及编写测试的时候,而不是在运行测试的时候。

12

提示 70  要对软件做测试,否则只能留给用户去做

毫无疑问,测试是编程的一部分,不该留给其他部门的人去做。测试、设计、编码——都是在编程。

13

提示 75  无人确切知道自己想要什么

需求很少停留在表面。通常情况下,它们被埋在层层的假设、误解和政治之下。更糟糕的是,需求通常根本不存在。

14

提示 76  程序员帮助人们理解他们想要什么

新手开发人员经常犯的错误是,把这种对需求的声明照单全收,然后实现对应方案。

根据我们的经验,最初对需求的声明,往往并非绝对化的要求。客户可能没有意识到这一点,但一定希望你能一起去探索。

15

提示 81  不要跳出框框思考——找到框框

问题不在于你是在框框里思考还是在框框外思考。问题在于找到框框——识别真正的约束条件。

当面对一个棘手的问题时,把你面前所有可能的解决途径都列举出来。不要忽略任何东西,无论听起来多么无用或愚蠢。现在遍历列出的清单并逐条解释为什么不能选择这条路。你确定吗?你能证明吗?

16

提示 83  敏捷不是个名词,敏捷有关你如何做事

敏捷是一个形容词:它指向你做事情的方式。你可以成为一名敏捷的开发人员。你可以加入一个采用敏捷实践的团队,一个对变化和挫折做出敏捷反应的团队。敏捷指你的风格,并不指你这个人。

17

提示 88 在用户需要时交付

如果交付周期是几年,试着把周期缩短到几个月。如果是几个月,就减少到几周。如果是一个四周的冲刺,那么试一下两周。如果是两周的冲刺,试试一周。然后到每天。最后是即期交付。请注意,能够即期交付并不意味着你必须每天每分钟都交付。只有当这样做在业务上有意义时,才有必要在用户需要时即期交付。

18

提示 94  每个Bug  只找一次

如果有某个Bug  成了现有测试的漏网之鱼,那么就需要添加一个新测试,以保证下一次能将其捕获。

一个Bug 一旦被人类测试员发现,这就应该是它被该人类测试员发现的最后一次。要立即修改自动化测试,以便这个特定的Bug,从此往后每次都被检查到——不能有任何例外,无论它多么琐碎,也无论开发者有多抱怨,或是不停唠叨“哦,永远不会再发生了”。

因为还会再发生的。我们只是没有时间追着Bug  跑,明明可以让自动化测试帮忙将其找出来。我们的时间必须用于编写新的代码——以及新的Bug。

★  关 于 本 书  ★

▊《程序员修炼之道:通向务实的最高境界(第2版)》

【美】David Thomas,Andrew Hunt 著

云风 译

  • 屹立 20 年影响力大作

  • 雄踞 “全球程序员读物”顶端

  • 面向未来重写全部内容,开发新兵走向卓越领袖

《程序员修炼之道》之所以在全球范围内广泛传播,被一代代开发者奉为圭臬,盖因它可以创造出真正的价值:或编写出更好的软件,或探究出编程的本质,而所有收获均不依赖于特定语言、框架和方法。时隔20年的新版,经过全面的重新选材、组织和编写,覆盖哲学、方法、工具、设计、解耦、并发、重构、需求、团队等务实话题的最佳实践及重大陷阱,以及易于改造、复用的架构技术。本书极具洞察力与趣味性,适合从初学者到架构师的各阶层读者潜心研读或增广见闻。

4周精读《程序员修炼之道》报名开启啦

在这里,可以分享自己的学习笔记,了解他人的阅读感悟。与广大读者相互交流、相互促进,掌握本书精髓,共同从开发新兵走向卓越领袖!活动期间还可获取丰厚福利!

7月10日正式开始,第一周任务已发布,即刻上车!

博文菌●互动时间

关于毕业

你有哪些难忘的回忆呢?

快来留言去和大家分享吧


更多科技资讯请见微信公众号:博文视点Broadview(微信号:bvbooks)

《程序员修炼之道》给所有毕业生的18条建言相关推荐

  1. 程序员修炼之道:从小工到专家阅读笔记01

    个人感受部分: 01.总是想要塑造一种自己全能的形象,害怕承认自己的无知和错误. 02.好的程序员对他或自己的职业生涯负责,并且不害怕承认无知和错误,直视我们的缺点--我们必须诚实.责任是我们要主动承 ...

  2. 《程序员修炼之道》读感

    利用春节假期的机会看了两遍<程序员修炼之道>,其实书中说的大多是浅显易懂的道理,但是多年的工作感受,多个项目的经历让我对这些道理有了更深的理解. "我的源码让猫吃了", ...

  3. java程序员修炼之道

    今天在论坛里看到了一位工作10年的java大牛总结的java程序员修炼之道,看完后给出的评价是:字字玑珠,深入人心,猛回头,自己一无是处··· 大牛告诉我们应该好好学习与修炼以下知识与技能 Java语 ...

  4. 《Ruby程序员修炼之道》(第2版)—第1章1.2节剖析Ruby的安装

    本节书摘来自异步社区<Ruby程序员修炼之道>一书中的第1章,第1.2节剖析Ruby的安装,作者[美]David A. Black(戴维 A. 布莱克),更多章节内容可以访问云栖社区&qu ...

  5. 不可能解开的谜题 (程序员修炼之道,评注者序)

    我打算不点评任何东西.我打算在整个过程中只提问题,不做解答.可能讲述一个场景或者围绕书中的场景或观点来提问题.不解释,不回答,不评点. --与编辑就评注版风格进行的讨论,代引言 一 有本书名叫< ...

  6. java程序员修炼之道 pdf_?活动丨和大咖云风来场1对1交流,分享《程序员修炼之道》心得...

    曾经获得无数赞誉,畅销20年经久不衰的IT领域经典著作--<程序员修炼之道>,多年来频繁出现在众多行业大咖和广大读者的推荐书单中.如今,这本广受推崇.好评无数的经典之作出新版啦! ▊< ...

  7. 《Ruby程序员修炼之道》(第2版)目录—导读

    版权 Ruby程序员修炼之道(第2版) • 著 [美] David A. Black 译 钟凤鸣 陈雪静 责任编辑 杨海玲 • 人民邮电出版社出版发行 北京市丰台区成寿寺路11号 邮编 100164 ...

  8. 做靠谱的程序员--《程序员修炼之道》读书报告

    这两天花了点时间把<程序员修炼之道>这本书读了,本来估计要一周时间才能读完,读了才发现作者绝对是人才啊,书写的生动有趣,一口气就读完了.随便摘录一下. 1.做一个靠谱的程序员,纯粹的程序员 ...

  9. 程序员修炼之道---读书随笔1

    终于开始读<程序员修炼之道>这本书了,初看这本书的名字,有点以前的道士修炼法术的意思,觉得很是好奇,作为一名程序员,该如何修炼我们自己呢? 这本书涵盖的主题从个人责任.职业发展,直到用于使 ...

最新文章

  1. solr5.5.4 添加mysql数据,实现同步更新
  2. Spark2.1.0之内置RPC框架
  3. Swift Package Manager 库制作
  4. python初学工资-python工资高还是java?
  5. python语言程序设计基础网课-程序设计基础(Python语言)答案
  6. 洛谷P3349:小星星(容斥dp)
  7. 什么是索引?索引类型有几种,各有什么特点?
  8. 理解矩阵背后的现实意义
  9. eclipse 中配置外部 tomcat 的debug
  10. Python 过滤a文件中每一行内容,保存到b文件中
  11. 编译原理第三版课后习题
  12. 从音箱入门到高手必看知识(一)—— 音箱初级知识
  13. 2021-07-08郝斌C语言笔记
  14. python 图灵 微信_Python使用微信接入图灵机器人
  15. C语言——数组定义及使用
  16. acm 算法 java_有关acm算法的一道java题
  17. 计算机中文输入法教案,智能ABC输入法教案
  18. 局域网传输文件详解(转)
  19. android11升级名单vivo,vivo新系统升级名单已经公布,第一批11部手机入选
  20. 平凡之路上,请不要后会无期

热门文章

  1. poi设置excel行高
  2. T88 excel 行高列宽单位
  3. 面试28k职位,老乡面试官从HashCode到HashMap给我讲了一下午!「回家赶忙整理出1.6万字的面试材料」
  4. spring-data-redis 使用pipeline批量设置过期时间的bug
  5. react redux Reduc-saga实现(1) take put takeEvery createSagaMiddleware等
  6. 神器必会!“世界上最好的编辑器Source Insight”
  7. gost搭建正向代理及配置
  8. 华科计算机组成原理运算器ALU实验(LogisimEducoder)
  9. DVWA--XSS(Reflected)(全难度)
  10. 宜信容器云排错工具集