如何做一名了不起的开发人员?

“从自学成才到训练营,再到转学软件工程,中途退学,最后继续自学成才......通过反思自己走过的人生之路,才知道我做过的好的和坏的决定都有哪些......”

作者 | Patricio Ferraggi

译者 | 风车云马,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下为译文:

或许对很多人来说,10月8日不过是又一个平凡的日子而已,但对我来说,这一天意义非凡,是我开启软件开发职业生涯的生日。

2014年初,我最好的朋友推荐我开始学习编程,因为他不愿看到我整天的悲伤和疲惫——浪费在不喜欢的事业上。我开始自学C语言,外加一点C++语言,后来在朋友的推荐下开始深入学习《C#》。

2014年10月8日,我参加了埃森哲(Accenture)举办的C#培训项目(他们称之为训练营),一个月后,我成为了C#初级开发人员,我的软件生涯就此开始了。

在过去的5年里发生了很多变化,微软走向了完全开源,JavaScript不仅仅是网站的工具,成为了一种更广泛的语言,大量新的技术在我们眼前诞生和消亡。

我的职业生涯也发生了很多变化:从自学成才到训练营,再到转学软件工程,中途退学,最后继续自学成才。为了寻找更好的生活,我从会计工作到软件开发,在我的国家阿根廷工作了3年,然后去了一个我开始一无所知的地方——语言不通、多雨的比利时。

我反思了自己走过的人生之路,我做过的好的和坏的决定。以下是我希望一开始就知道的事情。

 

参加聚会,认识新朋友,交新朋友!

 

人们低估了个人关系和交流在软件开发中的重要性。有些人相信天才10X开发者的想法,他们24小时不睡觉地编码,创造奇迹。这是白日梦。当我们与他人很好的合作时,当我们有良好的人际关系时,我们能够创造出更伟大的软件作品。这些关系帮助我们成长,学习新事物,甚至帮助我们在事业上取得进步。如果没有我的一个朋友,我可能还是一个非常悲伤的会计师。

 

阅读技术书籍

 

人们总是更喜欢教程和在线课程,然而,它们没有涵盖将您的开发技能提升到一个全新水平的基础知识。在过去的两年中,我一直在阅读技术书籍,如《实用程序员》(The pragmatic programmer)、《完整编码》(Code complete)、《干净编码》(Clean Code)、《重构》(Refactoring)等等。在这个行业里有很多专业人士写的知识,可惜的是没有借鉴和吸取。

 

把你的学习重点放在与语言/框架无关的知识上

 

当然,每天都有新的JavaScript框架出现,人们都在奋力追赶。不要尝试。这不可能,也不值得。与其关注框架,不如关注架构、系统设计,甚至软件范例。语言和框架只是我们用来创建产品的工具,它们一直在变化,而我们用来构建软件的这些技术,可以帮助您轻松地从一个堆栈切换到另一个堆栈。

 

培养个人档案

 

我认为再怎么强调其重要性也不为过。当然,您在日常工作中每天编码8小时,可能会想,“为什么我还需要在业余时间编码?”,原因有很多。

你对自己的职业生涯想做什么并不是很明确。刚开始的时候,我想成为一名移动开发者。我在Xamarin中创建了一个报销应用程序,后来我意识到这并不是我最感兴趣的。

在这个行业里,技术技能很快就会过时,所以你需要尝试新事物,对其他相关的技术有一定的了解。这是一个建立个人档案的好方法,可以向你的潜在雇主展示你的热情、解决问题的能力和良好的技能。

如果这些项目得到了同行的关注,这将是一个认识其他开发人员、建立联系和朋友的好方法。

 

学习计算机科学

 

如果您像我一样是自学成才的开发人员,学习一些计算机科学的概念会让你以后的学习更加容易。在了解了这些概念之后,他们将成为您学习新技术和新模式的基础。

作为一名开发人员,我花了两年时间学习计算机科学,虽然时间不多,但我接触了布尔代数、组、图、树、排序算法、动态和静态内存、指针、自动控制等概念; 甚至不同的编程范例——比如结构化的、逻辑的、函数的和对象的——我还记得很多时候,我可以把这些概念与我正在学习的新技术实现联系起来。

如果你是一个自学成才的开发人员,我建议你阅读 The Imposter ‘s Handbook 1 & 2 ,上面涵盖了你需要的所有东西。

写完这篇文章后,我感觉自己进步了好多,也许我之前犯了一些错误,没有正确地安排我的时间。但是吃一堑长一智,无论如何我都会继续努力,这是我认为应该记住的最重要的事情,继续学习,我相信一切都会好的。

原文:https://dev.to/patferraggi/how-to-become-an-amazing-software-developer-things-i-wish-i-knew-when-i-started-28c5

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

©️2020 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值