擅长一件事,而不是事事平庸
(照片由杰西卡提供)
随着时间的推移,网络不断发展和改进,已经有太多的东西需要学习,而且随着时间的推移,还会有更多东西需要学习。
对于任何新来者来说,这都是相当可怕的,而且很快就会变得难以承受。
两年前,我以实习生的身份在一家网络公司开始工作,没有任何实际经验,也不知道真正的网络开发是怎样进行的。第一天,我既兴奋地探索新事物,又对即将面临的艰巨任务感到恐惧。
最糟糕的部分(或者最好的部分,取决于你是半满还是半空的人)是,你对 Web 开发的各个方面了解得越多,你就越意识到你实际上知道的很少。
努力学习一切
新开发人员最常陷入的一个陷阱是试图理解和做很多事情,因为,我们承认这一点,每个人似乎都领先于你,而你要达到的“优秀”水平似乎越来越远。
作为一名开发者,很容易失去专注力,陷入“闪亮对象综合症”。篱笆那边的草总是更绿,编程也不例外,因为总有新的方法来构建东西,而且一个比一个更令人兴奋。
第一年,我开始利用空闲时间学习 Symfony,希望能提升自己的开发水平,但我却迷失了方向,开始尝试各种能接触到的东西。从 C 编译器到 Node.js,我什么都学,除了 Symfony,因为其他东西都比较新奇,也更刺激。
只要 Github 上不断涌现新的趋势,我就可以一直坚持下去。我花了无数的时间观察、阅读、学习和体验代码。
回想起来,我当时的注意力分散得太厉害了。当然,学习永远不会浪费时间。尝试新技术,并关注你所在生态系统中的新趋势总是好的。
然而,当你专注于一件事时,你才真正开始突破你的极限和工具的极限:一个框架、一种语言、一个项目等等。并且你将在此过程中获得更深入的知识。
从各方面都平庸到擅长某件事
成功需要专注的目标。你需要用更少的事情换来更大的效果,而不是做更多有副作用的事情。——盖瑞·凯勒著《最重要的事》
(我强烈推荐阅读Gary Keller 的《The ONE Thing》,这不是一本常见的编程书籍,但非常有趣且令人大开眼界)
在我作为在职学生的最后一年,我开始转变看待“进步”的方式,从“我掌握的技术和语言越多,我就越优秀”的心态转变为“我对已经掌握的技术和语言理解得越好,我就越优秀”。
所以我专注于我已知的一些知识:用 PHP 进行后端开发。确切地说,是用Laravel进行后端开发。
在了解了基础知识并对框架有了总体感觉之后,我更多地专注于利用我当前的知识来构建事物,而不是学习GitHub上的下一个流行事物。
我开始建造一些东西,有用的东西(至少对我来说有用),那时我开始意识到,我一直在学习新的东西,但我没有学习使用新工具,而是学会了如何充分利用我已有的工具。
我提高了代码的可重用性,开始使用设计模式,在代码库中实现了DRY和SOLID等核心概念,了解了测试驱动开发等。
总的来说,我不仅成为了一名更优秀的 PHP 后端开发人员,也成为了一名更优秀的开发人员。因为,当你学习并熟练掌握你的工具时,你就能开始学习超越框架或语言的编程,并开始实现适用于你所掌握的任何技术的通用概念。
当我成为一名还算不错的Laravel开发人员时,我也以 Laravel 自由开发人员的身份开始了我自己的事业,为了专注于我所知道的并不断改进,我会在任何项目的后端工作,并将任何前端或不合适的工作发送给另一个自由职业者。
这样,我就能真正专注于一件事,同时还能提升我的自由职业技能,而且我不会局限于自己的知识来做项目。我可以继续做下去,不断提升自己的知识,同时还能学到一些编程之外的宝贵经验,比如项目管理和远程团队合作。
渐进式学习方法
当您对自己使用当前工具的能力充满信心时,您可以开始逐步将新技能融入到您的开发人员组合中,但不是随机技能,在最好的情况下,这项技能可以完善您的技能,目标保持不变,“利用您已知的知识变得更好”,您可以通过互补技能实现这一目标。
最终目标是始终以提升现有知识为目标进行学习,从而实现整体提升。通过这种方法,你可以轻松地开始使用现有技术栈并实现新工具的功能。
对我来说,学习Vue.js是为了在自由职业中成为更全栈的开发者。
对于后端开发人员来说,学习服务器管理可以提升自己的作品集,从而了解如何独立实现一个完整的 Web 应用。
对于前端开发人员来说,设置并使用PostCSS可以提升代码质量并提升工作流程。
选择无穷无尽,而目标始终如一:提高自己的实力,实现特定的目标。
喜欢这篇文章吗?想看看我的最新动态吗?你可以在Twitter、Instagram和Github上关注我。
特别感谢:Abdoulaye、Samuel和Jean-Baptiste
文章来源:https://dev.to/excessivecoding/be-good-at-one-thing-not-average-at-everything-1bf1