开发人员之间所谓的不同“级别”的界线是模糊 的。如果你问高级开发人员、开发经理或技术总监:“初学者、初级、中级和高级之间的区别是什么?”那么很有可能他们会给你截然不同的意见。
由于存在各种各样的意见,因此想花时间搞清楚如何成为“高级”或“中级”开发人员,实际上并没有太大帮助性,所谓的“级别”在大多数情况下都纯属个人意见。
因此,在本文中,我们想提出一些你可能没有考虑过的方面,如果你照做了就有可能提升自己的开发水平。
建立一个实质性的项目
ReactJS计算器?看着很酷,但并不务实。待办事项清单应用程式?也是很有趣的小工具,但不务实。在本文中,我们来谈论一些与众不同的教程,大多数人都可以尝试一下。
这些与众不同的教程将从不同的视角、端点和功能出发,构建具有独特性且能展示开发人员创造力的应用。
那么,我们认为“实质性项目”的例子有哪些呢?
- 照顾狗狗。
- 宠物小精灵爱好者的微型社交网络。
- 供其他人使用的Web后端或前端框架——不是说让你加入框架大战,而是让你了解如何构建框架!
- 利用你平时主要使用的编程语言构建一个程序包,并在多个项目中使用。
网上有很多时髦的例子,但重点在于你需要围绕你超级感兴趣的事物构建一个更大的项目,或者构建一个完全超乎你当前理解范围的事物。很明显,这两种项目都可以提升你自己,因为你会遇到各种新概念。
向开源做贡献
构建你自己的开源软件包/应用程序,或向现有的代码库贡献代码。
你自己的开源软件包
如果你想构建自己的软件包,那么首先请确保不是来自某个教程,而是你真正想发布给别人的东西。
记录你的创作过程
如果你可以创建博客文章或视频系列,记录创建方式/原因以及思考过程,那么就更好了。这不仅可以让你从讲故事的角度思考问题并获得新的见解,而且还可以很好地证明你的能力,此外,还可以让成千上万的读者通过你的这个项目受益。
别人的代码库
你可以查看一些非常流行代码仓库,比如PHP、Python、java软件包和插件(它们都在GitHub上)。很有可能这些软件包中都含有很多未解决的问题。
仔细阅读代码库制定的代码贡献指南,通常在代码根目录下的某个.MD文件中,你应该首先阅读该文档,然后开始解决问题。而且你可以更进一步添加一些实用的功能。
这样做的目的有很多:
- 证明你能够遵循编程准则(展示给潜在雇主)。
- 你是开源社区的一员,某个代码库的贡献者中有你的名字。
- 你熟练掌握了分叉、拉取请求与提交。
- 你可以了解社区维护的软件包,而且有机会采用一些更好的编程实践。
阅读高级开发人员的代码
这是开发人员提升自己的最快方法之一。因为大多数时候,你所阅读的代码都超出了自己当前的水平。
努力理解这些代码,并与自己的代码进行比较,设法寻找可以改善自己的实现的模式,同时记录下所有能够提高自己的工作流程的技术细节。
如果你目前没有在某家公司就职的话,那么可能没法这样做。如果你真的没有在公司就职,那么可以从社区寻找开源项目,社区的开发人员经验非常丰富,你可以阅读并理解他们的代码。
在阅读其他开发人员的代码时,如果有人能够回答你遇到的问题,那么就更好了。你需要让他们知道你在努力理解高级代码,请求他们回答你的一些问题。很多人都愿意提供帮助。