开发者是如何提升技能水平的

简介: 摘要:作为一个技术开发人员,不断的学习/提升技能是必不可少的,尤其是在这个日新月异的新时代。那么程序员们都是通过什么方法来给自己充电的呢?参加培新、参加讨论会、加入开源项目、读书读代码,还是自己写一本书? 本文是Denis Gobo做的一个调查表,调查程序员/开发者一般都是通过哪些途径来提升自己在技术领域的技能水平的《How Did You Improve Your Te
摘要:作为一个技术开发人员,不断的学习/提升技能是必不可少的,尤其是在这个日新月异的新时代。那么程序员们都是通过什么方法来给自己充电的呢?参加培新、参加讨论会、加入开源项目、读书读代码,还是自己写一本书?

本文是Denis Gobo做的一个调查表,调查程序员/开发者一般都是通过哪些途径来提升自己在技术领域的技能水平的《How Did You Improve Your Tech Skills》,文中给出了一些对程序员有用的方式方法,但是每个人的喜好不一样,所以各有偏重。不过,要是真的能按照所列出的这些方式方法去做,提升效果一定很大。

  1. 参加用户组:参加本地用户组的一些会议,总是有一些专家出席做相关演讲。
  2. 参加培训:公司总会为员工的科技技术做一些培训,有兴趣的可以参加提升自己的技能。
  3. 参加讨论会:参加一些类似于Google IO、Build、JavaWorld、WWDC、SQLPass等等,去接触一下你所使用的产品的真正的创造者。
  4. 回答问题:个人举得最有效的提升办法就是回答别人的问题,就像QA网站StackOverflow
  5. 边吃边学:如果你有吃饭的时间,那你就有学习的时间;如果你有和团队成员编写代码的时间,那你就有开发设计的时间。
  6. 加入一个开源项目:开源项目是最能锻炼人的一个途径,在这个过程里,你可以思考很多东西,比如说这个代码为什么要这样写?为什么要用这样的方式?使用了多少个设计模板等等。
  7. 读书,读代码,读博客:可供程序员阅读的书可以说是汗牛充栋,这里就不列举了。阅读代码可以让你见识到更多的框架;可以让你发掘出更多的API。阅读你所关心的专家的博客,可以帮助你学习到更多的代码组合和技巧,同时遇到不解的问题还可以留言提问,何乐而不为呢?
  8. 通过做Kata来实践:Kata是空手道里的招式,也可以用在编程技术里。可以阅读这篇博文加以理解,Using Code Katas to Improve Programming Skills
  9. 发表博客:编写博客也可以让人保持清醒、更有斗志。在发表博客之后,读者会就你的错误提出指正,为了避免这样的情况,在发表之前会通读好多遍,并做一些研究,以防出现问题,这也是技能的一种进步和拓展。
  10. 写书:在技术领域的大多数人都会写一本书,因为写一本书需要花很多时间去做调查和研究,除了要确保你的代码是正确的之外,你还要做很多其他的事情,在这之前你可能只是个码农,但是一旦你出版了这本书之后你就是这方面的专家了。当然,写书最糟糕的地方就是最初的反馈信息里有很多别人指出的错误,如果脸皮不够厚的话可能是一个棘手的问题。
  11. 听播客,看在线研讨会:从播客和在线研讨会上也能学到很多东西,关键是在自己的电脑上将播客和研讨会力学来的知识进行代码验证是最好的进步环节。

在给出这个调查表之后有很多程序员/开发者给出了回复和选择,一起来看看他们平时都是怎么来提高自己的技术水平的:


很明显,大多数人喜欢把阅读书本、代码和博客作为一种提高技能的手段。同时也有让人惊讶的现象:那就是通过做Kata来实践、参与开源项目、订阅科技读物的比例实在是太低了,因为这三项在大部分人看来是最容易的,而且效率也是最显著的。另外,写一本书的竟然占到了8%,也很让人吃惊。除了这些,你觉得还有哪些方式是可以提高你的技术水平的呢?   (编译/薛梁  责编/张红月)

