程序员开发网站有哪些-程序员如何自学?阿里巴巴资深技术专家这样做

阿里妹简介:有目共睹的是,互联网信息技术的迭代周期很快,因此知识的学习和更新非常重要。 今天,阿里巴巴资深技术专家雷娟将分享他日常的学习方法和经验,希望能给大家带来一些启发。 (这篇文章推荐给除了养家之外还有小追求的朋友,博士和论文秒学,老板朋友可以手动无视~)。

阿里妹注:作者曾在法国生活过,所以学习渠道略有不同。 我们可以举一反三来理解~

我们为什么要继续学习? 为什么不直接依靠经验积累呢?

很多人都说程序员的薪资水平不错,堪比医生、律师。 程序员、医生、律师的区别就在于不断学习。 并不是说医生、律师不需要学习。 医生和律师可以根据以往的案例积累很多经验(这也是喜欢找老医生看病的原因之一),而且这种经验很大程度上是可以复制的。 用过(许多疾病和犯规案件有相似之处)。

程序员的职业就不一样了,主要是行业更新太快,积累的经验很快就会变得不适用。

举几个例子:

如果你是一名Java程序员,并且非常擅长Struts+JSP开发,那么你已经解决了很多Struts框架的问题。 但到了明天,这部分知识就已经过时了,需要重新学习。 如果你仍然坚持使用以前的技术,将会给你的朋友和公司带来巨大的技术负担。 让我们回顾一下,我们从毕业到现在,有多少技术丢失了。 对于阿里巴巴来说,很多技术早已被淘汰。

说到编程,就有很多编程语言和家族之争。 您在该语言中积累的经验可能不适用于其他语言。 我很少听说Java团队招聘高级.Net工程师。 即使有,也将成为该产品的.Net SDK 客户端。

软件经验的积累会体现在架构设计上。 很多同学会说,积累的经验越多,架构就会设计得越好。 明天可能就不是这样了。 每个人都在云端。 云上提供的服务基本类似。 架构思想和使用的云服务基本相同。

亚马逊的售前人员都是行业架构师,可以给你好的架构和解决方案,包括迁移方案,让你知道架构的门槛。 非高级程序员可以花半天时间看看《学习如何设计大型系统》()。 虽然是入门书,但是还是很实用的。 有了Awesome list(),你就会有架构思想和模式。 如果您了解框架和开发套件的具体特征和比较,您有一天可以成为一名架构师。

有一个笑话:产品总监找一个有个性的设计师来设计原型和交互稿。 设计师头也不抬,说道:“你抄的是哪个网站或者应用?告诉我,我今晚给你做。” 如果你读过系统设计入门书,当架构师来找你时,你可以说你参考了它。 是该网站的结构。 我们可以回去理解一下,然后按照这个设计来编译代码。 在云上,架构设计基本上是基于模式的。 如果你花很多时间讨论架构设计,就会有点混乱。 但还是需要对云产品有透彻的了解。 行业发展太快,你必须学习,单纯靠经验积累是不行的,而且技术淘汰的速度远远大于你经验积累的速度。

非鱼汤:不要和程序员谈论你的编程历史,很多经验明天就不再适用了。 只要你不关注技术2-3年,你基本上就和程序员、编程绝缘了。 这不是绝对的,但一般来说你不会出错。

工具需要特别熟练

有人告诉我:“别吹牛了,不管你使用IDEA多么熟练,没有必要把学习和使用工具联系起来。” 说实话,我在培训课程中看到了一些硅谷工程师对工具的熟练程度。 就使用而言,我只能说我还是个新手。

有一次,我喝水和几位谷歌工程师聊天,问他们遇到了谁谁更好? 一个工程师说他的领导太优秀了。 在帮助他查找bug时,他对工具和调试的熟练程度令人眼花缭乱。 很多工具他都没听说过,Python 脚本编写几乎是流畅的。 原因并不是领导一眼就能看出问题。 有些问题他是第一次遇到,但是他在单位时间内尝试了很多次,很快就把问题逼了下来。

非鱼汤:在排错和写代码方面,如果你一个小时只能尝试一种方法,但别人可以尝试10次,那么别人就比你强。 世间武道唯一不能破的就是速度。 你后续编写demo、检查问题以及对工具的熟练程度将决定你学习和尝试新事物的速度。

阅读和阅读文档

学习也需要系统化。 不是光看文章就能理解原理的。

个人强烈推荐:

开发网站的软件有哪些_网站程序开发软件_程序员开发网站有哪些

Safari应该是出版社联盟,IT书籍基本都能找到。 两个小问题是:有费用,一年大概400块钱; 这些书都是英文的。 Safari Books Online 的藏书非常全面,几乎涵盖了大部分出版社。 我们熟悉的有oreilly、apress、manning、packtpub、addison wiley,更新速度很快。 另外,Sarafi提供的学习路径也非常有用,可以帮助你系统地了解一些技术,比如区块链、人工智能、机器学习等。 现在也有很多视频资料,包括专家知识培训和一些技术会议的视频。

