给初级开发者的 10 条建议——我从指导实习生中学到的经验
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
所以……我刚刚创建了一个新的 YouTube 频道(哎呀),叫做“开发者习惯”。频道主要讨论的主题是成长型思维、开发者生活方式和技术教程。
第一个视频是关于给初学者的建议。主要内容是我作为初级员工时遇到的困难,以及我在指导实习生时观察到他们遇到的问题。
话虽如此,欢迎观看视频(并订阅哦!),或者直接浏览以下列表:
1. 不要试图同时学习所有东西
就我个人经验而言,学习编程很难。倒不是因为要学习写代码,而是因为市面上的技术种类繁多。选择专注于哪一种技术就很难。首先,你得选择一门编程语言。然后,你还得选择常用的库。例如,在前端 JavaScript 生态系统中,我们有很多不错的库,比如 React、Vue 和 Angular。它们都能用于同一个目标。最终……其实都差不多。它们都能完成任务。
所以,与其同时学习多种语言和/或框架,不如只选择一种。这样可以缩小范围,掌握基本概念。当你精通一种之后,学习另一种(如果需要的话)就会容易得多。
2. 慢慢来!不要着急,慢慢来,试着理解你到底在做什么。
我以前做实习生的时候也犯过一个错误,现在指导实习生的时候也注意到了,那就是急于求成。拿到任务后,很容易兴奋起来,立刻开始写代码。也许最终你能成功,但方法可能不太规范。根据我的经验,你应该先拿张纸,思考一下该如何着手完成任务。如果实在没有头绪,可以向导师寻求帮助,或者上网搜索相关信息。这样你就能事先构建出一个逻辑清晰的解决方案,之后将想法转化为实际可行的方案就容易多了。
这引出了我的另一点……
3. 不要直接复制粘贴代码。当你在网上找到解决方案时,要先理解它,然后进行修改和重写!
当你在网上找到解决方案时,请千万不要直接复制粘贴。相信我,我曾经也经历过那种把各种 WordPress 网站代码片段拼凑在一起的阶段。虽然最终完成了工作,但我的代码质量极差,经不起任何批评。代码里到处都是 bug,而且我也没学到什么东西……
所以我的建议是,如果你找到了一个可行的示例,请逐行阅读,理解其原理,然后根据自己的需要进行修改并重写。这样,它就不仅仅是网上找到的示例,而是真正由你自己编写的东西。
4. 给自己设定时间限制
我的天哪!这一点的重要性怎么强调都不为过。开始做新事情的时候,一定要给自己设定时间限制。
我发现自己也经常这样做,而且在上一个项目中也注意到,很容易陷入时间的漩涡,尝试各种根本行不通的解决方案。我鼓励你事先自己尝试,但优秀的开发者知道何时寻求帮助。所以我的建议是:每当你开始一项新任务时,都设置30分钟的时间段。如果你发现30分钟过去了没有任何进展,那就去寻求帮助。
5. 行动前先制定计划
关于规划和任务分块,这里有一个简单易行的技巧——把任务分成小块。这样一来,你就能轻松追踪自己的进度,而且每完成一块,都会有成就感。
6. 做一个利用你在工作中使用的技术的副业项目
如果你是一名初级开发者,我的建议是做一个利用你工作中所使用的技术的业余项目。通常情况下,在工作中你无法从零开始创建项目,但拥有自己的项目可以让你有机会接触到平时不会用到的语言/框架部分。
我记得刚入行做专业开发人员的时候,我们正准备开始使用 Docker。当时我对它了解不多。但后来我做了一个利用 Docker 和自动部署功能的个人项目。之后,我才有机会参与 Docker 相关事务,并在工作中真正运用我的技能。
7. 要谦虚!
我记得以前和导师们结对编程的时候,有时会想“天哪,他怎么会不知道那个快捷键或者那个函数呢……”现在我自己也当了导师,从另一个角度看待这个问题。我的体会是——要保持谦逊,因为没有人是无所不知的。软件开发是一个持续学习的过程。你可能比你的导师更了解最新的小技巧/方法,但这本身并不能让你成为一名优秀的开发者。开发更多的是关于沟通、架构决策和软件设计,而不是那些细小的语法技巧。
所以……要谦逊。尽可能地教导他人,但永远要心怀感恩!
8. 记下你正在做的事情
我从一位刚入职的同事那里学到了一点:记日记或日志,记录自己做过的事情和学到的东西。这真是个好主意,原因有二:首先,你必须以自己日后理解的方式把事情写下来;其次,它还能让你随时查阅自己过去解决问题的方法。
9. 远离电脑。
我数不清有多少次,在做与编程完全无关的事情时,我突然想到了解决问题的办法。有时候是在我刚起床的时候,有时候是在我慢跑之后,有时候只是在喝杯咖啡的短暂休息时间。
我的意思是……你不必一直坐在电脑前工作。即使离线,你仍然可以思考这些问题。
10. 休息一下!这样你会更有效率,记忆力也会更好。
前面提到的这一点自然而然地引出了休息的重要性。我自己也很难做到这一点,但是……我强烈建议你定期休息。例如,你可以编程30-45分钟,然后休息5分钟。相信我,这对你的身心健康都很有益处。
此外,别忘了抽出时间培养与编程无关的爱好。
文章来源:https://dev.to/kethmars/10-tips-for-beginner-developers-things-i-learned-by-mentoring-interns-5434