美文网首页
ThePragmaticProgrammer|技术类职场的经验分

ThePragmaticProgrammer|技术类职场的经验分

作者: ericazhan | 来源:发表于2018-05-06 18:42 被阅读79次

技术工作中,看得见的知识,浩瀚无垠;看不见的经验,往往意会不可言传。你初入职场,希望得到前辈的指点;你是公司前辈,带着新人干活却一言难尽。玄而又玄的内隐职场经验如何外化?Andrew Hunt,David Thomas用这本《程序员的思维修炼》给了很好的解答。

此书写给程序员,也不乏各种通用道理,尤其适用于技术类职场。全书几十条经验tips,有具体实例,有生动类比,独立又彼此交织,形成一张实用经验网。每一点都是让自己成长的“内心的小声音”。每次实践一点,便内化一点,慢慢提高。看完本书,非程序员的我,立刻改良了自己的一些工作习惯,恩,就是这么实用。

核心理念

技术职场的生存法则,一言以蔽之:注重实效pragmatism。如果加上一个前提,便是:关心你的技艺Care about your craft. 只有关心自己的工作结果的人,才会寻求一切可以解决问题的方法,寻求各种优化策略。

通用的职场态度

  • 承担责任

    • 及时备份,纸质版记得扫描,电子版每3个月更新一次移动硬盘里的备份;
    • 提问的艺术:不要问老板怎么办,而是提供多个解决方案选项;
    • 主动准备应急方案,永远有plan B;
    • Sign your work,在你的工作(图纸,代码,模型etc)签上你的名字;
    • 勇敢承认自己需要帮助,在去除掉所有蹩脚的理由之后。
  • 有序

    • 项目文件命名有规律,项目+日期,每次修改增版本,保证资料可回溯;
    • 写日报、周报、年报,总结+计划;省脑力的做法是使用固定模板;
    • 整理自己的工作经验,写standard procedure;大脑不是用来记知识的,经验写下来直接存储为电子版,方便以后的搜索与复用,也方便分享给同事带新人。
  • 知识就是财富,所有的投资知识也适用于知识。

    • 定投——持续学习;——这是最重要的
    • 管理风险——多元学习;
    • 低买高卖——主动学习新知识;
    • 周期性评估和平衡——盘点自己的知识与技能。
  • 不要重复自己

    • 不浪费脑力重新思考自己做过的事情,直接调取以前整理的工作经验;
    • 重复的工作内容重复,让电脑做,自动化——EXCEL,SHELL,python;
    • 主动用不同的方式工作,做的比期待的更好,主动提高工作难度,像游戏一样;
    • 还是重复的话,考虑换工作,前提是把之前的工作做得很好。
  • 交流:如何说与说什么同等重要

    • 同理心,了解听众。
    • 给老板汇报:省掉各种细节,金字塔原则开门见山,列举遇到的困难及解决方案,展示成果;
    • 与同事交流:共同利益/目标是什么,彼此责任各是什么;
    • 对外交流:优先级最高,直接展示成果,内部口径一致。

注重实效的工具

  • 纯文本的威力
    持久的储存知识的最佳格式是纯文本。

    同意,所以写作用Markdown,所以我们仿真建模型用命令行。
    好处:保证不过时,不会因为软件版本差异而造成数据损失,查看10年前的模型也没问题。

    行动:选择一款强大好用的编辑器,专注学习它。只会基本功能是不够的。目标是:避免复制粘贴式操作,减少需要敲击键盘数。

    作者推荐:Emacs,vi/vim。
    我的选择是Notepad++,看完书立刻搜索其高级功能,总结在此:土木|Notepad++使用技巧收集 - 简书

  • 利用shell批量处理工作
    比如文件目录树生成,有用!不需要一个一个复制粘贴子文件名字到Ansys的main文件了。
    更多技巧待学。

  • 学会一种文本操控语言
    python可以吧?正在学习。

  • 源码控制
    可以回溯历史版本,给自己撤销犯错的机会。

    行动:买私人github库,存档。

  • 调试
    Don't panic
    能再现bug才算真正的懂了问题在哪

    行动:收集bug/error清单,整理并共享这个检查列表

关于代码

土木仿真角度:

  • 早测试,常测试,自动测试
    写一点测试一点;
    必须测试的:质量,振型

  • 易于测试的代码
    各单元解耦,独立测试;
    定点测试,一次只有一个error

  • 用证据说话
    保持多疑,用证据说话;
    如果觉得某事不会发生,不要停在心里想,保持怀疑精神,使用assert语句保持监测(断言式编程)。
    比如ANSYS中,时刻调取ELIST,RLIST,用参数数据证明模型的正确,control我们的模型。

  • 把注释说明放在文本里面,不要拴在外面
    文件抬头写修订历史;
    特殊取值必须说明;
    参数命名要相关.

书中的一些经验,因为我暂时还不懂C++,java,pearl,所以并没体会到其中精妙。好在这本书耐读,大道至简。等回头编程技能更棒的时候,我会再重读此书,一定还有收获。

真希望各个行业都有这样的朴素而智慧的经验分享。

相关文章

网友评论

      本文标题:ThePragmaticProgrammer|技术类职场的经验分

      本文链接:https://www.haomeiwen.com/subject/tueurftx.html