- 浏览: 19054 次
- 来自: 北京
最新评论
希望本文能够为初级开发人员提供一些建议,帮助他们成长为合格的开发人员,并推动他们朝着正确的方向前进。
作者 | Daan
以下为译文:
初级开发人员的生活从来都不会一帆风顺。软件开发的工作很艰难。技术的进步日新月异,世事瞬息万变。今天掌握的知识可能明天就过时了。
作为初级开发人员,你可能会感觉不知所措。由于缺乏经验,从事这项工作会更加困难。
在朝着合格的软件开发迈进的路上,你的职业生涯才刚刚开头。由于需要学习的技术太多,因此你需要了解如何才能成为一名出色的初级开发。
源代码控制
对于有经验的开发人员而言,源代码控制只不过是一项基本技能。但是,大多数初级开发人员都会在源代码控制上碰壁,至少会遇到某种程度上的困难。有些人可能不明白源代码管理能干些什么,以及为什么有必要进行源代码管理。
如果你想成为一名出色的初级开发,那么需要重点掌握的不仅仅是pull、commit和push。这些是每个开发人员都应该掌握的基本命令。除此之外,你还需要掌握如何将文件放入暂存区、如何合并冲突,并了解创建补丁程序和发行版本的基本流程。
此外,你还需要了解这些功能背后的理论。了解每个功能的用途以及使用的时机。一旦掌握这些知识,你就可以处于领先地位。
你需要学会使用GUI工具(例如Sourcetree)。实际上,如果你不熟悉源代码控制,那么我强烈建议你使用Sourcetree。
GUI工具将最常用的操作都抽象了出来,你只需点击鼠标即可完成这些操作,而且也可以让你更深入地了解幕后的实际情况。
如果你想像真正的专业人士一样进行源代码控制,则可以通过终端输入控制命令。但是,我不建议初学者这么做。
你只需熟悉源代码控制,并熟悉可能遇到的一切情况。在充分理解源代码控制及其工作原理之后,学习命令就会非常容易。
编程
很多开发人员希望大部分工作时间都可以编写代码。编程是你工作中最令人兴奋的部分。然而,对于初级开发人员来说,编写代码可能是一项很大的挑战。
初级开发人员最常见的错误之一就是编写看似很精致的代码。通常用怪异的方式编写一行代码的人都是初级开发,其实这种做法会将简单的问题复杂化,让代码更加冗长,从而导致发生错误的风险增高。
如果你想成为一名出色的初级开发,那么就应该尽量写简单明了的代码。但是编写简单的代码很困难。而且大多数初级开发人员都不会这样做。
这正是你从众多初级开发人员中脱颖而出的好办法。编写简单的代码需要思虑周全。需要进行多次的重构,直到代码正确为止。你应该尽量遵循KISS原则:保持简单和愚蠢。
对于初级开发人员来说,重要的是至少经历一次完整的开发周期,了解软件项目涉及的范围。从零到功能全面的产品,开拓你的视野。
在这一路上,你可能会犯很多错误,但是犯这些简单的错误才能让你不断学习。所以,应该尽快想办法经历完整的开发周期吧。
对于开发人员而言,另一项宝贵的技能是在卡壳的时候,知道提出怎样的问题。每个人都会遇到不知该如何解决的问题。
大多数初级开发人员在陷入困境的时候,都需要获得必要的资源或巨大的推动力才能朝着正确的方向前进。清楚自己应该提出怎样的问题,以及采取怎样的正确行动跟进这些问题,正是让你从众多初级开发人员中脱颖而出的好办法。
为团队做贡献
很多初级开发人员都试图通过承担冲刺中最复杂的用户故事来向队友证明自己。
实际上,你真没必要向队友证明自己。他们其实很希望你能为团队做一些实际的贡献。因为在大多数情况下,让初级开发人员承担复杂的用户故事,都会引发灾难,最终都需要另一位开发人员站出来为初级开发人员善后。
虽然我很钦佩这些人的勇气,但每个人都应该量力而行。因为每个人都有自己的工作,没人愿意为他人收拾残局。如果你真的想为团队出份力,就应该承担最简单的任务。
你可以挑选一些点数最少的用户故事。或者,也可以改一些小bug,只需几行代码即可修复的错误。在这个过程中,你不仅可以更好地了解代码库,而且也为团队做出了实际的贡献。
大多数经验丰富的开发人员都喜欢承担复杂的工作,因为他们喜欢接受挑战,这对你来说是件好事,因为这样一来“简单”的工作就可以留给你了。
学习,学习,再学习
初级开发人员的知识远比不上于一般开发人员,这是事实。因此,不断学习很重要,你需要不断缩小晋级下一级别所需的知识鸿沟。你应该尽可能地汲取信息。
仔细阅读每个合并请求,即便你并不是代码审核人,因为其中包含了很多有价值的信息。你可以通过查看每个合并请求,洞悉其他开发人员解决这些问题的方法,以及背后的思考过程。
如果你有机会与另一位队友结对编程,那么应该牢牢抓住机会。
你应该是坐在驾驶员座位上的开发人员,然后让队友指导自己。一边写代码,一边说出你的想法,让队友了解你的思考过程,并相应地提供反馈。
最后,为了掌握你们所用的技术栈,你必须下一番功夫。通过不断的实践,达到完美。你需要大量编程,犯错,然后改正。这是让自己不断进步的唯一方法。
此外,如果你想付出更多的努力,则可以尝试练习最佳实践,并了解架构、性能、安全等方方面面的知识。
作者 | Daan
以下为译文:
初级开发人员的生活从来都不会一帆风顺。软件开发的工作很艰难。技术的进步日新月异,世事瞬息万变。今天掌握的知识可能明天就过时了。
作为初级开发人员,你可能会感觉不知所措。由于缺乏经验,从事这项工作会更加困难。
在朝着合格的软件开发迈进的路上,你的职业生涯才刚刚开头。由于需要学习的技术太多,因此你需要了解如何才能成为一名出色的初级开发。
源代码控制
对于有经验的开发人员而言,源代码控制只不过是一项基本技能。但是,大多数初级开发人员都会在源代码控制上碰壁,至少会遇到某种程度上的困难。有些人可能不明白源代码管理能干些什么,以及为什么有必要进行源代码管理。
如果你想成为一名出色的初级开发,那么需要重点掌握的不仅仅是pull、commit和push。这些是每个开发人员都应该掌握的基本命令。除此之外,你还需要掌握如何将文件放入暂存区、如何合并冲突,并了解创建补丁程序和发行版本的基本流程。
此外,你还需要了解这些功能背后的理论。了解每个功能的用途以及使用的时机。一旦掌握这些知识,你就可以处于领先地位。
你需要学会使用GUI工具(例如Sourcetree)。实际上,如果你不熟悉源代码控制,那么我强烈建议你使用Sourcetree。
GUI工具将最常用的操作都抽象了出来,你只需点击鼠标即可完成这些操作,而且也可以让你更深入地了解幕后的实际情况。
如果你想像真正的专业人士一样进行源代码控制,则可以通过终端输入控制命令。但是,我不建议初学者这么做。
你只需熟悉源代码控制,并熟悉可能遇到的一切情况。在充分理解源代码控制及其工作原理之后,学习命令就会非常容易。
编程
很多开发人员希望大部分工作时间都可以编写代码。编程是你工作中最令人兴奋的部分。然而,对于初级开发人员来说,编写代码可能是一项很大的挑战。
初级开发人员最常见的错误之一就是编写看似很精致的代码。通常用怪异的方式编写一行代码的人都是初级开发,其实这种做法会将简单的问题复杂化,让代码更加冗长,从而导致发生错误的风险增高。
如果你想成为一名出色的初级开发,那么就应该尽量写简单明了的代码。但是编写简单的代码很困难。而且大多数初级开发人员都不会这样做。
这正是你从众多初级开发人员中脱颖而出的好办法。编写简单的代码需要思虑周全。需要进行多次的重构,直到代码正确为止。你应该尽量遵循KISS原则:保持简单和愚蠢。
对于初级开发人员来说,重要的是至少经历一次完整的开发周期,了解软件项目涉及的范围。从零到功能全面的产品,开拓你的视野。
在这一路上,你可能会犯很多错误,但是犯这些简单的错误才能让你不断学习。所以,应该尽快想办法经历完整的开发周期吧。
对于开发人员而言,另一项宝贵的技能是在卡壳的时候,知道提出怎样的问题。每个人都会遇到不知该如何解决的问题。
大多数初级开发人员在陷入困境的时候,都需要获得必要的资源或巨大的推动力才能朝着正确的方向前进。清楚自己应该提出怎样的问题,以及采取怎样的正确行动跟进这些问题,正是让你从众多初级开发人员中脱颖而出的好办法。
为团队做贡献
很多初级开发人员都试图通过承担冲刺中最复杂的用户故事来向队友证明自己。
实际上,你真没必要向队友证明自己。他们其实很希望你能为团队做一些实际的贡献。因为在大多数情况下,让初级开发人员承担复杂的用户故事,都会引发灾难,最终都需要另一位开发人员站出来为初级开发人员善后。
虽然我很钦佩这些人的勇气,但每个人都应该量力而行。因为每个人都有自己的工作,没人愿意为他人收拾残局。如果你真的想为团队出份力,就应该承担最简单的任务。
你可以挑选一些点数最少的用户故事。或者,也可以改一些小bug,只需几行代码即可修复的错误。在这个过程中,你不仅可以更好地了解代码库,而且也为团队做出了实际的贡献。
大多数经验丰富的开发人员都喜欢承担复杂的工作,因为他们喜欢接受挑战,这对你来说是件好事,因为这样一来“简单”的工作就可以留给你了。
学习,学习,再学习
初级开发人员的知识远比不上于一般开发人员,这是事实。因此,不断学习很重要,你需要不断缩小晋级下一级别所需的知识鸿沟。你应该尽可能地汲取信息。
仔细阅读每个合并请求,即便你并不是代码审核人,因为其中包含了很多有价值的信息。你可以通过查看每个合并请求,洞悉其他开发人员解决这些问题的方法,以及背后的思考过程。
如果你有机会与另一位队友结对编程,那么应该牢牢抓住机会。
你应该是坐在驾驶员座位上的开发人员,然后让队友指导自己。一边写代码,一边说出你的想法,让队友了解你的思考过程,并相应地提供反馈。
最后,为了掌握你们所用的技术栈,你必须下一番功夫。通过不断的实践,达到完美。你需要大量编程,犯错,然后改正。这是让自己不断进步的唯一方法。
此外,如果你想付出更多的努力,则可以尝试练习最佳实践,并了解架构、性能、安全等方方面面的知识。
发表评论
-
微服务架构框架?这里为你汇总了15种
2020-06-29 14:51 539这几年来,微服务这个 ... -
2020年云计算的发展与应用现状
2020-06-09 15:05 391随着云技术的采用又出 ... -
7种会导致业务失败的数据分析方法
2020-05-29 16:27 502真正的数据价值取决于 ... -
你根本不需要去追求“完美”的软件!
2020-04-10 16:14 393每一个软件都不是完美 ... -
黑客攻击,五个步骤保障公共云安全
2020-03-26 15:31 473对于任何组织来说,其 ... -
优秀的程序员是如何处理技术 Bug 的?
2020-03-19 16:12 378最近我的圈子里人们都 ... -
盘点全球十大搜索引擎:中国百度只能排第三!
2020-03-18 10:59 725在当今互联网高速发展 ... -
股价爆跌、员工确诊,美国科技公司的新冠肺炎挑战来了
2020-03-04 15:01 395就在上周,全球股市迎 ... -
科技行业的起步时代已结束
2020-03-03 14:00 382在理解科技行业的主导 ... -
Android 11 首个开发者预览版新功能抢先看
2020-02-26 21:31 3675G支持引领了Google移动 ... -
又一起删库跑路事件!宕机36小时、损失近10亿。。。
2020-02-25 21:03 465在家中坐,删库天上来。 靠给微信公众账号提供营销推广服务发家 ... -
2020 开春程序员面试必备!拿走不谢!
2020-01-21 16:15 436软件技能在科技界很重要,如果你不会正确使用编程语言或平台,你可 ... -
程序员构建总是出问题,怎么办?
2020-01-15 14:36 289构建这一问题,到底是哪个环节出了 Bug? 我总是听 ... -
为什么越来越多的企业选择云数据库?
2020-01-13 10:23 307提到程序员,就逃不过 ... -
5G来了,Wi-Fi会消失?
2020-01-10 09:43 276当移动网络越来越快, ... -
2019年互联网那些事儿
2020-01-09 14:06 1582019年互联网大事件盘点,你还有印象吗? ▍ 1. ... -
如何在技术浪潮中屹立不倒?
2019-12-24 11:20 424关于程序员,一直以 ...
相关推荐
安卓开发是全球最受欢迎的移动平台之一,为无数开发者提供了广阔的创新空间。对于初学者来说,掌握安卓开发的基础知识是至关重要的。...持续学习和实践,将使你在安卓开发道路上不断进步,成为一名出色的开发者。
### IOS开发初级笔记知识点 #### 一、解决“Error launching remote program: No such file or directory”问题 ...希望每位iOS开发者都能够通过不断学习和实践,成为一名出色的移动应用开发者。
在Android程序开发领域,对于初学者而言,掌握基础至关重要。...不断实践、调试和优化,你将成为一名出色的Android开发者。在学习过程中,记得参考官方文档、参加社区讨论、阅读优秀源码,持续提升自己的技术水平。
通过这个微课版的PPT课件,学习者不仅可以深入理解HTML5和CSS3的基础知识,还能通过实例掌握实际开发中的技巧和最佳实践,从而成为一名出色的Web前端开发者。这份教学资料是自学或课堂教学的理想资源,帮助学习者...
【PowerDesign初级教程】 在IT领域,数据库设计是至关重要的环节,而PowerDesign作为一款强大的概念数据模型(Conceptual Data Modeling)工具,被广泛应用于...不断练习,你将逐渐成长为一名出色的数据库设计师。
在iOS开发领域,手写代码是一项至关...通过不断的实践和学习,你将逐渐掌握这些技能,成为一名出色的iOS开发者。在学习过程中,记得不断动手实践,将理论知识转化为实际的代码,这样才能真正理解和掌握iOS开发的核心。
从给定的信息来看,标题与描述均聚焦于“如何成为一名优秀的职业设计师”,这为我们提炼出以下关键知识点: ### 一、理解设计的本质 1. **设计的定义**:设计不仅是一种艺术表现形式,更是一种解决问题的过程。它...
它极大地扩展了HTML4的功能,引入了许多新的元素、属性和API,旨在使网页设计和应用开发...同时,持续学习和实践HTML5的新特性和最佳实践,结合专业机构如千锋教育提供的培训,将有助于成为一名出色的HTML5全栈工程师。
IntelliJ IDEA是一款由捷克公司JetBrains开发的Java集成开发环境,因其高效能和智能特性而备受开发者喜爱。...因此,深入学习和实践IntelliJ IDEA,对提升作为一名Java或相关领域的开发者的专业水平具有重要意义。
这份名为"精选iOS开发1000题,包含笔试题600道和面试题400道"的资源,是针对这两种语言的知识点进行深入学习和备考的理想材料。以下是对这些知识点的详细说明: 1. **Swift语言知识点**: - **类型系统**:Swift...
标题《Google Go初级读本》表明这是一本面向初学者介绍Google开发的Go语言的入门书籍。Go语言,又称为Golang,由Google工程师在2007年启动开发,并于2009年首次公开发布,旨在改进C等传统系统编程语言的效率与安全性...
在Android开发领域,从初级到高级的进阶过程是一条充满挑战与机遇的道路。这个阶段的学习,涵盖了基础知识、UI设计、数据存储、网络...持续学习和实践,将帮助开发者逐步掌握这个平台,成为一名出色的Android工程师。
在Android开发领域,掌握经典案例是提升技能的关键。...通过逐一解析和实践这些案例,开发者不仅能增强自己的编程能力,还能提升解决实际问题的能力,为成为一名出色的Android开发者奠定坚实基础。
以下是一个详细的路线图,旨在帮助你系统地学习并成为一名出色的Android开发者。 首先,从基础的Java语言入手。了解Java的基本概念,包括其发展历程、特点和应用领域。设置开发环境,如安装JDK和集成开发环境...
成为一名出色的嵌入式工程师不仅需要扎实的技术基础,还需要不断学习最新的技术和趋势。尽管这一领域面临着一定的挑战,但其未来发展前景广阔,对于那些热爱技术并愿意为之付出努力的人来说,嵌入式开发无疑是一条...
在Windows编程领域,MFC(Microsoft Foundation Classes)是一个强大的库,它基于C++构建,用于简化应用程序开发。本文将深入探讨MFC中的函数...通过不断的实践和探索,你将逐渐熟练掌握MFC,成为一名更出色的程序员。
Java是一种广泛使用的编程语言,尤其在企业级应用中占据重要地位。对于初学者而言,了解并掌握Java的基础知识是至关重要的。...以上是Java初级面试中常见的知识点,理解并掌握这些概念将有助于你在面试中表现出色。
以上这些知识点构成了Android开发的基石,通过不断实践和深入学习,可以成为一名出色的Android开发者。对于压缩包中的“Android开发技巧”文件,它可能包含了这些知识点的详细讲解和实例,可以帮助你进一步提升...
Python_Devika是一款创新的AI工具,专为软件工程师设计,尤其在理解并执行高级人类指令方面表现出色。这款代理AI软件工程师能够将复杂的任务分解为一系列可操作的步骤,进而进行深入研究,并生成相应的代码来实现...
在Android开发领域,Google提供了强大的开发工具和框架,使得开发者能够构建高质量的移动应用程序。"深入浅出Google Android开发"这个主题...通过对这些内容的深入理解和实践,你将能够成为一名出色的Android开发者。