技术学习要兼顾深度和广度php
夯实技术基础前端
这么多年来,我面试了不少人。我愈加感到「技术基础」很是重要。面试
不少技术的本质是同样的。技术基础足够好的话,学东西能够很是快。往下到操做系统层面,甚至计算机硬件层面,你会发现,编程语言特性和虚拟机特性再也不重要。而技术基础和具体的编程语言没有太大关系,你有良好的技术基础,面试什么样的技术人员都是无障碍的。算法
另外一方面,计算机在软件方面发展特别快,越往高层走,变化就越快,越往基础走,变化就越慢。咱们掌握了更多基础,就相对更不容易被时代淘汰掉。数据库
计算机软件硬件发展这么多年,最根本的东西是没有太大变化的。这里说的技术基础包括计算机硬件、操做系统(资源抽象和资源管理调度)、网络层面的 TCP 、HTTP(若是对 TCP 理解深入,无论是中间件仍是底层操做,都会游刃有余)、语言的虚拟机(虚拟机怎样处理内存?虚拟机的代码执行流程是怎样的)、安全基础、设计模式、方法论、数据库和统计学等。编程
好比安全基础方面,安全是有大的基础原则的,只要理解了,在安全方面就不容易犯低级错误。好比 SQL 注入、跨站脚本攻击,说白了就是要完全理解,“数据就是数据、代码就是代码,代码跟数据交换要进行过滤或者说是隔离”。设计模式
技术学习的广度安全
若是具有很好的技术广度,你就很容易作出最优的技术方案,而不是只能是选择本身最熟悉的东西。对技术管理者来讲,具有比较好的技术广度,咱们能够跟全部岗位流畅沟通,客户端、服务端、前端、测试、数据库、算法工程师……技术上不少东西是相通的,咱们也容易理解各类方案,不被忽悠。性能优化
一个事实是,对于大多数的技术,了解只须要一天,简单搞起来只须要一周,入门可能只须要一个月。最难的是踏出第一步。普遍看书是必要的。我买了好几个书架的书,各个领域都买。一本书带来的信息量和价值远大于书的价格,各个领域的经典都通读一遍,这个价值绝对超过几万块钱购书成本。微信
有空的话,看技术文章、微信公众号和博客,时不时看好书排行榜,补充一下本身对于技术实时的了解。我会记录下各类地方看到的新名词,知道这个东西大概是干什么的 —— 不必定立刻作很详细的了解 —— 之后若是用到就会想起来。
多学几门语言突破本身的温馨区,没有那么困难。我由 .Net 转 Java 也只是一周多时间,Java 的东西和想法 .Net 也都有,并无什么太特殊的,只要把基本的 IDE 调试一下,SDK 了解一下就行。
开源项目这么多,对于著名的开源项目,我会花个一两小时写最简单的 demo ,本身调适参数,认识它怎样运做,对这个产品有最基本的了解。
不少人问我 .Net 转 Java 的想法,我以为若是是规模偏小、偏 toB 的话,.Net 在开发效率和稳定性上面都不错。公司互联网化、规模大了,无论是招人方面仍是社区配套,Java 更适合。
技术深度一样重要
技术深度和广度相比也是很是重要的。
具有了技术深度,遇到问题能够快速定位并从根本上解决。若是对技术底层不了解,你可能只能猜。有技术深度以后,学习其余技术能够更快,再深刻其余技术就不会怕。
对于技术深度,看书的做用不大,技术深度的探索主要是须要实践,在实践的过程当中踩坑填坑获得经验。对于实践最好的方式是本身写代码、作实验,本身证实结论。找本身的兴趣点造轮子,比较一下谁造的轮子更好,甚至开源出来和你们共同切磋。
我本身写过 MVC 、RPC 、IOC 以及底层的网络框架,虽然只是本身写着玩,可是这个过程对个人帮助很大。
阅读源码很重要。那些演化好久的源码确定有很是多的精妙设计和性能优化技巧,确定也是踩过各类性能上的坑。
分享和社区贡献也很是重要。只有本身 100% 理解,你才能分享;别人给你反馈,你会学到更多。
分享和帮助他人,树立我的品牌
打造我的品牌很重要。可是,打造我的品牌不等于处处宣扬,重在分享和帮助别人。
我一开始喜欢论坛,从 CSDN 开始,作过 .Net 版块版主;本身写博客,在博客园曾经排名前十;本身写过书,也翻译过大量的书;有机会的话,我会去作线下分享。
把技术整理成细致的技术网络,这对本身在技术上的提炼是很是好的。若是是线下分享,你能够深挖本身的兴趣点,以最简单的语言分享给你们。
我以为混论坛、写博客、写书给个人我的品牌和技术成长的帮助很是大。固然,写书和翻译书最重要的是把事作好,而不是为了让书上有你的名字。
多管齐下的英语学习方法
英语是很是重要的。用英文关键词在 Google 搜索技术问题,是更容易快速找到真正答案的。国外的英文社区很活跃,一手技术资料也多;等到有中文资料再看,每每已经落后半年甚至一年了。在工做中和老外打交道,口语足够好就会比较方便。另外,英语还能够扩展事业和提升生活质量,好比国外自由行或者看美剧。
我在大学英语不好,毕业之后第一家公司就是外企,以后慢慢对英语感兴趣了。上班的人没有太多的集中时间去学习英语。我总结了对工做的人比较容易实践的英语学习方法,这里分享给你们。
读,从翻译开始
读能够从翻译技术文档和技术书籍开始。积累基础词汇和基本表达,至少看英语数据就不须要翻字典。这个过程很是快,翻译一两本书以后,你就能够完全抛开词典了。
还要强迫本身优先阅读英文资料。技术资料的阅读是第一层次,生活化阅读更难。找喜欢的小说甚至打英语游戏,这些难度比技术资料高不少。后者是更长的过程。
随着阅读的增多,再也不须要查辞典,其实不难。一年之后,看各类资料都再也不须要字典 —— 固然你可能写不出来,但你知道这些意思。这是一点问题都没有的。
写,从工做相关的文档博客开始
若是没有外企经历,能够写英文文档、博客或者生活日记,不断锻炼,同时也是在输出和分享。英语和中文同样,普通表达、正确表达、精确表达和优雅表达四个层次有很大区别。只有大量阅读以后,你才能体会到词与词的区别,你的写做才会更优美。
若是更有兴趣,能够阅读专业写做类书籍,好比美国大学英语写做。还能够将中文译文进行反向翻译,对比本身的译文和原文的区别,这样你就能知道 Native Speaker 跟你的表达的区别:哪些是不成熟的?哪些是不正宗的?
听,从技术视频开始
听会更难,须要的时间也更多。
能够看技术视频入门,好比说 YouTube 上有不少国外大学授课视频,不但可以学技术,并且可以提升英语的听的能力。好比斯坦福的 iOS 课程、深度学习课程。在这里,你能够听老外正常语速下的表达,而不是英语学习材料里的很慢速的表达。习惯正常语速对听力很是重要,而看授课视频是对本身比较简单又受益的方式。
对我来讲,最重要的是看美剧。工做的人没有太多时间专门学英文,可是你仍是须要休息,看美剧确实是比较好的方式。反复的看,带中文字幕看、带英文字幕看、不带字幕看、不看屏幕纯听……我一开始看美剧,只有 30% 能够听懂,一步步走下去,200 小时、300 小时以后甚至六七百小时以后,质变发生了,耳朵一会儿变灵敏了,大部分均可以理解、均可以看懂了。
我如今看大部分的美剧不须要字幕也很是适应普通的语速,听力的养成基本全靠看美剧。无论你信不信,在没什么听力基础的状况下,坚持看老友记之类的美剧三部,以后你的听力必定基本过关。
固然也能够听本身感兴趣的播客,也可以进行训练。这跟美剧不同,这个原本就是没有图像的,你能够在开车的时候听,你能够在地铁上听,这个都是能够的。有条件的能够装卫星电视,直接收看国外的电视节目。
说,从简单的关键词开始
说是最难的。最重要的是认识音标。核心是重音。重音读不对,就彻底不是这个词,而变成了另一个词。
能够购买口语课程,和外教进行口语对话。在开始阶段,你的表达不流畅,能够抓关键字,这样别人一听就知道你想说什么。不要用很复杂的语法和不少修饰词,只要说关键词就能够。随着时间推移,慢慢的你就能够从中文翻译到英文,变成英语思惟直接表达。
管理,最重要的是招到优秀的人
多招聘优秀的人,构建梯队
找到优秀的人,招聘到优秀的人,若是可能,让优秀的人尽可能多,这对团队是很是关键的。为何要盯着优秀的人?优秀的人作事效率比通常的会高几倍,并且它们更可能作出正确的决定,决策过程可以比较快速同时不须要你去纠正。
最重要的是,优秀的人是自我驱动的,还能够影响带动周围一批人。还有一点就是,他可能会作出意想不到的创新,这些创新对团队多是革命性的变化。
接下来在团队构建方面,还有些要注意到。首先是不要怕比本身强的人出现,你做为技术管理者,自己就不该该是技术最强的。有能力的管理者,哪怕是不懂技术,均可以很是好地管理全部技术人员。
而这里面,如何甄别和筛选?试用期很重要的,要勇于及时淘汰不合格的人,让团队里充满正能量。试用期得过且过,每每会给团队带来很大的反作用。
要尽量让团队技术统一,减小管理成本。以前我带的某个团队,大部分是 Java ,只有一个 php 。从个人角度,这位 php 同窗也要培养,也须要上升空间。我花了很大精力了解和培养他,但过后来看这对于整个团队管理是很是不值得的,时间彻底浪费掉了。
在团队规模大了之后,要构建有梯度的团队。必须有很是牛的架构师,也要有刚毕业有冲劲的年轻人作梯度。相似的,要须要培养优秀的副手,给本身留时间作更高层的事情。
管理要以身做则,也要真诚相待
我以为,团队管理重要的是以身做则。在团队氛围上,要构建学习型团队,鼓励开源,甚至能够制定相应规章,增长一些财务上的奖励。
要真心真意对待团队成员和帮助你们。让团队成员明确,工做和我的成长要兼顾。对于太注重工做的人,要告诉他怎么样成长。对于注重我的成长而不把工做放在心上的人,要告诉我的品牌和职业素养很是重要,确保工做的前提下你的我的成长才更有价值。
尽可能保持团队的工做量,忙起来之后就不容易多想了。即便咱们处于平稳阶段,也要想怎样让产品更好、怎样作创新、怎样更高效,让团队忙碌起来。要让你们知道,作这件事情是为何,而不只仅是告诉他完成这件事。共同的目标很重要,你们承认目标,才会作得更好,才会主动从本身的角度考虑如何实现目标。
作事要目标导向,思考要有高度
我坚持作事情目标导向。设定目标以后,要有必胜的信念,这样就可以忽略过程当中的一切困难,包括职位的边界、所谓甲方乙方区分之类的。
要多思考多分析。不少时候,你感受走不下去了,其实就是一个很小的点在阻碍,分析出困难本质就很容易突破,而不是过早下结论说没法完成。以前,有同事问我,我要作这个,你看是否是可行?我评估后以为不可行。同事告诉我其余公司就是这么作的。后来我仔细想了一下,确实是有办法绕过以前想到的限制。最后同事告诉我,那家公司其实也没有实现。固然了,多分析同行的产品也是颇有帮助的。
最后一点,站在更高的位置思考。这样才能理解上级决策,而后从公司角度作出更有利的决定,甚至是从社会价值角度作出更好的决定。只有思考层次更高,你作出的决定才会更有高度。