全文共2521字,预计学习时长5分钟
图片来源:unsplash.com/@rossf
本文的作者是一位真正的“跨界人才”。有多“跨”呢?她曾在市场营销的岗位上,重构了所在公司的移动应用前端。后来,她得到了开发岗位,逐渐成为了一名经验丰富的开发人员。
也许,你也跟她一样,想在数字时代成为一名斜杠青年。那么,这篇文章你应该好好读一读。
我的第一份开发岗位的工作是极其偶然得来的。我本来是一个新入职的市场营销人员,但在营销工作的六个月内,我重构了该公司的整个移动应用前端。
在此之前,我已经写了很长一段时间的代码了,那时我到处为朋友以及朋友的朋友们搭建网站。作为一个典型的在90年代成长的孩子,我的记忆夹杂着拨号上网、软盘和盒式磁带,还有在晚餐时间播放的那首歌曲“Fresh Prince of Bel-Air theme”。
从市场营销到程序开发,这是一个奇怪的跳跃,其中包含了一条巨大的学习曲线。也正因为那些恶补知识的日日夜夜让我踏入了程序开发的大门。
根据我的经历以及一路走来学到的东西,这里一共有25条经验以供参考。
1. 业内的每个人基本上都是自学成才。通常,传统的教育机构很难跟上科技的发展速度。如果想快速开始学会一些东西,最好参加微学位和纳米学位的课程并认证,而不是用三年时间通过考试。
2. 传统教育在基础研究中仍占有一席之地。学士学位是入门的一种方式,但不是唯一的方法。如果你是一个动手能力比理论能力强的人,且在未来10年内没有能力偿还学生贷款,那么互联网是一个不错的选择,如今互联网与10年前相比提供了更多的教学指南和结构化学习的机会。
图片来源:unsplash.com/@alvaroreyes
3. 要在本行业中有所作为,必须永远保持好奇心。必须时常提出有关程序如何运作的问题,以及为什么这样能起作用,特别是程序完成后的顿悟时刻。
4. 很长一段时间,你会觉得自己并没有真正改善,但若你开始回顾之前的代码或必须向其他人解释这些代码时,情况就会不一样了。
5. 作为新手来说,要写足够多的代码。学习编码就像学习写作一样。写得越多,就会注意到越多的范式、效率低下的原因、以及解决问题的办法。
6. 作为新手,你会遇到一个过于自负的阶段,认为自己知道一切。实际上到了中级阶段,你会发现自己正在放弃曾经展示出的自负。直到作为一名高级开发人员,你会给予别人足够的指导,引导那些经验不足的同龄人朝着正确的方向前进,但也会选择让他们偶尔在这个过程中挣扎,因为这也是学习创造的过程的一部分。
7. 由于知识的不足,代码会出现错误。代码是一种将编译器的需求转换为“计算机说话”的行为。如果出现问题,那么就是开发人员在这种转换中暂时地遇到了一些麻烦。
8. 当人们说你的代码写得很好,却不让你进入对你有直接影响作用的规划阶段时,说明你的代码写得还不是很好。
9. 作为一名开发人员,你将处于不断面对已知和未知的阶段。
10. 格式化是可读性方面的突破点。
11. 代码是一种沟通工具,要以人类可读的方式编写,而不是乱写写出只有创建者才看得懂的代码。当发生这种情况时,则该代码既无法自我记录也不够简洁易懂。
12. 函数编程范式在使事情变得简单化方面占有一席之地。面向对象的范式也可以作为组织和分类工具。这两种模式彼此不相互排斥,并且在必要时共存。
13. 条件代码。从长远来看,为了“最佳实践”而过度抽象代码可能遗留更多的技术问题。
14. 所有软件都会过时。五个月前的“完美”代码由于需求的变化、依赖性升级以及逻辑中不明错误,都有可能成为效率低下的代码。
15. 数据库就是一切。如果过度设计数据库,那么后端可能会因为其副作用而错综复杂。
图片来源:unsplash.com/@fatosi
16. 在团队合作时,流程是否扁平且自动化会成为决定生产力高低的因素。扁平结构意味着代码可以更快地通过流水线,自动化意味着花费更少的时间在点击、敲代码以及等待任务完成上。
17. 继承糟糕的代码已经成为一个必经阶段了。在开发人员的职业生涯中,每个人都会经历这一切。这也是一个从别人的错误中学习的机会,也是在为软件的未来发展方向提供好的发展空间。
18. 你将不断清理别人和过去的创作。这是因为代码就像食物一样,如果不消耗掉,就会变成剩菜剩饭,并且随着年数增长而变质。
19. 工作与生活的平衡与开发人员也是息息相关,因为我们都是人类。不要因为陷入刻板生活而忽视自己、朋友或家人。照顾好自己,不要让代码控制你的生活。
20. 如果觉得自己处于倦怠的边缘,可以停下来休息然后再回来,写出更具针对性或个人意义的代码。软件是客户与企业之间的接口。开发人员可以实现这一点。如果觉得自己没有真正为此做出贡献,或者只是不相信自己能做到,那么可以跳槽。你需要为自己所做的事感到自豪。无论最终身处何方,你都会获得一份不错的收入。
21. 不要太依赖其他人的代码。研究你所拥有的东西。专注于提高自己,让自己成为标杆。
22. 如果没有人打电话给你进行面试,那就去写代码吧。如果你没有经验可以写入简历,那就去写代码吧。如果周末有空并有些想法,那就去写代码吧。开发人员致力于代码写作。如果有一天停下了写代码的脚步,那么这就意味着我们要冒险转行进入管理团队。
23. 不要只学习编码。知识领域越大,项目编码就越容易。这是因为编码正在将世界的规则和过程转变为现实的数字来呈现。实际上你不可能有效地创造出一些你不理解的东西。
24. 你永远不可能掌握有关代码的所有知识,但是想法却是有限的。最好有大量的想法,并将它们作为代码创建过程的指南,最终写出更加稳定的软件。
25. 软件书籍永远值得阅读和投资,这些书籍深入研究了许多重要的思想——尤其是Robert C. Martin和Martin Fowler的书籍。他们是平凡开发者中的行业大神。
留言 点赞 关注
我们一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”