如何做一名出色的初级开发?
程序员文章站
2022-07-12 11:12:54
...
希望本文能够为初级开发人员提供一些建议,帮助他们成长为合格的开发人员,并推动他们朝着正确的方向前进。
作者 | Daan
以下为译文:
初级开发人员的生活从来都不会一帆风顺。软件开发的工作很艰难。技术的进步日新月异,世事瞬息万变。今天掌握的知识可能明天就过时了。
作为初级开发人员,你可能会感觉不知所措。由于缺乏经验,从事这项工作会更加困难。
在朝着合格的软件开发迈进的路上,你的职业生涯才刚刚开头。由于需要学习的技术太多,因此你需要了解如何才能成为一名出色的初级开发。
源代码控制
对于有经验的开发人员而言,源代码控制只不过是一项基本技能。但是,大多数初级开发人员都会在源代码控制上碰壁,至少会遇到某种程度上的困难。有些人可能不明白源代码管理能干些什么,以及为什么有必要进行源代码管理。
如果你想成为一名出色的初级开发,那么需要重点掌握的不仅仅是pull、commit和push。这些是每个开发人员都应该掌握的基本命令。除此之外,你还需要掌握如何将文件放入暂存区、如何合并冲突,并了解创建补丁程序和发行版本的基本流程。
此外,你还需要了解这些功能背后的理论。了解每个功能的用途以及使用的时机。一旦掌握这些知识,你就可以处于领先地位。
你需要学会使用GUI工具(例如Sourcetree)。实际上,如果你不熟悉源代码控制,那么我强烈建议你使用Sourcetree。
GUI工具将最常用的操作都抽象了出来,你只需点击鼠标即可完成这些操作,而且也可以让你更深入地了解幕后的实际情况。
如果你想像真正的专业人士一样进行源代码控制,则可以通过终端输入控制命令。但是,我不建议初学者这么做。
你只需熟悉源代码控制,并熟悉可能遇到的一切情况。在充分理解源代码控制及其工作原理之后,学习命令就会非常容易。
编程
很多开发人员希望大部分工作时间都可以编写代码。编程是你工作中最令人兴奋的部分。然而,对于初级开发人员来说,编写代码可能是一项很大的挑战。
初级开发人员最常见的错误之一就是编写看似很精致的代码。通常用怪异的方式编写一行代码的人都是初级开发,其实这种做法会将简单的问题复杂化,让代码更加冗长,从而导致发生错误的风险增高。
如果你想成为一名出色的初级开发,那么就应该尽量写简单明了的代码。但是编写简单的代码很困难。而且大多数初级开发人员都不会这样做。
这正是你从众多初级开发人员中脱颖而出的好办法。编写简单的代码需要思虑周全。需要进行多次的重构,直到代码正确为止。你应该尽量遵循KISS原则:保持简单和愚蠢。
对于初级开发人员来说,重要的是至少经历一次完整的开发周期,了解软件项目涉及的范围。从零到功能全面的产品,开拓你的视野。
在这一路上,你可能会犯很多错误,但是犯这些简单的错误才能让你不断学习。所以,应该尽快想办法经历完整的开发周期吧。
对于开发人员而言,另一项宝贵的技能是在卡壳的时候,知道提出怎样的问题。每个人都会遇到不知该如何解决的问题。
大多数初级开发人员在陷入困境的时候,都需要获得必要的资源或巨大的推动力才能朝着正确的方向前进。清楚自己应该提出怎样的问题,以及采取怎样的正确行动跟进这些问题,正是让你从众多初级开发人员中脱颖而出的好办法。
为团队做贡献
很多初级开发人员都试图通过承担冲刺中最复杂的用户故事来向队友证明自己。
实际上,你真没必要向队友证明自己。他们其实很希望你能为团队做一些实际的贡献。因为在大多数情况下,让初级开发人员承担复杂的用户故事,都会引发灾难,最终都需要另一位开发人员站出来为初级开发人员善后。
虽然我很钦佩这些人的勇气,但每个人都应该量力而行。因为每个人都有自己的工作,没人愿意为他人收拾残局。如果你真的想为团队出份力,就应该承担最简单的任务。
你可以挑选一些点数最少的用户故事。或者,也可以改一些小bug,只需几行代码即可修复的错误。在这个过程中,你不仅可以更好地了解代码库,而且也为团队做出了实际的贡献。
大多数经验丰富的开发人员都喜欢承担复杂的工作,因为他们喜欢接受挑战,这对你来说是件好事,因为这样一来“简单”的工作就可以留给你了。
学习,学习,再学习
初级开发人员的知识远比不上于一般开发人员,这是事实。因此,不断学习很重要,你需要不断缩小晋级下一级别所需的知识鸿沟。你应该尽可能地汲取信息。
仔细阅读每个合并请求,即便你并不是代码审核人,因为其中包含了很多有价值的信息。你可以通过查看每个合并请求,洞悉其他开发人员解决这些问题的方法,以及背后的思考过程。
如果你有机会与另一位队友结对编程,那么应该牢牢抓住机会。
你应该是坐在驾驶员座位上的开发人员,然后让队友指导自己。一边写代码,一边说出你的想法,让队友了解你的思考过程,并相应地提供反馈。
最后,为了掌握你们所用的技术栈,你必须下一番功夫。通过不断的实践,达到完美。你需要大量编程,犯错,然后改正。这是让自己不断进步的唯一方法。
此外,如果你想付出更多的努力,则可以尝试练习最佳实践,并了解架构、性能、安全等方方面面的知识。
作者 | Daan
以下为译文:
初级开发人员的生活从来都不会一帆风顺。软件开发的工作很艰难。技术的进步日新月异,世事瞬息万变。今天掌握的知识可能明天就过时了。
作为初级开发人员,你可能会感觉不知所措。由于缺乏经验,从事这项工作会更加困难。
在朝着合格的软件开发迈进的路上,你的职业生涯才刚刚开头。由于需要学习的技术太多,因此你需要了解如何才能成为一名出色的初级开发。
源代码控制
对于有经验的开发人员而言,源代码控制只不过是一项基本技能。但是,大多数初级开发人员都会在源代码控制上碰壁,至少会遇到某种程度上的困难。有些人可能不明白源代码管理能干些什么,以及为什么有必要进行源代码管理。
如果你想成为一名出色的初级开发,那么需要重点掌握的不仅仅是pull、commit和push。这些是每个开发人员都应该掌握的基本命令。除此之外,你还需要掌握如何将文件放入暂存区、如何合并冲突,并了解创建补丁程序和发行版本的基本流程。
此外,你还需要了解这些功能背后的理论。了解每个功能的用途以及使用的时机。一旦掌握这些知识,你就可以处于领先地位。
你需要学会使用GUI工具(例如Sourcetree)。实际上,如果你不熟悉源代码控制,那么我强烈建议你使用Sourcetree。
GUI工具将最常用的操作都抽象了出来,你只需点击鼠标即可完成这些操作,而且也可以让你更深入地了解幕后的实际情况。
如果你想像真正的专业人士一样进行源代码控制,则可以通过终端输入控制命令。但是,我不建议初学者这么做。
你只需熟悉源代码控制,并熟悉可能遇到的一切情况。在充分理解源代码控制及其工作原理之后,学习命令就会非常容易。
编程
很多开发人员希望大部分工作时间都可以编写代码。编程是你工作中最令人兴奋的部分。然而,对于初级开发人员来说,编写代码可能是一项很大的挑战。
初级开发人员最常见的错误之一就是编写看似很精致的代码。通常用怪异的方式编写一行代码的人都是初级开发,其实这种做法会将简单的问题复杂化,让代码更加冗长,从而导致发生错误的风险增高。
如果你想成为一名出色的初级开发,那么就应该尽量写简单明了的代码。但是编写简单的代码很困难。而且大多数初级开发人员都不会这样做。
这正是你从众多初级开发人员中脱颖而出的好办法。编写简单的代码需要思虑周全。需要进行多次的重构,直到代码正确为止。你应该尽量遵循KISS原则:保持简单和愚蠢。
对于初级开发人员来说,重要的是至少经历一次完整的开发周期,了解软件项目涉及的范围。从零到功能全面的产品,开拓你的视野。
在这一路上,你可能会犯很多错误,但是犯这些简单的错误才能让你不断学习。所以,应该尽快想办法经历完整的开发周期吧。
对于开发人员而言,另一项宝贵的技能是在卡壳的时候,知道提出怎样的问题。每个人都会遇到不知该如何解决的问题。
大多数初级开发人员在陷入困境的时候,都需要获得必要的资源或巨大的推动力才能朝着正确的方向前进。清楚自己应该提出怎样的问题,以及采取怎样的正确行动跟进这些问题,正是让你从众多初级开发人员中脱颖而出的好办法。
为团队做贡献
很多初级开发人员都试图通过承担冲刺中最复杂的用户故事来向队友证明自己。
实际上,你真没必要向队友证明自己。他们其实很希望你能为团队做一些实际的贡献。因为在大多数情况下,让初级开发人员承担复杂的用户故事,都会引发灾难,最终都需要另一位开发人员站出来为初级开发人员善后。
虽然我很钦佩这些人的勇气,但每个人都应该量力而行。因为每个人都有自己的工作,没人愿意为他人收拾残局。如果你真的想为团队出份力,就应该承担最简单的任务。
你可以挑选一些点数最少的用户故事。或者,也可以改一些小bug,只需几行代码即可修复的错误。在这个过程中,你不仅可以更好地了解代码库,而且也为团队做出了实际的贡献。
大多数经验丰富的开发人员都喜欢承担复杂的工作,因为他们喜欢接受挑战,这对你来说是件好事,因为这样一来“简单”的工作就可以留给你了。
学习,学习,再学习
初级开发人员的知识远比不上于一般开发人员,这是事实。因此,不断学习很重要,你需要不断缩小晋级下一级别所需的知识鸿沟。你应该尽可能地汲取信息。
仔细阅读每个合并请求,即便你并不是代码审核人,因为其中包含了很多有价值的信息。你可以通过查看每个合并请求,洞悉其他开发人员解决这些问题的方法,以及背后的思考过程。
如果你有机会与另一位队友结对编程,那么应该牢牢抓住机会。
你应该是坐在驾驶员座位上的开发人员,然后让队友指导自己。一边写代码,一边说出你的想法,让队友了解你的思考过程,并相应地提供反馈。
最后,为了掌握你们所用的技术栈,你必须下一番功夫。通过不断的实践,达到完美。你需要大量编程,犯错,然后改正。这是让自己不断进步的唯一方法。
此外,如果你想付出更多的努力,则可以尝试练习最佳实践,并了解架构、性能、安全等方方面面的知识。
上一篇: 常用的位操作:置位、清零与测试
下一篇: 常用的位操作:置位、清零与测试