开发 7 年,我学到了什么?

h4cd
 h4cd
发布于 2019年05月19日
收藏 61

相信每位开发者在自己开发的过程中,都会反思一些问题,比如怎样提高编程能力、如何保持心态不砍产品经理、996 之后怎样恢复精力……最近开发者 Tomasz Łakomy 将他 7 年的开发生涯中学习到的一些经验分享了出来,这里推荐给你,希望有所启发。

Tomasz 讲到了以下 6 个要点:

编程中最重要的语言

对于中国开发者来说,这个问题的答案多半是“英语”,然而 Tomasz 却说:是英语,或者西班牙语、中文、波兰语,或者其它任何你在工作中与他人交流所用的语言。

It's English.Or Spanish.Or Chinese.Or Polish.Or whatever you use to communicate with other people at work.

作者指出“与人交谈比与机器交谈更重要”。编程是一项团队运动,虽然存在极少数案例,个人可以从零开发出很出色的产品,但是在绝大多数情况下,编程工作需要一个团队。

沟通技巧可以决定项目的成败,甚至 NASA 也因为这个问题而困扰。项目想要获得成功,整体的专业技能比纯技术技能更为重要,举个例子,如果你聘用了世界上最好的五位数据库专家,但是他们之间拒绝交流,没有协同工作,那最后交付给你的可能是 MySQL、Aurora 与 MongoDB 的五个不同实例,那又有什么意义?

深入了解你正在开发什么?为什么开发它?

大多数人在有目标感时会更开心,这也适用于工作。作为软件开发人员,你的目标不是用 JavaScript 实现 JIRA,或者用 C# 重写 Trello,你的目标应该是解决代码问题

如果你对正在开发或者维护的系统有深入的了解,那么就可以在纯技术之外做出决策。这个功能是必要的吗?它解决了什么问题?我们能以其它方式解决这个问题吗?这个问题的优先级这么高合理吗?

这种思路有时被称为“业务上下文”,但如果你想做好自己的工作,你不仅应该了解这些上下文,还要能够塑造和影响它。这不是说你必须在组织中拥有某个高级职位才能这么去做,你至少要先去了解这些内容。

代码审查

不要背地里审查别人的代码,并且公开指出其中的问题,你在初级开发者的代码 PR 下以不好听的言论挑出了一些问题,这样并不能证明你有多厉害,相反,这只是说明你不是一个友善的人。 

但是如果真的发现别人实现的功能完全无效,那么怎么办呢?合适的做法是私下去联系代码的编写者,与他们交流,找出他们为什么会以这样的方式实现该功能。

大多数人都不会想着说要写出不好的代码,如果他们的代码你觉得不行,那可能是他们在处理一些你没注意到的限制问题;或者他们确实编程能力还不够强,那这个时候就是你展现实力,帮助他们解决问题的时候了。

有些事情会出错,做好准备

“任何可能出错的事最终都会出错”,墨菲定律很可怕,你要始终假设在设计系统时可能会出现问题。

如果你正在构建登录表单,需要假设用户会将整本书复制并粘贴到密码字段中;如果你正在写一个 WYSIWYG(所见即所得)窗口,要假设有人会试图破坏它,并且他们很可能会成功;如果你有一个数据库,假设它会在某个时候出现故障;如果你还没有测试从 backup 中恢复数据库,那么这就不是一个 backup;如果你正在观众面前进行现场演示,需要确保 demo 在线上或者离线等情况下都能正常展示。

不要害怕说“我不知道”

刚开始当程序员的时候,可能你会害怕别人发现你不懂某一个问题,所以别人问你而你真的不懂的时候,你不会直接回答说你不知道,并且会给出一些不能确定的答案,但是本身没有底气,所以会害怕别人知道真相后觉得你是个骗子。

但是作为开发者几年之后,你可能会觉得如果一个东西你还不知道,那可能它是无关紧要的,或者这是你需要现在去学习的另一项新技术。终身学习不是软件开发的流行语,它是现实。

