01
想尽一切方法提高交作业的效率,比如,提高代码的重用度,能自动化的就自动化,和需求人员谈需求,简化掉需求。投入更多的精力在自己的核心技能上。
要去经历大多数人经历不到的,要把学习时间花在那些比较难的地方。 要写文章就要写没有人写过的,或是别人写过,但我能写得更好的。 更重要的是,技术和知识完全是可以变现的。
要珍惜25-35岁的这段时间,功能性的东西,重复性的东西,尽量不去做。要做一些能提升技能,有挑战的东西。
现在所从事的岗位的真正的技术难题是什么,找到这些点。 现有运用的技术趋势,一些老技术的本质钻研。
“一,这个技术解决什么问题?为什么别的同类技术做不到?二,为什么是这样解决的?有没有更好的方式?”
如果一个新的技术顺应技术发展趋势,那么在这个新的技术出现时,后面一定会有大型的商业公司支持,这类公司支持得越多,就说明你越需要关注。
找到能体现价值的地方。在一家高速发展的公司中,技术人员的价值可以达到最大化。
动手能力很重要。代码里全是细节,细节是魔鬼,只有了解了细节,你才能提出更好或是更靠谱、可以落地的解决方案。而不是一些笼统和模糊的东西。这太重要了。增加在日常工作中的代码输出。
技术付费点基本体现在两个地方,一个是,能帮别人“挣钱”的地方;另一个是,能帮别人“省钱”的地方。
找到有价值的信息源。信息社会,如果你比别人有更好的信息源,那么你就可以比别人成长得更快。对于技术人员来说,我们知道,几乎所有的技术都源自西方世界,所以,你应该走到信息的源头去。多学习英文的前沿资料。
利用好自己的时间,投入到一些有价值的事情上面去。
优质的朋友圈。
似乎在以上这些内容,目前自己都做的不是特别好。
从人类社会的发展过程中来看,基本上可以总结为几个发展阶段。对于总结业务还是公司的发展,都很有帮助。
第一个阶段:野蛮开采。这个阶段的主要特点是资源过多,只需要开采就好了。
第二个阶段:资源整合。在这个阶段,资源已经被不同的人给占有了,但是需要对资源整合优化,提高利用率。这时通过管理手段就能实现。
第三个阶段:精耕细作。这个阶段基本上是对第二阶段的精细化运作,并且通过科学的手段来达到。
第四个阶段:发明创造。 在这个阶段,人们利用已有不足的资源来创造更好的资源,并替代已有的马上要枯竭的资源。这就需要采用高科技来达到了。
技术领导力: 尊重技术,追求核心基础技术。 追逐自动化的高效率的工具和技术,同时避免无效率的组织架构和管理。 解放生产力,追逐人效的提高。 开发抽象和高质量的可以重用的技术组件。 坚持高于社会主流的技术标准和要求。
针对于工程师来说,如何判断拥有技术领导力: 能够发现问题。 能够提供解决问题的思路和方案,比较方案优缺点 做出正确的技术决定,用什么技术,什么解决方案完成一个项目。 更优雅,简单,容易的方式解决问题 提升代码,软件扩展性、重用性和可维护性。 正确的方式管理团队。 创新能力。
如何让自己拥有技术领导力: 扎实的基础技术 非同一般的学习能力 坚持做正确的事情 提高对自己的要求标准。
如何拥有技术领导力 1.吃透基础技术 - 编程和系统 掌握一门编程语言 《数据结构与算法》 《深入理解计算机系统》 《UNIX环境高级编程》 《UNIX网络编程》 了解操作系统原理,从本质理解语言和技术的底层原理。 网络基础《TCP/IP详解》,为高维分布式架构的一些技术问题,提供技术方案 掌握一门数据库的原理 分布式技术架构
2.提升学习能力,多用英文搜索引擎。 3.与高手进行交流 4.举一反三的能力,在遇到一个问题的时候,想想还有没有可能其他地方会有问题 5.不怕困难的态度 6.开放的心态。
坚持做哪些正确事? 1.提高效率的事,掌握良好的时间管理方式,提升自己的效率。 2.看到有可以自动化的地方,编写程序来进行自动化操作。 3.掌握前沿技术的事, 4.做一些知识密集型的事情 5.技术驱动的事情
高标准要求自己 1.Google的自我评分卡,可以自己尝试一下。 2.敏锐的技术嗅觉。 3.强调实践,学以致用。 4.Lead By Example,永远进行相关编程。
锻炼相关软技能: 《技术领导之路》 《桌游成效的管理者》
后面用思维导图再汇总一下
推荐阅读:
来自: https://time.geekbang.org/column/article/181 https://time.geekbang.org/column/article/183 https://time.geekbang.org/column/article/288 https://time.geekbang.org/column/article/291
02
每个程序员都应该要读的书: https://stackoverflow.com/questions/1711/what-is-the-single-most-influential-book-every-programmer-should-read
- 《程序员修炼之道》
- 《计算机的构造和解释》
- 《算法导论》
- 《设计模式》
- 《重构》
- 《人月神话》
- 《代码整洁之道》
- 《Effective Java》
- 《Unix 编程艺术》 《Unix 高级环境编程》
每个搞计算机专业的学生应有的知识 http://matt.might.net/articles/what-cs-majors-should-know/
- 要获得一份好工作,学生需要知道什么?
- 为了一辈子都有工作干,学生需要知道什么?
- 学生需要知道什么,才能进入研究生院?
- 学生需要知道什么,才能对社会有益?
作品集会比简历更有参考意义,有自己独立的个人网站,上面有你做过的事情、自己的技能、经历,文章和思考会比简历更好。
学会与人交流的技巧,如何写演示文稿,面对质疑时如何与人辩论的能力。
这个文章可以看一下。
LinkedIn 高效的代码复查艺术。
https://thenewstack.io/linkedin-code-review/ LinkedIn 的高效代码复查技巧,后面学习一下。
陈皓谈《从Code Review谈如何做技术》 https://coolshell.cn/articles/11432.html
30-40岁 做有技术挑战的事情,提升自己的技术领导力。
20-40岁 人生最黄金的发展阶段,多做一些有挑战有积累的事情。
如何成为众人愿意追随的Leader
- 帮人解决问题,当团队有问题时,站出来告诉大家应该怎么办
- 团队在做关键决定时,咨询意见和想法。
错误处理的最佳实践:
- 统一分类的错误字典
- 定义错误的严重程度
- 异常捕捉用来处理不期望发生的事情,错误码用来处理可能会发生的事情
- 针对异步,用Promiss模式处理错误
机器学习基本就是在已知的样本数据中寻找数据的规律,在未知的数据中找数据的关系。 机器学习的参考资料: https://time.geekbang.org/column/article/862
时间管理: 主动管理的不是你的时间,是同事和信息
学会说”不“ 1.面对做不到的需求,不要说需求做不到,但不要马上说自己做不到,要思考下,如果还是做不到,可以换一个方案,而不是直接回绝。 2.当遇到特别复杂的需求时,反问自己一下为什么这么做,目的是啥,讨论性价比更好的方案,或者先做这个,再做这个。 3.当时间完全不够时,也不说不,想办法把压力还回去。 1.可以加班加点完成,但质量不能够保证。 2.可以加班加点,保证质量,但需求能不能减少 3.可以保质保量,时间能不能长一些。
不能说不,但有条件地说是,把你给我的压力再反过来还给你,掌握主动。
在积极主动的态度下,对不合理的事情讨价还价,学会了说不,才能够控制好你的时间。
加班和开会: 加班和会议,劳动密集型方式来做事。 国外的公司,团队拼命加班,团队哪里出了问题,老板会比较焦虑。
开会不是讨论问题,而是讨论方案,开会不是要有议题而是有议案
没有议案,大家海了去说 1.跳出来帮大家理一下,会上讨论不清,先线下讨论,有方案再来评审。
投资自己的时间。
- 花时间学习基础知识,花时间读文档,系统的学习一门技术非常关键,这个时间是值得投资的。
- 花时间在解放自己生产力的事上,在自动化、可配置、可重用、可扩展上要多花时间。对于软件开发来说,能自动化的事,多花点时间也要自动化。
- 花时间在让自己成长的事上。不光要看公司内的成长,而是要看行业内的成长,行业内的成长才是真正的成长,把时间花在能让自己成长,让自己拥有更强的竞争力,让自己拥有更大的视野,让自己拥有更大的可能性的事上,这样的时间投资是有价值的。
- 花时间在建立高效的环境,影响身边的人。
花一些时间去影响身边的人,同事,产品,老板,影响他们,让他们理解你,建立更好的流程和管理方法。
规划好自己的时间:
|