希望本文能够为初级开发人员提供一些建议,帮助他们成长为合格的开发人员,并推动他们朝着正确的方向前进。

作者 | Daan

译者 | 弯月,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下为译文:

初级开发人员的生活从来都不会一帆风顺。软件开发的工作很艰难。技术的进步日新月异,世事瞬息万变。今天掌握的知识可能明天就过时了。

作为初级开发人员,你可能会感觉不知所措。由于缺乏经验,从事这项工作会更加困难。

在朝着合格的软件开发迈进的路上,你的职业生涯才刚刚开头。由于需要学习的技术太多,因此你需要了解如何才能成为一名出色的初级开发。

源代码控制

对于有经验的开发人员而言,源代码控制只不过是一项基本技能。但是,大多数初级开发人员都会在源代码控制上碰壁,至少会遇到某种程度上的困难。有些人可能不明白源代码管理能干些什么,以及为什么有必要进行源代码管理。

如果你想成为一名出色的初级开发,那么需要重点掌握的不仅仅是pull、commit和push。这些是每个开发人员都应该掌握的基本命令。除此之外,你还需要掌握如何将文件放入暂存区、如何合并冲突,并了解创建补丁程序和发行版本的基本流程。

此外,你还需要了解这些功能背后的理论。了解每个功能的用途以及使用的时机。一旦掌握这些知识,你就可以处于领先地位。

你需要学会使用GUI工具(例如Sourcetree)。实际上,如果你不熟悉源代码控制,那么我强烈建议你使用Sourcetree。

GUI工具将最常用的操作都抽象了出来,你只需点击鼠标即可完成这些操作,而且也可以让你更深入地了解幕后的实际情况。

如果你想像真正的专业人士一样进行源代码控制,则可以通过终端输入控制命令。但是,我不建议初学者这么做。

你只需熟悉源代码控制,并熟悉可能遇到的一切情况。在充分理解源代码控制及其工作原理之后,学习命令就会非常容易。

编程

很多开发人员希望大部分工作时间都可以编写代码。编程是你工作中最令人兴奋的部分。然而,对于初级开发人员来说,编写代码可能是一项很大的挑战。

初级开发人员最常见的错误之一就是编写看似很精致的代码。通常用怪异的方式编写一行代码的人都是初级开发,其实这种做法会将简单的问题复杂化,让代码更加冗长,从而导致发生错误的风险增高。

如果你想成为一名出色的初级开发,那么就应该尽量写简单明了的代码。但是编写简单的代码很困难。而且大多数初级开发人员都不会这样做。

这正是你从众多初级开发人员中脱颖而出的好办法。编写简单的代码需要思虑周全。需要进行多次的重构,直到代码正确为止。你应该尽量遵循KISS原则:保持简单和愚蠢。

对于初级开发人员来说,重要的是至少经历一次完整的开发周期,了解软件项目涉及的范围。从零到功能全面的产品,开拓你的视野。

在这一路上,你可能会犯很多错误,但是犯这些简单的错误才能让你不断学习。所以,应该尽快想办法经历完整的开发周期吧。

对于开发人员而言,另一项宝贵的技能是在卡壳的时候,知道提出怎样的问题。每个人都会遇到不知该如何解决的问题。

大多数初级开发人员在陷入困境的时候,都需要获得必要的资源或巨大的推动力才能朝着正确的方向前进。清楚自己应该提出怎样的问题,以及采取怎样的正确行动跟进这些问题,正是让你从众多初级开发人员中脱颖而出的好办法。

为团队做贡献

很多初级开发人员都试图通过承担冲刺中最复杂的用户故事来向队友证明自己。

实际上,你真没必要向队友证明自己。他们其实很希望你能为团队做一些实际的贡献。因为在大多数情况下,让初级开发人员承担复杂的用户故事,都会引发灾难,最终都需要另一位开发人员站出来为初级开发人员善后。

虽然我很钦佩这些人的勇气,但每个人都应该量力而行。因为每个人都有自己的工作,没人愿意为他人收拾残局。如果你真的想为团队出份力,就应该承担最简单的任务。

你可以挑选一些点数最少的用户故事。或者,也可以改一些小bug,只需几行代码即可修复的错误。在这个过程中,你不仅可以更好地了解代码库,而且也为团队做出了实际的贡献。

大多数经验丰富的开发人员都喜欢承担复杂的工作,因为他们喜欢接受挑战,这对你来说是件好事,因为这样一来“简单”的工作就可以留给你了。

学习,学习,再学习

初级开发人员的知识远比不上于一般开发人员,这是事实。因此,不断学习很重要,你需要不断缩小晋级下一级别所需的知识鸿沟。你应该尽可能地汲取信息。

仔细阅读每个合并请求,即便你并不是代码审核人,因为其中包含了很多有价值的信息。你可以通过查看每个合并请求,洞悉其他开发人员解决这些问题的方法,以及背后的思考过程。

如果你有机会与另一位队友结对编程,那么应该牢牢抓住机会。

你应该是坐在驾驶员座位上的开发人员,然后让队友指导自己。一边写代码,一边说出你的想法,让队友了解你的思考过程,并相应地提供反馈。

最后,为了掌握你们所用的技术栈,你必须下一番功夫。通过不断的实践,达到完美。你需要大量编程,犯错,然后改正。这是让自己不断进步的唯一方法。

