作者 | JS dev Ray
译者 | 弯月,责编 | 郭芮
出品 | CSDN(ID:CSDNnews)
在过去十年的职业生涯中,我个人的发展并不是一帆风顺,大多数时候我都失败了,而且败得很惨。但是,如果你永远不失败,那么也永远得不到成长!所以,从这个角度来说,我是一名快乐的失败者。我有幸能与大小组织中的许多聪明人一起工作。如果不是遇到他们,那么我永远也不能像今天这样成为一名开发。因此,在本文中,我想介绍一下我作为一名开发人员在从业十年间学到的七个最大的经验教训。下面请放松,享受,希望你能从本文中有所收获。
至今我仍记得那年我只有14岁,我的一位朋友搭建了一个网站,他写代码的样子和那个充满创意的网页让我倍受鼓舞。于是,我问他:“你用什么搭建的网站?”但是他的回答让我十分失望,他说:“就用记事本啊。”时光来到了我做开发的第一年。在当年那位朋友的回答的鼓励下,我尝试使用HTML和CSS做了很多东西。回顾过去,我犯了很多愚蠢的错误:还有很多很多......但是正是这些错误让我了解到为什么这些做法不可取。
在做开发的时候,在其他团队成员的帮助下,我改掉了所有这些错误,感谢他们一次又一次地给我反馈。为了取得成功,你必须经历很多次的失败。失败不是坏事!失败乃是成功之母!
在刚开始工作的头两年,我严重怀疑自己能否成为一名合格的开发。因为那时的我只接触了HTML、CSS和JQuery,但我感觉JavaScript太复杂了!多年后,我发现其实自己不需要那么聪明!我只需好好地学习基础知识,然后反复练习数天,甚至数周。但是,经历过这些实践后,我明白了为什么事情是这个样子的,以及为什么我会出错。因此,如果你以为只有超级聪明才能成为开发人员,那么你就错了!虽然聪明的人做开发更容易,但你也可以通过大量实践成为一名合格的开发。如果拿运动员做比较,听起来就很合乎逻辑了。运动员必须经过几天,几周、几个月,甚至几年的训练,才能参加奥运会。
我一直以为,那些聪明而且有很多经验的开发人员不会对自己的技术力缺乏安全感。但是我了解到,他们与初级开发一样缺乏安全感。许多高级开发人员面临“冒名顶替综合症”的频率比其他人更高。我承认自己偶尔也会遇到这个问题。我认为高级开发不必为此感到不好意思!我们都是人类,我们没有硬盘可以存储知识。而且我们也没有必要!曾经我的一位开发组长经过数小时的尝试,也未能解决某个问题时,我感受良多。当时,我就在想:“即便说我现在还不知道,也不是什么坏事!”高级开发人员之所以成为了高级开发人员,就是因为他们在工作中犯了很多错误。如果初级开发人员问我们问题,而我们不知道,那么我们可以说:“对不起,我不知道。”
如果你认为编写代码是软件开发最重要的技能,那么你又错了!这么多年来,我经历了无数个大小Scrum团队,每次回顾会议时,开发人员都会说:“没错,我们必须改善沟通,因为这里还有那里都出问题了。如果我们能更好地沟通,就可以避免这个问题。”如果你一个人工作,那么与团队内部的合作相比,沟通没有那么重要。但是,当你在团队中工作时,沟通是重中之重。团队或企业的成功取决于沟通(仅次于编程技术)。如果你所在的团队由顶尖开发人员组成但他们之间没有沟通,那么你们会遇到大麻烦。
作为开发人员,大多数时候我们不喜欢测试。我们这里测试一下,那里测试一下,但是不会深入场景测试。如果你的代码经常出错或出bug,那么就需要多花点时间进行测试!虽然你可以手动测试,但是如果编写自动测试(单元测试、集成测试、渗透测试等),则可以避免一些今后会遇到的不必要的问题。虽然编写自动测试可能不像构建新功能那样有趣,但是这些工作可以帮助你节省出更多时间来构建新功能!
我很喜欢帮助别人,但是我见过对初级开发人员很不礼貌的高级开发。我讨厌这种行为!我仍然记得,刚参加工作时,我在一位出色的首席开发人员的帮助下逐渐成长,他引导我成为了一名合格的JavaScript开发。当我不明白某些概念时,他一遍又一遍不厌其烦地给我解释,直到我完全理解!如果有朝一日你成为了一名出色的高级开发,那么请不要忘记自己当初的模样。想一想哪些人帮助了你,你从他们那里学到了什么!因为如果你热心地给予,那么也能获得回报。如果你很没有礼貌,那么也只能换来别人同样的礼遇!
上学的时候,我的学习能力很差,成绩总是不是很理想。但是,自从开始从事开发以来,我找到了适合自己的学习方式!我感到非常高兴。可能有人在Medium或我的网站上阅读过我写的有关JavaScript的文章。这些文章记载了我学习的过程。每当我想记住某个复杂的概念时,我就会写一篇文章,就好像向别人解释这个概念一样。我会编写一段示例代码,想办法让代码运行起来,然后再破坏代码。我想充分了解为什么代码能正常工作,如果无法正常工作又该如何修改。对我来说,这种方式的效果很好。我会定期打开我的文章,复习某个概念的工作原理。感谢您的阅读!作为开发人员,我竭尽全力在本文中总结了过去十年中学到的经验教训,希望能对你的职业发展有所启发。那么,你有哪些经验教训与我们分享呢?无论你是学生、新手还是高级开发人员,都没有关系, 让我们互相学习!原文:https://medium.com/better-programming/7-lessons-i-learned-while-being-a-developer-for-10-years-c0e3db2c1336作者:JS dev Ray,Javascript 开发。