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

简介: 摘要:作为一个技术开发人员,不断的学习/提升技能是必不可少的,尤其是在这个日新月异的新时代。那么程序员们都是通过什么方法来给自己充电的呢?参加培新、参加讨论会、加入开源项目、读书读代码,还是自己写一本书? 本文是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

相关文章
|
6月前
|
自然语言处理 测试技术
技术写作者所需的关键技能和知识
成为一名优秀的技术写作者需要以下核心技能:
86 0
|
15天前
|
前端开发 Java 关系型数据库
探索后端开发:从基础到高级的旅程
【10月更文挑战第20天】本文将带你走进后端开发的世界,通过通俗易懂的语言和实际代码示例,让你从零基础开始,逐步了解并掌握后端开发的核心技术。无论你是初学者还是有一定基础的开发者,都能在这篇文章中找到适合自己的学习路径和方法。让我们一起开启这场技术之旅吧!
32 5
|
6月前
|
算法 程序员 测试技术
【专栏】编码之道在于平衡简洁与高效,不断学习以提升技能,创造优秀软件
【4月更文挑战第27天】本文探讨软件工程中的编码最佳实践,强调简洁代码的诗歌之美,遵循DRY原则,使用清晰命名及合理模块划分。追求高效性涉及算法选择、资源优化及并发编程。在快速变化的技术环境,程序员需持续学习新语言、框架和趋势,以保持竞争力。编码之道在于平衡简洁与高效,不断学习以提升技能,创造优秀软件。
66 4
|
6月前
|
机器学习/深度学习 设计模式 人工智能
拥抱变化:我的软件开发适应之旅
【5月更文挑战第30天】 在快速迭代的软件开发世界里,适应变化不仅是一种能力,更是一门艺术。本文以个人视角切入,探讨了如何在技术不断进步、工具日新月异的环境中保持自我更新与成长。从初识编程的困惑到成为一位能够灵活应对变化的开发者,文章回顾了学习历程中的挑战、实践和反思,提炼出适应变化的关键策略,并分享了在技术演变浪潮中保持个人竞争力的心得体会。
SFIA-技能和能力框架
SFIA-技能和能力框架
|
人工智能 Kubernetes 前端开发
未来3-5年,前端低代码化,具体往哪个方向发展更好就业?
未来3-5年,前端低代码化,具体往哪个方向发展更好就业?
|
机器学习/深度学习 人工智能 前端开发
从零开始:如何高效学习IT领域的技能与知识
无论你是想要入门IT领域,还是想要拓展你的技能,这些方法和案例都可以帮助你走上成功之路。记住,坚持不懈的努力和持续学习是取得成功的关键!
252 1
|
前端开发 JavaScript Java
软件开发和软件测试方向,到底选择那个会更好?
在选择职业方向时,开发和软件测试都有其独特的优势和挑战。开发方向通常与软件编码和功能设计相关,这需要深厚的编程技能和创造力。开发人员通常享有更高的薪酬和职业晋升机会,但也面临更多的工作压力和截止日期。另一方面,软件测试职业侧重于发现和修复软件中的问题,需要系统性思维和详细的测试技巧。测试人员通常拥有更好的工作生活平衡,但薪酬和职业晋升机会相对较低。 选择哪个方向更好取决于个人兴趣和职业目标。如果你喜欢解决复杂问题、编写代码并参与项目的全面开发过程,开发方向可能更适合你。如果你更喜欢分析和发现软件中的问题、确保产品质量,那么软件测试可能更适合你。此外,考虑你的技能和职业目标,以确定哪个方向更有
322 0
|
程序员 开发者
什么是全民开发?|概念、技能和优势
国内普遍将Citizen Development翻译为公民开发,但草料二维码认为Citizen Development并不一种技术,而是一种工作模式和规范,应该被翻译为全民开发,即每一个懂业务的人都可以成为开发者。
142 0
|
机器学习/深度学习 SQL 分布式计算
推荐算法工程师需要掌握哪些核心技能点?(二)
推荐算法工程师需要掌握哪些核心技能点?(二)
341 1
推荐算法工程师需要掌握哪些核心技能点?(二)
下一篇
无影云桌面