除了书籍之外,我们还需要关注文档(参考)。 很多框架和技术的参考文档已经很不错了。 首先是文档的质量越来越高,技术现在都是协作的。 Java程序员可以看看Spring Framework、Hibernate、Kotlin、Groovy的文档,质量都非常高。

如果你还停留在只有几页介绍和演示的文档中,那么你的观点可能需要改变。 如果你看一下 CNCF 上的项目,几乎每个项目的文档质量都非常高。 现在很多项目并不是一两个程序员单独工作,而是一个团队加上github这样一个协作性很强的平台,所以文档、代码、新功能之间很少出现不匹配的情况,很多问题都是关于文档的。

其他一些新技术只有开头的文档。 在本书出版之前,你只能阅读文档。 我在做Service Mesh的时候,对应的书籍比较少,只能看Envoy + Istio的官方文档,不过这个没关系,读起来会有点困难,但是读一下就够了毕竟我们不是天才,也不是该领域的专家。

不是鱼汤:如果资金允许,Safari Books Online 的服务仍然值得个人或团体订阅。 另外程序员开发网站有哪些,经常重新阅读官方文档。 毕竟官方文档还是最权威、最新的。

视频学习

以前看的书很多,在视频学习方面,主要是看YouTube上的会议视频。 近一年来,我更加注重视频教学。

视频和书籍有什么区别?

首先,书籍编写比较耗时(packtpub的快餐书除外),而且书籍作者必须有一定的写作水平,这对于技术熟练但不擅长写作或没有足够的写作水平的人来说比较麻烦时间。 Java 程序员可能更了解 Josh Long。 他的《云原生Java》花了一年多的时间才出版,这期间他已经发布了很多视频。

开发网站的软件有哪些_网站程序开发软件_程序员开发网站有哪些

视频还有一些无法用语言表达的功能:书中只粘贴了一段代码,需要输入视频中的那些代码。 这时候你就会发现作者的很多黑科技或者黑方法,你也可以学习。 例如,在React的入门书籍中,Redux一般只是解释或引用,而在教学视频中,会打开相应的网站给你一些关键功能。 另外,一些书本上容易忽略的东西,在视频中或许能得到很好的补充。 而且,很多视频制作者本身就来自框架和技术开发团队,而不是第三方书籍作者,因此新鲜感和功力非常明显。

很多人对长段落的文字过敏,尤其是理论性和学术性很强的书籍。 例如,很多人问如何学习领域驱动设计,但能够读完一本 DDD 书 2-3 章而不感到厌倦的情况是很少见的。 主要是字数太多,没有代码,也没有小说那样的情节,很难不腻。 相反,DDD 培训视频则不同。 PPT格式很好,还有动画。 相关说明恰当且易于学习。

这里列出了比较著名的视频培训网站,包括 Pluralsight、Lynda 和 Udemy。

Udemy 视频需要单独订购,3-4 小时的视频售价 10 美元。 如果你的阅读量比较大的话,费用会比较高,而且Udemy不只专注于IT,所以会不够专业。 Lynda 和 Pluralsign 都是会员制。 缴纳会员费后,您可以观看所有视频教程。 Lynda 的内容很多,很多人反映内容已经过时。 我个人没有订阅过,但是搜索后确实有这样的感觉。

我个人推荐 Pluralsight,这也是我订阅的服务。 内容很多而且比较新,有的还是一个系列,对于跨界学习很有帮助。 比如做Service Mesh的时候,可能会涉及到SDN。 让我读一本关于 Safari 的 SDN 书。 我只能说我做不到,尤其是跨界留学的朋友。 但我立刻就明白了 Pluralsight 上 2 小时的视频教程。 Java程序员需要学习ES 6 + React开发。 如果先找 JavaScript 书籍程序员开发网站有哪些,然后再找 React 书籍,周期就太长了。 不过,Pluralsight 上有 ES 6 + React Learning Path 视频教学,可以让你快速入门并开始开发。 回去补充书本文献,知识就会巩固。

非鱼汤:还是钱的问题。 如果条件允许,每月花 29 美元购买pluralsight 会员绝对值得。 Pluralsight的视频基本都有中文字幕,再加上作者的ppt,英语不好的朋友学习也没有问题。 下班空闲的时候,找个会议室,找几个志同道合的朋友,喝点啤酒,播放一段跨界或者新技术的视频,看20分钟,和大家一起讨论。 英语好的、有技术造诣的朋友可以多发表意见,其他朋友也会理解。

Twitter 上的技术新闻、技术专家以及参加技术会议

前面介绍的书籍、文档、视频教程可以让我们了解并加深某项技术,处理工作应该没有问题。 但如果你想跟上时尚并获得灵感,你可能还需要关注一些科技新闻并在 Twitter 上关注科技专家。

每个人都有惰性,丹尼尔也不例外。 有时他们可能不会写文章、写文档、拍视频,只是随便说说。 例如,我第一次了解Spring Fu技术是在Twitter上。 在项目启动之前,Kotlin + Spring 的核心团队就开始不经意间透露出一些消息。 您可能会从中得到好的意见,大牛会转发技术新闻。 这些新闻经过他们的过滤,你的购买成本也很低。 低得多。

