作为开发人员7年 – 经验教训

时间过得真快,不是吗?

我的编程之旅始于2012年,我的第一次C ++实习。坦率地说,我完全不知道我在做什么(这并没有真正改变)。尽管如此,我还是选择了一些价格。

免责声明:此帖中不会有任何代码。

问题:编程中最重要的语言是什么?

这是英文。

或者西班牙语。

或中国人。

或波兰语。

或者无论你用什么来与工作中的其他人交易所。

与人交谈比与机器交谈更重要

编程是一项团队运动。在极少数情况下,您可能会看到一个人从头开始构建出色的产品(CodeSandbox就是一个很好的例子,尽管Ives最近雇用了几个人),但在绝大多数情况下 – 你需要一个团队。

沟通技巧可以决定项目的成败。别担心,只有你和你的团队,NASA也在努力解决这个问题。

软专业技能对于项目的成功而言可能比纯技术技能更重要。如果您拒绝相互交谈并且最终得到5个不同的MySQL,Aurora和MongoDB实例,谁会关心您是否聘请了5位世界上最好的数据库专家。

深入了解您的建设和原因

大多数人在有目标感时会更开心。这也适用于工作。

作为软件开发人员,您的目标不是将JIRA转换为JavaScript,将Trello转换为C#等。

您的目标是解决代码问题。

如果您对正在构建/维护的系统有深入的了解,那么您可以在纯技术之外做出决策。这个功能甚至是必要的吗?它解决了什么问题?我们能以其他方式解决这个问题吗?我们想首先解决这个问题吗?

这种思路有时被称为商业背景,但如果你想做好自己的工作,你不仅应该了解背景,还要能够塑造和影响它。您不必在组织中拥有C级职位来影响您的产品。或者至少 – 了解它。

如果您的团队中的代码审查是一种压力很大的经历,那么您的工作就非常糟糕,非常糟糕

好家伙。代码审查。

我们真的不考虑这个问题,而是将我们的工作公之于众并让其他人审阅的行为对我们的专业来说有点独特。难怪人们会对整个体验感到焦虑。

我个人看到人们在X不在办公室时提交代码审查,或者Y是出差。 X是一位出色的程序员,但在他的代码审查过程中经久不衰是一件苦差事。如果你留下50个挑剔(这是一个字?),在一个初级程序员的公关下的不友好评测,你并没有证明你作为开发人员的优势。你证明你不是一个好人。

好的,但是当我看到此功能完全被破坏后我该怎么办?

站起来。私下联系该人。与他们交谈,找出他们为何以这种方式实现该代码。

大多数人不想写坏代码。如果他们这样做,他们可能正在处理你不知道的限制。他们也可能不擅长编程(还),这是你作为导师发光的机会。

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

根据维基百科:

墨菲定律是一句谚语或警句,通常被称为:“任何可能出错的事都会出错”。

这是太真实的事情之一。始终假设在设计系统时可能会出现问题。

如果您正在构建登录表单,请假设人们将整本书复制并粘贴到密码字段中。

如果你正在建立一个WYSIWYG窗口,假设某人会试图打破它,他们很可能会成功。

如果你有一个数据库,它会在某个时候出现故障。如果您尚未测试从备份中恢复数据库,那么它不是备份。

如果您正在观众面前进行现场演示 – 请确保演示在线,离线,颠倒和在水下工作。

不要害怕说“我不知道”

在我的职位旁边有一名大四学生最好的部分是我最终可以回答一个问题:

我不知道,从未尝试过。我来看看,我会回复你。

当我还是一名大三学生时,我害怕有人发现我是骗子。作为开发人员工作了几年之后 – 如果我还没有看到某些东西,那么直到现在它才可能无关紧要。或者我只是要学习另一件很酷的技术。终身学习不是软件开发的流行语,而是现实。

或者我只是一个令人难以置信的欺诈者,设法欺骗所有那些我能够真正完成工作的人。你永远都不会知道。

在公共场合学习

一旦你从“我不知道”变为“好的,这很有趣” – 与某人分享。撰写博客文章,录制视频,在公司知识共享活动中进行演讲,或者只是……告诉某人。如果你认为某些事情对每个人来说都很明显,那就不是了。即使是最资深的人也可以从初学者那里学到东西,反之亦然。

教学是确保您真正理解相关主题的一种令人难以置信的方式。

俗话说:

当一个人教导时,两个学习 – 一个智能人赫拉

作为开发人员,您学到了什么?

资讯来源:由0x资讯编译自DEV,原文:https://dev.to/tlakomy/7-years-as-a-developer-lessons-learned-29ic ,版权归作者所有,未经许可,不得转载
你可能还喜欢