编码成就:开发人员如何升级
  • 更新时间:2024-11-29 03:52:41
  • 网站建设
  • 发布时间:1年前
  • 961

编程成就:开发人员如何升级

导读:优秀的开发者如何成为伟大的?还是不要想着如何成为伟大的:一个优秀的开发者如何成为一个优秀的开发者?从第一步到第N步没有明确的路径,哎呀,甚至不知道第N步是什么。凡是有逻辑思维的人都明白,没有明确的路线意味着从新手到高手将是一段艰难的旅程。在过去的几年里,我花了很多时间来思考这个难题。下一步我该怎么做才能从优秀的开发人员变成非常优秀的开发人员?

成功到底是什么样子的?

当我有一个明确的目标和我可以衡量的成功衡量标准时,我会做得最好。例如,我想在5 分钟内跑完一英里,这很容易衡量,成功也很明确。我知道我现在能跑多快一英里,而且互联网上到处都是关于如何跑得快的建议和锻炼。我可以选择一个培训项目,努力学习,我非常有信心最终会达到我想要的目标。这很容易衡量,每周我都可以知道我离最终目标有多远。 (北京网站制作)

但是如何衡量自己是否达到了“相当不错的开发者”的水平呢?简单地说,你不能。如上所述,这个目标非常主观,非常广泛,而且根本无法衡量。那么,我们如何定义可衡量的东西呢?

类似于想在5 分钟内跑完一英里,我们可以先将自己作为一名程序员与我们期望成为的程序员进行比较。五分钟一英里赛跑者有哪些十分钟一英里赛跑者缺乏的经验?高级程序员从新手程序员所缺乏的经验中受益是什么?这里的关键是经验。

作为程序员,我们都有一定的经验可以提高我们的技能。我们学会了一种新的语言,它给了我们一种新的思维方式。或者,我们都塑造了一个完美的设计,只是看到它的不完美暴露在严酷的现实世界中。我们因此成为更好的程序员。所以,一些经验会给你新的技巧。有些是不同的模式,让您了解为什么会这样。正是这些经验教会了你,影响了你的思维过程,影响了你解决问题的方法,并改进了你的设计。方便的是,很容易判断您是否有过特定的体验。 (将这些经历视为成就很有趣。)

这花了一些时间,但我并没有为达到“相当优秀的开发人员”水平这一无法衡量的悬而未决的目标而烦恼。如果一个开发人员可以通过他的经验来区分,也许我们就有了一条通往“相当优秀的开发人员”的大方向的明确路径。我推测这样的路径应该是这样的:

1.标志着从普通人成长为程序员的经历

2.选择一种体验去追求

3.追求经验完成(成就解锁!)

4.反思经验,深入思考。 [A]

5. 返回第2 步,这次选择新体验。

如何以比众包给每个人更好的方式开始第一步。在这里,我给出了一些编程成就,松散地分组。我会在文末给你多种方式,让你创造自己的想法。

1.学习多种编程范式:

用汇编语言写一个程序

用函数式编程语言编写应用程序

用面向对象的语言编写应用程序

用基于原型的语言编写应用程序

用逻辑编程语言编写应用程序

使用Actor 模型编写应用程序

用Forth 语言写一个应用程序[C]

2.体验不同平台编程的来龙去脉:

我写了一个普通的网络应用

我写了一个普通的桌面应用程序

我写了一个普通的手机应用

编写一个普通的嵌入式应用程序

写了一个实时系统

3. 增强对开发者常用模块的理解:

编写了一个网络客户端(HTTP、FTP 等)

写了一个设备驱动程序

写一个B树数据库

包装现有库以获得更好(和更愉快)的用户体验

编写提供插件模型的应用程序或框架

笔试框架

书面编程语言

4. 让自己了解公案、套路和岁月的智慧:

完成五个代码型

完成您想学习的语言的编程公案

参加代码撤退

阅读SICP 并完成所有练习

5.开源编程:

共享开源项目的代码

接受补丁

获得对重要开源项目的提交权限

发布一个开源项目

为开源项目实施Refactotum

6. 教人学[D] :

发表有启发性的演讲

在本地用户组中发言

在会议上发言

教授培训课程

发布教程


发布一个开源项目的constructive code review
写一本编程的书
关于成就

现在,让我们来继续探讨一会儿。注意每一个成就都是可以衡量的。每一个都是一个布尔值:你完成或者没有完成。例如,很难衡量你是否学过一个函数式编程语言,但是却可以轻易的知道你是否用函数式编程语言写过一个程序。后者是客观察、可测量、布尔的。这种可衡量性意图适用所有这些成就。

需要承认的是,这种可衡量性并不完美。比如在一个会议演讲这个成就:你完全可以做到一般称职的时候就说你赢得了这份成就。但是如果你正在读这篇文字,我假设你是想要变得卓越。你知道只是为了把一项从清单中划掉而号称做到是非常逊的。(高端网站建设)

既然我们谈到了改进

既然我们谈到了改进,你会如何改进这个清单呢?

这个清单现在在github上作为一个gist,你可以任意的fork它然后添加更多的成就(确保你加的成就是可以衡量的)。或者fork它然后标记那些你已经征服了的成就。你还可以标记你正在做的一项,(例如,你可以去看看这些forks:Justin Blake, Pierre Chapuis, Yann Esposito. )

或者发表评论:什么经历将你塑造成一个更好的开发者?以及你会接下来去解锁哪一个成就?

注释

[A]我无法充分的强调第4步。为了获得几乎每个成就,你应该停顿和反思这些经历,然后再移动到下一个。反思。问问自己,你学到什么,花些时间来写下这些想法。更好的是,与别人分享,并且对比其他人也已经获得这一成就的人,看看你的学习收获的如何。

[B]可以去coderwall.com看看基于成就的模型这些方面的,很有意思。

[C]Forth基本上是自己的范式

[D]突然想到了这句:“寓学于教”——Paulo Freire

我们专注高端建站,小程序开发、软件系统定制开发、BUG修复、物联网开发、各类API接口对接开发等。十余年开发经验,每一个项目承诺做到满意为止,多一次对比,一定让您多一份收获!

本文章出于推来客官网,转载请表明原文地址:https://www.tlkjt.com/web/13761.html
推荐文章

在线客服

扫码联系客服

3985758

回到顶部