此外,如果你想付出更多的努力,则可以尝试练习最佳实践,并了解架构、性能、安全等方方面面的知识。

原文:https://medium.com/better-programming/how-you-can-stand-out-as-a-junior-developer-441bdab697af

本文为 CSDN 翻译,转载请注明来源出处。

【END】

更多精彩推荐

☞程序员为什么应该旗帜鲜明地反对“最佳实践”?

☞“软件开发教父” Martin Fowler 从业 40 年最想说这两个字!

☞红外光抗疫、成功预测新基建,投资 280 家企业的光学博士到底是谁?

前端机器学习:识别人脸,并在脸颊上画草莓

☞瑞幸咖啡自曝虚假交易 22 亿,App 反冲 TOP 1

☞在Kubernetes上部署一个简单的、类PaaS的平台,原来这么容易!

☞旷视提双边分支网络BBN:攻坚长尾分布的现实世界任务 | CVPR 2020 Oral

☞2020年,这20个大家都认识的加密交易所过得怎么样?

你点的每个“在看”,我都认真当成了喜欢

如何做一名出色的初级开发?相关推荐

  1. 做一名优秀的软件开发qa_如何成为一名优秀的开发人员

    做一名优秀的软件开发qa As a PHP developer, or any kind of developer as a matter of fact, you need to constantl ...

  2. java开发简历编写_如何通过几个简单的步骤编写出色的初级开发人员简历

    java开发简历编写 So you've seen your dream junior developer role advertised, and are thinking about applyi ...

  3. [译] 如何成为一名优秀的初级开发人员

    本文翻译自Medium上的一篇文章,原文标题:How To Be A Good Junior Developer. 点击文末的阅读原文可以跳转到英文原文. 到明年,我的职业编程生涯即将满15年.15年 ...

  4. js页面加载前执行_做一名合格的前端开发工程师:Javascript加载执行问题探索

    做前端开发少不了各种利器.比如我习惯用的还是Google浏览器和重型武器Fiddller. 一:原始情况 首先大家看看如下的代码: 估计90%的程序员都会把js文件放在head中,但是大家有没有深究过 ...

  5. 如何做一名出色的屌丝码农?

    2019独角兽企业重金招聘Python工程师标准>>> 首先,要重复的造轮子.以.NET举例,我们连接数据库,一定要使用微软提供的那五个经典对象command.connection- ...

  6. 如何做一名好的软件开发的销售精英

    首先,每个人刚进入这行都是小白,除非你有销售经验,或者你在这行做过知道这一方面的销售模式,如果你进了一家专门做网络销售的公司,刚开始你必须要多看多学,接着在跟同事打好关系,买包烟什么的,每个同事都发一 ...

  7. 成为杰出人物的路线图_如何成为杰出的初级开发人员

    成为杰出人物的路线图 If you're reading this, you probably just got your first tech job - so congratulations! G ...

  8. 初级开发人员的缺点_作为一名初级开发人员,我如何努力克服自己的挣扎

    初级开发人员的缺点 by Syeda Aimen Batool 通过Syeda Aimen Batool 作为一名初级开发人员,我如何努力克服自己的挣扎 (How I'm working to ove ...

  9. 初级开发人员的缺点_这是我想放弃初级开发人员时所做的事情

    初级开发人员的缺点 Coding is hard. Really hard. There are times when you'll think "this is amazing! I lo ...

最新文章

  1. CentOS6.8下安装MySQL5.5数据库
  2. 微寻,把“线下医院”带到“线上轻松问诊”
  3. ubuntu16.04 配置双网卡机器
  4. JVM调优总结(一)- 一些概念
  5. 2017蓝桥杯:承压计算
  6. android8.1启动前台服务,Android - 保活(1)前台服务保活
  7. 计算时间差_小王子是怎么用四步法进行时间计算并成功避开日界线的
  8. java jsp网页计算器_JSP实现计算器功能(网页版)
  9. 易语言下载别人的源码编译出来用不了_我是如何阅读源码的
  10. 程序员代码面试指南:IT 名企算法与数据结构题目最优解
  11. JAVA必备——Struts
  12. mysql查看表内容 很乱_mysql数据表字符混乱问题解决办法
  13. Java——第二次上机(第二部分)
  14. Java多线程模式(一)
  15. ltspice语言中文_ltspice中文教程
  16. C#,索尼偏光相机(Polarization Camera)传感器IMX250和专用SDK简介
  17. Netflow及其及配置案例
  18. excel教程自学网_6个相见恨晚的自学网站,500强精英每天都偷偷用,劲省十几万学费...
  19. 用html在网页界面生成一朵玫瑰花
  20. 【第0篇】从0-1自建个人博客系统【web端,admin管理端,express后端,Nginx部署】--vue3技术 reac+hook技术 umi4

热门文章

  1. 数据仓库与数据挖掘(一)
  2. webpack 基本功能和原理
  3. Web worker总结
  4. 指定复制的数据库或者表
  5. 【论文研读】【医学图像分割】【FCN+RNN】Recurrent Neural Networks for Aortic Image Sequence Segmentation with ...
  6. python38pip装不了东西_python – pip不能安装任何东西
  7. android 透明度_Android智能视图翻转器
  8. Ubuntu18.04安装OpenPCDet及配置spconv
  9. leetcode python3 简单题232. Implement Queue using Stacks
  10. h5打开app_移动端产品比较分析:APP、小程序、H5