前两天,我以前在亚马逊(Amazon)团队的一个小伙伴从西雅图打来电话,和我主要聊了一下他最近的一些想法和动向。他在最近几个月面试了很多美国的本土公司,从大公司到创业公司都有,比如 Facebook、Snapchat、Oracle、微软、谷歌、Netflix、Uber 等。他今年 30 岁出头,到美国那边也有 3 年多时间了,所以想要多一些经历,到不同的公司看一下。
首先,我觉得在美国做技术真的比国内幸福好多,有那么多很不错的不同类别的公司可供选择。这与国内相比,选择空间实在是太大了,真是幸福。所以,在如此纷乱和多样化的地方,真是需要确定自己的发展方向和目标。不然就会像这个小伙儿一样,当 offer 像雪片一样飞过来的时候,却有点不知所措了。
我对他的这些思考没有任何异议,因为我觉得他的能力没有问题,我无非就是想和他说说我的一些认识和看法,希望可以帮他开阔开阔思路。我基本上是给了他如下的这些看法和观点。
关于兴趣和投入
- 一方面,兴趣是需要保持的。
有的人对有的事就是三分钟的兴趣。刚开始兴趣十足,然而时间一长,兴趣因为各种原因不能保持,就会很快地“移情别恋”了。所以,不能持久的兴趣,或是一时兴起的兴趣,都无法让人投入下去。
另一方面,兴趣其实也是可以培养出来的。 我高考时,对计算机软件毫无兴趣,反而对物理世界里的很多东西感兴趣,比如无线电、原子能,或是飞行器之类的。但阴差阳错,我最终考了个计算机软件专业,然后发现,自己越来越喜欢编程了,于是就到了今天。
我发现,一个可以持久的兴趣,或是可以培养出来的兴趣,后面都有一个比较本质的东西,其实就是成就感,他是你坚持或者努力的最直接的正反馈。也就是说,兴趣只是开始,而能让人不断投入时间和精力的则是正反馈,是成就感。
于是,我就搭了一个小城堡给她看,她看完后兴趣就来了,也想自己搭一个。但是,不一会儿,她就受挫了,因为没有掌握好物体在构建时的平衡和支点的方法,所以搭出来的东西会倒。
很显然,我把孩子从“天性喜欢破坏的兴趣点”上拉到了“喜欢创造的兴趣点”上。因为创造能带来更多的成就感,不是吗?
关于学习和工作
后面,我们又谈到了工作,他觉得只有找到与兴趣相匹配的工作才是能否学好一个技术的关键。对此,我给了他如下一些回应。
工作能为我们带来相应的场景和实际的问题,而不是空泛的学习。带着问题去学习,带着场景去解决问题,的确是一种高效的学习方式。
在工作当中,有同事和高手帮助。和他们的交互和讨论,可以让你更快地学习和成长。
本质上来说,并不是只有找到了相应的工作我们才可以学好一项技术,而是,我们在通过解决实际问题,在和他人讨论,获得高手帮助的环境中,才能更快更有效率地学习和成长。
所以,我给了这个小伙子两点建议。
找工作不只是找用这个技术的工作,更是要找场景,找实际问题,找团队。这些才是本质。一项技术很多公司都在用,然而,只有进入到有更多的场景、有挑战性的问题、有靠谱团队的公司,才对学习和成长更有帮助。
不要完全把自己的学习寄希望于找一份工作,才会学得好。我给他的建议是,在一些开源社区内,有助于学习的场景会更多,要解决的实际问题也更多,同时你能接触到的牛人也更多。特别是一些有大量公司和几万、几十万甚至上百万的开发人员在贡献代码的项目,我认为可以让人成长很快。
今天的年轻人有比我更好的环境和条件,应该能比我成长得更好、更快。当然,和我的成长一样,都需要小心地鉴别和甄选。
总之,找到学习的方法,提升自己对新事物学习的能力,才是学习和成长的关键。
关于技术和价值
是的,对于这个问题,从不同的角度上看,就会得到不同的结论。似乎,我们无法说明白哪项技术创造的价值更大,因为完全没法比较。
我并不是想说高大上的技术无用,我想说的是,技术无贵贱,很多伟大的事就是通过一些不起眼的技术造就的。所以,我们应该关注的是:
要用技术解决什么样的问题,场景非常重要;
如何降低技术的学习成本,提高易用性,从而可以让技术更为普及。
所以,对于一些“基础技术”来说,通常会在某段时间内会被人类社会低估。就像国内前几年低估“云计算”技术一样。基础技术就像是创新的引擎,其不断地成熟和完善会引发更上层的技术不断地衍生,越滚越大。
所以,我个人觉得一项有价值的技术,并不在于这项技术是否有技术含量,而是在于:
能否低成本高效率地解决实际问题;
是不是众多产品的基础技术;
是不是可以支持规模化的技术。
低成本高效率地解决实际问题的技术,一定是自动化的技术。软件天生就是用来完成重复劳动的,天生就是用来做自动化的。而未来的 AI 和 IoT 也是在拼命数字化和自动化还没有自动化的领域。
基础技术总是枯燥和有价值的。数学、算法、网络、存储等基础技术吃得越透,就越容易服务上层的各种衍生技术或产品。
支持规模化的技术也是很有价值的。在软件行业中,也就是 PaaS 的相关技术。
当然,我的意思并不是别的技术都没有价值了。重申一下,技术无贵贱。我只是想说,能规模化低成本高效率解决实际问题的技术及其基础技术,就算是很 low,也是很有价值的。
关于趋势和未来
我一直认为,这个世界的技术趋势和未来其实是被人控制的。 就是被那些有权有势有钱的公司或国家来控制的。当然,他们控制的不是长期的未来,但短期的未来(3-5 年)一定是他们控制着的。
一旦他们把大量的金钱投到某个领域,这个领域就会得到发展,那么发展之后,这个领域也就成为未来了。只要是有一堆公司在往一个方向上不间断地投资或者花钱,这个方向不想成为未来似乎都不可能。
所以,对于我们这些在这个世界里排不上号的人来说,只能默默地跟随着这些大公司所引领的趋势和未来。对一些缺钱缺人的创业公司,唯一能够做的,也许只是两条路,一是用更为低的成本来提供和大公司相应的技术,另一条路是在细分垂直市场上做得比大公司更专更精。等着自己有一天长大后,也能加入第一梯队从而“引领”未来。
小结
比如文中提到的兴趣和投入。表面上,兴趣是决定一件事儿能否做持久的关键因素。而反观我们自己和他人的经历不难发现,兴趣扮演的角色通常是敲门砖,它引发我们关注到某事某物。而真正能让我们坚持下去的,实际上是做一件事之后从中收获到的正反馈,也就是成就感。
所以说,让我们成长的并不是工作本身,而是有利于学习的环境。也就是说,如果我们想学习,除了可以选择有助于学习的工作机会,开源社区提供的环境同样有助于我们的学习和提高,那里高手更多,实际问题不少。
趋势和未来也是被误解得很深的一对“孪生兄弟”。虽然大家通常会认为有什么样的技术趋势,必然带来什么样的未来。殊不知,所谓的趋势和未来,其实都是可以人为控制的,特别是那些有钱有势的人和公司。也就是,社会的资金和资源流向什么领域,这个领域势必会得到成长和发展,会逐渐形成趋势,进而成为未来。我们遵循这样的规律,就能很容易地判断出未来的,最起码是近几年的,技术流向了。
学完这一节课,你是不是不再混淆一些现象和本质,是不是能将一些事情看得更加清晰了呢?欢迎来跟我交流。