如何成长为技术大牛
误区
拜大牛为师
1、大牛很忙,不太可能单独给你开小灶
2、带着问题去请教或者探讨,但是不能经常问那些书本或者 google 能够很容易查到的知识,大牛们也会很不耐烦的,毕竟时间宝贵。
3、大牛不多,不太可能每个团队都有技术大牛,只能说团队里面会有比你水平高的人,即使他每天给你开小灶,最终你也只能提升到他的水平;
所以成为大牛还是得靠自己
业务代码一样很牛逼
业务代码都写不好的程序员肯定无法成为技术大牛,但只把业务代码写好的程序员也还不能成为技术大牛。
上班太忙没时间自己学习
1、应该在工作中学习和提升
2、利用碎片时间学习
正确的做法
Do more:熟悉更多业务,熟悉更多代码;熟悉端到端;自学——能够从头开始做,即使没有组件和框架
Do better: 能不能改进
Do exercise: learning、trying、teaching
技术变化那么快,程序员如何做到不被淘汰?
软件架构就是将人员、技术等资源组织起来以解决业务问题,支撑业务
增长的一种活动。
组织业务:架构师通过探索和研究业务领域的知识,构建自身看待业务的”世界观”。他会基于这种认识拆分业务生命周期,确立业务边界,构建出了一套解决特定业务问题的领域模型,并且确认模型之间、领域之间的关系与协作方式,完成了对业务领域内的要素的组织工作。
组织技术:为了能在计算机世界中运作人类社会的业务模型,架构师需要选用计算机世界中合适的框架、中间件、编程语言、网络协议等技术工具依据之前设计方案组织起来形成一套软件系统方案,在我看来软件系统就像是一种技术组织,即技术组件、技术手段依据某种逻辑被组织起来了,这些技术工具被确定了职责,有了明确分工,并以实现业务功能为目标集合在了一起。比如 RPC 框架或消息队列被用于内部系统之间的通信服务就如同信使一般,而数据库则负责记录结果,它更像是一名书记员。
组织人员:为了能够实现利用软件系统解决业务问题的目标,架构师还需要关注软件系统的构建过程,他以实现软件系统为号召,从公司组织中聚集一批软件工程师,并将这些人员按不同工种、不同职责、不同系统进行组织,确定这些人员之间的协作方式,并关注这个组织系统是否运作良好比如沟通是否顺畅、产出是否达到要求、能否按时间完成等。他非常关心软件的运行状况。因为只有在软件系统运行起来后,才能对外提供服务,才能在用户访问的过程中,解决业务问题。架构师需要关注运行过程中产生的数据比如业务成功率,系统运行资源占用数据、用户反馈信息、业务增长情况等,这些信息将会帮助架构师制定下一步架构目标和方向。
所以软件架构不仅仅只是选用什么框架、选用什么技术组件这么简单。它贯穿了对人的组织、对技术的组织、对业务的组织,并将这三种组织以解决业务问题这一目
标有机的结合在了一起。
如何在阿里技术面试中脱颖而出?
面试不要做的事
- 问一些知道性的问题比如问知不知道这个 API 干什么的,怎么调用,这个命令怎么用的,知道性的知识,google 一下或者认真看下文档就应该知道。
- 问一些特别复杂的问题比如问一个特别复杂的算法,问一个很抽象的大问题,短时间内很难给予回答。
- 问一些假设性的问题假设你参与了这个项目,你觉得哪几个地方需要优化。
还有就是不要在面试中试图证明别人不如自己
面试应该做的事
- 问已经发生的事情
- 问题解决思路
- 少问多听
STAR 原则
- 处境 (situation)
在什么样的环境下 - 任务 (task)
接到了什么样的任务 - 行动 (action)
然后具体怎么落地的 - 结果 (result)
拿到了什么结果
技术人如何不断成长?
- 经验丰富,知识体系完整
- 保持良好的习惯,不忘总结和提升
哪些技术好书值得一读再读?这有一份经典书单
-《Effective Software Testing》
-《程序员修炼之道 - 从小工到专家》
-《设计模式之禅》
-《Spoken Language Processing: A Guide to Theory, Algorithm and System Development》
-《机器学习导论》
-《Reinforcement Learning: An Introduction》
-《Programming Rust》
-《Machine Learning: A Probabilistic Perspective》
-《Architecture of a Database System》
阿里技术大牛最爱的“闲书”,你看过多少?
-《从优秀到卓越》
-《为什么精英都是时间控》
-《创新者的窘境》
-《魔鬼经济学》
-《孙子兵法》
-《创造自然》
-《浮生六记》
reference
阿里巴巴——《不止代码》
http://techforum-img.cn-hangzhou.oss-pub.aliyun-inc.com/1530517140411/Codelife.pdf