如何在最短的时间内掌握一门新技术?
渐进式进步
参考
反馈
鉴于软件行业的不断变化,学习新技术是开发人员最重要的技能之一。通常情况下,很难找到理想的情况,让你先参加专家主持的为期三天的培训课程,然后与经验丰富的同事进行结对编程。以下是当你发现自己在完全陌生的技术栈中工作,并且没有太多指导时的生存策略草稿,例如,以 Java 开发人员的身份编辑 React 代码。
渐进式进步
知识获取并非线性过程。然而,学习活动的难度应根据学员当前的能力水平进行调整,以确保学习过程愉快。
新手
旅程总是始于“新手”阶段。这个阶段主要是为了了解背景并迈出第一步。
理解工具的哲学
?谁创造了它?它为什么诞生?它解决了哪些问题?
探索生态系统:
谁在使用它?资金流向何方?有哪些信息来源?它与其他替代方案相比如何?
明确学习目标:
你想要达到什么目标?需要掌握哪些子技能?它们之间有什么相互依赖关系?哪些领域超出了你的学习范围?
入门
设置一个可以进行实验的环境(例如,编写“Hello, World!”程序)。
初学者
在下一阶段,您需要了解基础知识(例如编程语言的条件、循环和语句)。
培训课程
申请参加培训课程。如果无法参加,可以尝试寻找优质的视频教程。
购买书籍
,概览所有可用书籍。购买经验丰富的作者撰写的书籍,这些作者对相关主题的教学准备投入了大量精力。
浏览一下这本书,了解你不知道的内容,然后在相关时阅读相关章节。
在深入企业项目
之前,先用一个比较实用的示例项目(例如一个TODO应用)来探索这项技术。如果能创建一个内部生产力工具就更好了。
中介
现在你已经熟悉了基础知识,可以开始实际项目了。请注意,此阶段的学习需要付出相对较大的努力。
实验
借助在初学者阶段创建的游乐场项目,可以探索新的子技能,而不受生产系统复杂性的负担。
文档:
将经验教训的片段记录在内部维基百科或其他知识管理工具中。这将有助于减少回忆所需的时间。
阅读:
趁空闲时间,把上一阶段学到的书从头到尾读一遍。也可以考虑运用其他阅读技巧。
先进的
能够完成工作后,应该掌握技能,以便能够毫不费力地应用它。
教导他人
教学是最好的学习技巧之一,因为当您尝试解释时,您会注意到您还不知道的东西。
这可以通过开展内部培训课程或指导同事来实现。其他教学形式包括撰写博客文章或录制截屏视频。
讨论
最后,分析该技术的优缺点。然后参加会议和聚会进行讨论。
也许你会在那里发现一项很酷的新技术并可以重新开始这个过程。
参考
- 德雷福斯技能习得模型——Stuart E. Dreyful、Hubert L. Dreyfus #paper
- 软技能:软件开发人员的生活手册——John Sonmez #book
- 程序员练习——Brian P. Hogan #book
- 打造出色的开发人员——Kathy Sierra #talk
反馈
您认为这种学习模式的优势和劣势是什么?它是否因为一开始就必须进行研讨会和结对编程而存在内在缺陷?如果不是,如何优化它,才能让学习在公司时间中占到99%?
文章来源:https://dev.to/janux_de/how-to-pick-up-a-new-technology-in-minimal-time-2i4l