保持这样的心态,这个时候,当别人问了一个你不懂的问题时,你就可以大胆地说:我不知道,我还没有试过,我先看看,然后回复你

分享学习成果

当你从“我不知道”的状态中学习到某项新技术的时候,这时候可以去与他人分享你的学习成果。比如写自己的博客、录制视频教程、在公司的分享活动中演讲,或者只是简单地把知识点告诉另一个人。

二次教学是考验你是否真正理解你所学的东西的极其有效的手段,而且一般来说,即使是最资深的专家也可以从初学者那里学习到新东西,这样对于你和其他人来说是双赢

作为开发者,你工作了几年?在工作过程中学习到了什么呢?

>>>>>>>>>>>>  开发 1 年,我学到了什么?

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:开发 7 年,我学到了什么?
加载中

精彩评论

snamper
snamper
7年的老油条,学会了全栈开发,学会了偷懒,学会先等大家吹牛完,拖呀拖,然后再开发
这是一只小小鸟
这是一只小小鸟

引用来自“snamper”的评论

7年的老油条,学会了全栈开发,学会了偷懒,学会先等大家吹牛完,拖呀拖,然后再开发
摸鱼 也是一门艺术
w
wenbei
总结的很好,有同感
k
kenyu
工作二十多年,靠共享软件年代做点项目赚到钱买了房子, 后续在公司当技术经理, 产品得到国家部委表扬,带过的项目遍全国各地都有,转了N多职位,然后体力下降,家里老婆小孩天天说要我补偿陪伴时间,给新程序员鄙视我老人不加班,给老板鄙视我管理人员不加班, 只能转行,把赚到的钱拿来投资,提前失业,实在后悔当初做程序员。
骑毛驴的卡卡
骑毛驴的卡卡
1 团队中沟通很重要;
2 深入了解你负责的业务,知道为什么要做,做的收益等;
3 代码审查中的问题,最好私下沟通,而不是公开指责;
4 凡事都有可能出错,最好 Plan B
5 知之为知之,不知为不知
6 分享是最好的学习手段;

最新评论(18

k
kenyu
工作二十多年,靠共享软件年代做点项目赚到钱买了房子, 后续在公司当技术经理, 产品得到国家部委表扬,带过的项目遍全国各地都有,转了N多职位,然后体力下降,家里老婆小孩天天说要我补偿陪伴时间,给新程序员鄙视我老人不加班,给老板鄙视我管理人员不加班, 只能转行,把赚到的钱拿来投资,提前失业,实在后悔当初做程序员。
这就是昵称_
第一阶段:学了很多会了很多
第二阶段:忘了很多
第三阶段:全忘光了
骑毛驴的卡卡
骑毛驴的卡卡
1 团队中沟通很重要;
2 深入了解你负责的业务,知道为什么要做,做的收益等;
3 代码审查中的问题,最好私下沟通,而不是公开指责;
4 凡事都有可能出错,最好 Plan B
5 知之为知之,不知为不知
6 分享是最好的学习手段;
小原
小原
学到了年龄比什么都重要,再牛年龄到了都要打个折扣
孤独的程序
开发五年,我学会了从需求确认到设计开发,再到部署测试然后上线。
巴林的狗尾草
巴林的狗尾草
7年了,还没学会做事情都有重点这么简单的事情,基本可以告别职业生涯了
沧海一刀
沧海一刀
哦 翻译的不错
z
zb1491449720374

引用来自“snamper”的评论

7年的老油条,学会了全栈开发,学会了偷懒,学会先等大家吹牛完,拖呀拖,然后再开发
为毛我几年前没看到 开发4年...
这是一只小小鸟
这是一只小小鸟

引用来自“snamper”的评论

7年的老油条,学会了全栈开发,学会了偷懒,学会先等大家吹牛完,拖呀拖,然后再开发
摸鱼 也是一门艺术
snamper
snamper
7年的老油条,学会了全栈开发,学会了偷懒,学会先等大家吹牛完,拖呀拖,然后再开发
返回顶部
顶部