Skip to content
Have a brief look

《左耳听风》

技术变现

  • 从事编程这个事可以做到,完全靠自己的手艺,不依赖任何人或公司去生活。

  • 我完全没有必要通过打工听人安排而活着,而是反过来通过在公司工作提高自己的技能,让自己可以更为独立和自由地生活。

  • 对工作中没有技术含量的活,想尽办法提高效率,比如提高代码重用度、自动化、简化掉需求,少干一些活。这样就有更多时间去研究公司内外更为核心更有技术含量的技术

  • 要去经历大多数人经历不到的,要把学习时间花在那些比较难的地方。

  • 要写文章就要写没有人写过的,或是别人写过,但我能写得更好的。

  • 我们可能都是在写一样的 for(int i=0; i<n; i++) 语句,但是,你写在那个地方一文不值,而我写在这个地方,这行代码就值 2000 元。

如何让自己的技能更值钱?

1、聚沙成塔,积流成河。

通过实现一个个小成功从而达成一个大成功。

先让身边的人有求于自己,经过口碑积累别人的推荐,让外部的人注意到自己。

通过正向反馈激励自己学习更多新技术,达到一个正向循环。

2、关注有价值的东西。

何为有价值?物以稀为贵,供不应求,就是有价值。

这要求我们不仅要看到市场,还要看到技术的趋势。分辨出什么是主流技术,什么是过渡式技术。

关于市场需求:看看各个公司都在研究什么,遇到什么难题。不缺搬砖的人,缺的是能解决技术难题的人,能提高团队收入的人。

关于技术趋势:以史为镜,可以知兴替。看清技术趋势,需要了解技术历史。一项新技术是否顺应发展趋势,需要将老技术的本质吃透。同时,如果一项技术顺应趋势,定会有大型的商业公司支持。

故而,常问自己:这个技术解决什么问题?为什么别的技术做不到?为什么是这样解决的?

3、寻找能体现价值的地方。

高速发展的公司,技术人员的价值可以最大化。

大公司当螺丝钉,起步公司精力放在业务上,不需要高精尖技术。

较好的成长路径是,先进入大公司学习技术和成功的经验方法,再找到高速成长的公司,这样可以实现更多的价值。

4、动手能力至关重要。

5、关注技术付费点。

技术付费点体现在两处:帮别人挣钱、帮别人省钱。

6、提升能力和经历。

付费的前提是信任,有足够的能力和经历别人才能给你机会。

7、寻找有价值的信息源。

优质的信息源,可以让人更快地成长。对于技术人员而言,优质信息源基本来自西方世界。

学会使用 Google,如输入 xxx Best PracticeBest programming resource

不断提升英文能力。

8、输出观点和价值。

9、朋友圈很重要。

程序员应知应会

每个程序员应读的书

  • 《代码大全》
  • 《程序员修炼之道》
  • 《计算机的构造和解释》
  • 《算法导论》
  • 《设计模式》
  • 《重构》
  • 《人月神话》
  • 《代码整洁之道》
  • 《Effective C++》/《More Effective C++》
  • 《Unix 编程艺术》《Unix 高级环境编程》

What is the single most influential book every programmer should read?

每个搞计算机专业的学生应有的知识

作品比简历更优参考意义。项目经历、对开源软件的贡献、个人网站等。

学会与人交流,包括如何写演示文稿,以及面对质疑时如何与人辩论的能力。

计算机专业人士所需要的硬技能:工程类数学、系统管理、程序设计语言、离散数学等。

What every computer science major should know

LinkedIn 高效的代码复查技巧

  • 通过建立公司范围的 Code Review 工具,这就可以做跨团队的 Code Review。

  • Code Review 的经验作为员工晋升的参考因素之一。

  • Reviewer 可能不了解某块代码修改的背景和目的,因此要求对提交代码写说明文档。

  • 为提高员工积极性,LinkedIn 的代码复查工具允许提出“这段代码很棒”之类的话语,以便让好代码的作者得到鼓励。

  • 不但要 Review 提交者的代码,还要 Reivew 提交者做过的测试。看看其测试用例是否合理,从而提出测试建议。

LinkedIn’s Tips for Highly Effective Code Review

从 CODE REVIEW 谈如何做技术

编程语言和代码质量的研究报告

A Large-Scale Study of Programming Languages and Code Quality in Github

电子书:《C++ 软件性能优化》

C++ 程序员必读书籍。

Optimizing Software in C++ - Agner Fog

前端练级攻略

  • HTML5:《HTML5 权威指南》;SVG、Canvas 和 WebGL 对应于矢量图、位图和 3D 图的渲染,这三个看 MDN。

React 提高需学习的东西

  • UI/UX 设计:前端能学点 UI 设计最好。

软件设计

软件设计一些原则

  • Don't Repeat Yourself(DRY):不要重复自己。抽取封装重复代码。

  • KISS(Keep It Simple and Stupid):保持简单,不要复杂。简约至上

  • YAGNI(You Ain't Gonna Need It):不要无用。只考虑必须的功能,避免过度设计。

If there is any reprint or CV, please mark the original address of this website