本地没有很好的技术新闻统一管理平台,相对复杂。 你需要有自己的方法,否则搜索成本会比较高。 很多人喜欢Hacker News(),但是没有分类,有点麻烦。 分类就好多了。 关闭Google Reader后,我个人改用Feedly,仍然有订阅博客的习惯。

Medium()非常好,一个阅读和撰写大思想和重要故事的地方,我在这里推荐它,很多技术专家都在Medium上,很多科技公司博客也在Medium上有文章。 据说有付费会员。 我个人没有尝试过。 我强烈推荐它。 Reddit可以对一些话题进行分类,关注一下。 如果你持续关注某项技术,最好加入该技术的Slack或gitter讨论组,大家都会在群里分享相关的好消息和技术文章。 我在 Kotlin Slack 里知道了很多新东西,虽然大家还是愿意分享框架和相关技术。

如果时间和金钱允许,我个人建议参加技术会议。 毕竟气氛不一样。 有两三天,我不用工作,也不用想其他事情。 聚焦这个话题和主题,和很多同事一起,这种感觉是不一样的。 你需要确信自己找到了正确的方向,这样你才会更有动力去学习更多。 技术会议的展厅很多,聚集这个行业优秀的企业和技术并不容易。

非鱼汤:关注Twitter上的技术专家,关注相应的技术新闻和博客,平时访问slack和gitter,还是有一定收获的。 技术会议通常都是日语较多,这对于英语和自由行来说可能有点挑战。 可以一起去或者找当地的朋友招待你,费用会低很多。 不过目前技术会议的套票非常高,基本在1500-2000刀。 如果早订的话可能要1000刀左右。 虽然时间成本稍高,但95%到99%的提升意味着要花费更多的时间、精力和金钱。

做项目、写demo、看源码

前面提到了学习,但是程序员不写demo是做不到的。 项目中可以考虑新技术。 我们现在正在实现微服务,所以技术栈还是有一定的自由度的。 这取决于你如何持有它。 并非所有技术都可以在项目中使用。 有些是鼓舞人心的或类比的。 你需要写一个demo。 提高你的技能并没有什么错。 正如本文后面提到的,您需要非常精通这些工具,否则不值得花一个小时在演示上。 我读了很多,看了很多。 如果能用代码来辅助就更好了。 我并不是说这些知识全部都是针对代码的,其中很多都是针对架构的。 比如学习ES 6 + React,没有代码,很难想象如何掌握这些知识。

查看源代码是一项非常重要的技能。 至少你的代码审查能力提高了,但是成本确实很高。 我个人对 Kubernetes 比较了解,但是当被要求看 Kubernetes 源码时,我感到压力很大,尤其是在我不擅长的领域。 阅读 Spring Fu 的源码没有问题,但是看 Istio 和 Envoy 的源码压力太大。 但如果你决定投资,查看源代码仍然会很有帮助。

非鱼汤:多尝试项目中学到的新知识,不要使用自己熟悉的技术。 要知道,自己熟悉的东西很快就会被淘汰,被淘汰之后再调整就来不及了。 编写更多的演示并磨砺你的刀。 对于你所在行业的技术,你还是需要能够阅读一些源代码。 对于跨界技术,根据自己的能力阅读源码。 让Java程序去读JS框架源码或者C++源码,需要有心理准备。

现在读书的人越来越少了

在 YouTube 上看到一位技术人员描述他对阅读的看法,这很奇怪。 事实上,现代人的阅读量比以前更多。 他们每天打开手机,阅读各种新闻、文章、视频和朋友圈。 与以前相比,阅读量变大了。 与书本等相比,这种知识只是生命周期太紧,营养不高,这就是为什么你认为自己读书少,并不能帮助你减少知识。

如果你不是产品总监或者需要分析行业,作为技术人员,新闻类App对你来说可能没有太大好处。 这些新闻是为了帮助你找到聊天的话题,对于饭后聊天来说作用不大。 相反,你会浪费很多时间。 你可能会花半个小时看新闻,现在新闻有智能算法,保证能吸引人。 活你。 每个人都在争夺用户的时间。 他们不关心你的知识进步。 他们只是希望您停留更长时间并观看更多广告。

飞堂:音乐很好听。 似乎有适合程序员编码的音乐。 我不是发烧友,但我还是推荐它。

适当的硬件支持

如果你走进办公室,看看朋友的笔记本,你可能就能分辨出一些职业。 使用 13 英寸 MacBook Pro 或 Air 的你绝对不是 Java 程序员。 如果你是 Golang 或 C++ 程序员,你肯定不会使用 JetBrains 的 IDE 工具,这些工具基本上都是 Editor 类。 硬件建议仅适合Java程序员。 更好的硬件会让你更快。 苹果最新的MacBook Pro 2018确实非常不错。 终于有了32G显存了。 你可以考虑购买。

总结

如果没有图片或视频,只有纯文字,读起来会很枯燥。 你在学习过程中可能有很多感悟,比如有用的知识整理方法、做笔记的方法、时间管理方法等等,如果你有好的方法和方法,欢迎在留言区交流,我们可以共同进步。

你可能还喜欢

点击下图阅读