开发人员的必备技能
这篇文章最初发表在silvestar.codes上。
成为一名开发人员需要特定的技能和工具。我努力整理了职业生涯中积累的所有技能、工具和技术,数量之多令我感到惊讶。在这个过程中,我意识到了开发人员必备的技能是什么。
我是从前端开发人员的角度撰写这篇文章的,但它可以应用于每个现代开发分支。
思维导图
我创建了一个思维导图,记录了我在职业生涯中获得的技能和工具。它的灵感来自Kamran Ahmed的Web 开发者路线图。Kamran 的路线图让我思考我学到了什么,我掌握了多少技能,以及这些技能是否仍然有效且必不可少。我使用我的Toptal 个人资料作为技能和工具的参考,因为我一直在努力保持我的个人资料更新。
回顾所有技能后,我决定根据我的就业状况将我的职业生涯分为三个部分。
失业年限
刚开始的时候,我并不清楚自己想要什么样的职业。我学习了 Web 基础知识,因为一旦掌握了基础知识,我就能找到一份 PHP 开发人员的工作。掌握循环、表单、模板和 AJAX 对我来说似乎是不可能的。经过几个月的不眠之夜和没有收入的煎熬,我终于觉得自己掌握了基础知识。
虽然才刚开始,但我就已经知道自己想成为一名 Web 开发者。用代码解决问题很痛苦,但同时也很满足。很快我就发现,学习和掌握新技能的努力是值得的。
组织年限
就这样,我开始了 PHP 开发的工作。凭借着这些基础知识,我终于有机会参与一个真正的项目了。我想构建一些炫酷的网站和强大的应用程序,但我却一无所知。我不知道你是怎么想的,但我感觉世界崩塌了。我意识到自己一无所知。如何建立一个项目?如何开始?从哪里开始?
在与导师进行了无数次的磋商,解决了大约十亿个 bug 和问题之后,我终于开始编写出可以运行的代码。在此期间,我学到的最重要的技能是如何找到特定问题的答案。我还获得了一套新的技能,比如设置 IDE,它能让我把更多的时间花在编码上,而不是花在查找拼写错误上,以及如何使用 Composer。
每次成功我都会学到新东西。每次失败我都会学到更多。
在从事了几年不同的项目之后,我开始习惯自己做决定。我探索了解决问题的不同方法。每次成功,我都会学到新的东西。每次失败,我都会学到更多。
突然间,仅仅知道如何编写代码已经不够了。需要使用 Redmine、Git 和 Bower 等工具来提高生产力。有时候,学习如何使用工具比调试 IE 错误更让人难受。而且,这也很耗时。我不得不把宝贵的时间花在学习上,而不是赚钱。
在我职业生涯的这个阶段,我知道自己想要在前端开发方面做得更好。很快我就换了工作,开始在一家更知名的机构担任前端开发人员。这家机构鼓励积极主动性,所以学习新技术和工具,并与团队分享知识,是工作的一部分。
那是一段学习的好时光。每月,甚至每周都会推出更多工具。选择学习什么、使用什么并非易事。把时间投入到对项目或团队没有好处的事情上,对任何人都没有好处。
我也学会了如何向团队其他成员展示所学知识。公开演讲,即使是在熟悉的团队面前,也并非易事。我仍然不太习惯向别人展示一些东西。我们举办了团队建设、会议和研讨会,我努力做到尽可能专业。这次,我不得不把时间花在其他方面,而不是专注于编写代码。这次不同,因为我知道这是投入的时间,而不是浪费的时间。
自由职业生涯
去年我开始了自由职业。对我来说,这是非常棒的一年,我与杰出的专业人士合作完成了许多杰出的项目。远程工作和不断兼顾项目意味着需要适应新的环境。这时,花费数小时、数天甚至数月的时间学习新工具就变得非常有用了。
学习和使用新工具和应用程序是工作的一部分。
在我看来,过去一年我学到的技术和工具比之前所有工作都多。我并不喜欢学习所有这些,但我也不介意。学习和使用新的工具和应用程序是工作的一部分。
对我来说,适应新环境至关重要。我并不羞于承认自己从未使用过某种技术或技巧。重要的是不要害怕学习。我合作过的大多数人在这种情况下都很灵活,也很理解。
结论
一部老电影里的台词可以应用在这里:
我每天都在各方面变得越来越进步。
我学到了一个宝贵的教训:学习是工作的一部分——开发人员不可能无所不知,这是不可能的。永远不要停止学习和提升自己。📚
文章来源:https://dev.to/starbist/the-essential-skill-of-a-developer-3od5