
在“技术学徒计划”的第一周,我和其他11名学生参加了迷你训练营。 这个迷你训练营是一个挤满了人的学习日程,其中包含许多作业,规则和礼节。 尽管这很辛苦,但值得,因为我们不仅从软件工程学到了东西,而且还从GO-Academy的最好的教练那里学到了人生的教训。 在这个博客中,我将向您分享那周我得到的教训:
1.离开笔记本电脑之前请三思
第一天,班上有人被黑了。 这是因为他去某个地方时未打开笔记本电脑的锁。 实际上,当我说被黑时 ,并不是真的那样。 当GO-Academy中的某人发现笔记本电脑在房间中解锁时,他们会在笔记本电脑上贴上警告标语。
这是一个好习惯,因为像GO-JEK这样的大公司都有重要的信息,可能影响数百万人的生活。 将笔记本电脑解锁后,其他人将可以访问其中的信息,这是不安全的。 它不仅会损害作为所有者的您,还会损害其他人。
2.“ rm -rf”实践
为了提高技巧,足球运动员每天必须练习球并训练他的身体。 这也适用于软件工程师。 我们可以做的练习方法是’ rm -rf ‘。 解决问题后,以后必须将其删除并再次重写。 那时,您将使用相同或更好的解决方案来完成它,您可能会找到另一个更好地解决问题的解决方案。
我从“ rm -rf ”练习中学到的另一件事是, 不要对您的代码过于迷恋 ! 在现实生活中,您长时间使用鲜血和希望创建的软件可能已过时或更糟,因此无法使用。 作为专业的软件工程师,我们必须准备好面对这一天。
3.必须遵守不可转让的礼节
为了完成给我们的作业,我们必须遵守一些不可谈判的礼节。 基本上,我们必须遵循每个人都同意的约定,并使用相同版本的相同工具。 我们还必须使用自述文件来描述作业并使用版本控制系统。 如果小组中的某人不遵守礼节,则必须“ rm -rf ”进行作业。 这种做法很好,因为我了解到我们作为一个团队必须对目标有相同的看法。 不仅如此,我们还必须了解每个人都同意的方法,能力和使用方法。 这样,我们将更快地达到目标。
4.不要害怕问任何事情
当我们的教练解释了不可谈判的礼节时,有一个礼节告诉我们,每隔5分钟git commit我们所做的所有更改。 那时,我感到很奇怪,因为我们为什么要那样做。 因为我担心别人会嘲笑我,所以我没有要求。 最后,我后悔了,因为我根本无法遵守那个礼节。 在我的代码被“ rm -rf ”编辑之后,我的教练告诉我们,如果没有任何意义,则必须提出要求。 所以我得到的是:
- 提出明智的问题是第二步
- 不要让你后悔,因为你一开始不问
- 您的问题可能会对其他人产生重大影响
5.团体责任
有一天,我们做了一个作业来编写一个Java应用程序。 我们的教练告诉我们创建一个驱动器文件夹来提交作业,并确保小组中的每个人都在截止日期之前提交了作业。 之后,我们忙于彼此的作业,只是聊了一会。 第二天,我们受到了惩罚,因为我们中的一些人没有及时提交,而且我们对此一无所知。 这是我们教练说的,并使我意识到我们的错:
如果有任何问题,那是您的错。 仅仅因为这不是您的工作,并不意味着您可以忽略它。 您需要帮助确保小组中的所有内容都能正常运行。 因为您和您的小组成员具有相同的愿景,所以必须共同前进。
是的,我们没有尽力确保小组的作业正常进行。 我们没有试图帮助那些很难完成作业的朋友。 我们只是在乎我们自己。
6.优秀程序员的三个美德
我们的教练提到了优秀程序员的三种美德。 在搜索了一下之后,我根据拉里·沃尔得到了什么:
- 懒惰 :使您全力以赴降低总能耗的质量。 它使您可以编写省力的程序,其他人会发现它们有用并记录您所写的内容,因此您不必回答那么多问题。
- 不耐烦 :计算机懒惰时会感到愤怒。 这使您编写的程序不仅可以满足您的需求,而且可以实际预期它们。 或至少假装。
- 傲慢 :使您能够编写(和维护)其他人不想说坏话的程序的素质。
我认为这些优点仍然很普遍,但至少我明白我的教练想分享的观点。