原文:SquareSpace

相关文章
|
12月前
|
存储 开发工具 git
Git和SVN有什么区别?
综上所述,选择Git还是SVN取决于项目的具体需求、团队规模以及工作习惯。Git因其高级特性和灵活性,成为了现代软件开发中更受欢迎的选择,而SVN在某些特定场景下仍保有一席之地。开发者应当根据实际情况,权衡两者之间的优劣,作出最适合项目的选择。
407 4
|
机器学习/深度学习 数据采集 算法
利用未标记数据的半监督学习在模型训练中的效果评估
本文将介绍三种适用于不同类型数据和任务的半监督学习方法。我们还将在一个实际数据集上评估这些方法的性能,并与仅使用标记数据的基准进行比较。
853 8
|
数据采集 XML 运维
什么是主数据管理?企业主数据管理方法论
主数据又被称为黄金数据,其价值高也非常重要。对企业来说,主数据的重要性如何强调都不为过,主数据治理是企业数据治理中最为重要的一环。主数据管理的内容包括 主数据管理标准、主数据应用标准 和 主数据集成服务标准 三大类。
|
缓存 关系型数据库 MySQL
Java 实现实时监听MySQL数据库变更MySQLBinListener
Java 实现实时监听MySQL数据库变更MySQLBinListener
|
JavaScript 前端开发 开发者
Angular框架:企业级Web应用的强大后盾
Angular,谷歌支持的JavaScript框架,因其组件化架构、双向数据绑定、依赖注入和路由系统,成为企业级Web开发首选。组件化促进代码重用,如`AppComponent`示例。双向数据绑定简化DOM操作,减少手动工作。依赖注入通过示例展示易管理依赖,提升测试性。路由则支持SPA开发,平滑页面过渡。Angular的特性增强了开发效率和应用质量,使其在Web开发领域保持领先地位。【6月更文挑战第25天】
207 2
|
Nacos
SpringCloud-Day2常见问题及解决方案
SpringCloud常见问题及解决方案:项目启动时遇到"IllegalArgumentException: Could not resolve placeholder 'pattern.dateformat'"错误,原因可能是bootstrap.yml或yaml文件命名不正确。检查并确保文件名正确。另外,如果Nacos配置文件创建错误,可调试com.alibaba.cloud.nacos.client.NacosPropertySource#getSourceMap方法,检查参数propertySources是否为空,以判断是否需要重新创建配置文件。
188 0
|
存储 开发工具 git
remote repository
远程仓库(Remote Repository)是什么? 远程仓库是一个存储在网络上的代码库,它可以存储和管理大量的代码文件。开发者可以通过远程仓库来共享代码、协作开发并控制代码的版本。远程仓库中最常用的就是GitHub、GitLab和Bitbucket等代码托管平台。
307 1
|
分布式计算 资源调度 Hadoop
在Linux系统上安装Hadoop的详细步骤
【1月更文挑战第4天】在Linux系统上安装Hadoop的详细步骤
1429 0
|
存储 数据采集 人工智能
社区供稿 I 基于Qwen-7B的垂域大模型——MindChat(漫谈)心理大模型上线魔搭
心理大模型——漫谈(MindChat)期望从心理咨询、心理评估、心理诊断、心理治疗四个维度帮助人们纾解心理压力与解决心理困惑,提高心理健康水平。
|
存储 Linux iOS开发
聊聊几款文件同步备份工具,你更喜欢哪一款呢?
文件备份对企业的价值对于绝大多数人而言,电脑中的不少文件对于我们来说都非常重要,一旦丢失,损失将会难以估量。随着网络威胁的不断发展和变得越来越复杂,文件传输和托管文件传输之间的区别对于企业来说至关重要。应用先进技术管理文件传输的挑战在于区分以文档为中心的协作文件共享和自动...
2050 1
聊聊几款文件同步备份工具,你更喜欢哪一款呢?