三十年软件开发之路:老码农的自我修养!

2019-07-29 17:07 稿源:CSDN公众号  0条评论

个人生活

该停下来的时候,就停下来吧

要知道自己什么时候写不动代码了,要知道自己什么时候学不动了......不要强迫自己,不然将来只会使事情变得更糟。

有一次偏头痛时(不严重,但也不算轻),我试着坚持继续写代码。结果第二天,当我好点了的时候,我不得不将大部分重写,因为前一天写的实在太烂了。

CoC保护的是你,而不是别人

当你开始使用任何语言/库/框架时,请检查他们的CoC。这会保护你,不会让你因为没能立马就上手而被别人怼,而不是阻止你告诉别人你的想法。

我提这个因为很多人抱怨CoC,但是他们忘记了正是CoC使他们能加入任何项目而不被白眼,被说是“新手菜鸡”或“先去看完文档,否则别来烦我们”。

此外,请记住,大多数反对CoC的都是那些希望能直接责骂任何人的人。

学会说不

有时,你不得不说:不,我不能这样做;不,在这个时间之前完不成;不,我觉得不能做到这一点;不,我写这个感觉不舒服。

有一次我不得不对我们的CTO说:“好的,我会做的,但我想说明,我不认同我们正在做的事情。”最后,APP刚好就因为我们做的事情而被禁止了。

你负责你代码的使用

这很难,非常非常难,这就是“自由”和“责任”之间的区别。

写代码没有错,例如,用于捕捉人脸并检测其种族的软件,但你必须考虑它将被用在何处。

当还没完成时,不要说“已经完成了”

你厌倦了一遍又一遍地运行同样的事情。有时候即使你记得会发生一些小故障,但是因为你累了,你就告诉大家“已经完成了”。

——不要那样做。有人会在第一次运行时就遇到故障并立即告诉你它不work。

你将从痛苦中了解你自身

我们对无法编译的代码会感到很挫败,也会对客户来回询问一些事情而感到愤怒。当发生这种情况时,我们会迁怒于他人。

生活就是如此,这些都是难免的。

人们之所以会对代码/架构感到生气/烦恼,是出于关心

你会发现自己处于硬币的另一面:你将描述一些解决方案,人们会对某些解决方案感到恼火/生气。当人们关心产品/代码时,他们往往会有这种反应。

“是的,你不喜欢那种安静的解决方案,因为你太在意了”,这是别人对我的最暖心的赞美之一。

从你的烦恼中学习

你会烦恼、生气、沮丧和愤怒,你会看到人们因为这些情绪而陷入困境。所以你必须了解它,不要忽视它。

我从教训中学到的一件事是,当我感到沮丧时,我会变得非常有侵略性。现在,当我注意到我开始感到沮丧时,我会向其他人寻求帮助。看到其他人也在努力解决你的问题,这真的很治愈的感觉。

注意人们对你的反应

我有一个“愤怒男人的休息脸”那样一种脸。

有时候我一问问题,人们就会稍微后退——就好像我在说他们的解决方案是错的一样。那时我必须补充道,“我不是说这是错的,我只是有点困惑”。

这可能会帮助你避免陷入困境。

学会识别那些人格有毒的人,并远离他们

你会发现那些人,即使他们不对你的事情窃窃私语,他们也会对所有事情都说坏话——甚至是说其他人的坏话——而且是公开地说。

远离那些人。

你不知道这种态度会让你情绪多么失落。

谨防微观侵略

“微观侵略”(Micro-aggressions)是每次小剂量的侵略性评论。就像有人一直称你为“那个人”或看似人畜无害地评论你在某些政策中的立场。

这种行为很难反击,因为PR不会听从你说的话认为他们这是在攻击你。而且,这种行为很难被发现,因为它们看起来足够小,但是它们会堆积起来,到最后你会一次爆发你所有的愤怒。

最好远离,尽可能避免接触。

不,我不认为这样的人是“会改正的”

(个人意见)有人可能会说“嘿,也许如果你跟那个人说一下,他们就不会那么做了”。

就个人而言,我认为他们不会。这种东西对他们来说已经太久了,他们觉得很自然,而且大多数情况下,你才是做错的那个人(因为没有get到他们是在开玩笑,例如,真正的“薛定谔的混蛋”风格。)

只有当你意识到自己是那类有毒的人/微侵略者时,才有可能自己改正

除非你意识到你表现得像一个有毒的人或是在微观攻击某人,并且意识到你实际上是在搞破坏,不然没有办法改变这些性格特征(再次强调,个人观点)。

......大多数情况下,听到别人批评的声音可能会让你觉得,“他们跟我过不去!”

英雄项目:总有一天你必须做的事情

“英雄项目”是你个人认为可以解决项目中一系列问题的项目/规范变更/框架。它可能是不同的架构、新的框架甚至是新的语言。

这意味着你将花费你的空闲时间来写一些已经被应用的/已经存在的东西,只是为了证明自己的一个观点。

有时它会告诉你错在哪里。

(但不管如何,你都从中得到一些东西。)

不要混淆“英雄项目”与“英雄综合症”

我至少见过两类这种情况:有人声称项目离了他们就玩不转,或者声称他们不需要任何人的帮助。

这是“英雄综合症”,认为有人可以自己独当一面。

不要做那种人。

知道何时果断辞职

你告诉你的老板你没有按时完成某项工作,因为一些意料之外的原因,他却朝你发飙。

你的一个同事不断微观攻击你。

另一个是那个一直在做愚蠢恶作剧的家伙,不停说废话以及在背后议论其他的小组。

第三个人总是抱怨说,当他不在时,大家的工作就都搞不定了。

现在是时候开始投简历了,无论你目前的薪水有多高或项目有多棒。

......除非你想在四十多岁时还经常被别人惹恼。

IT世界是一个非常小的“蛋”

我们这里有这么一种说法:“某事物的世界是一个小蛋”,这意味着你生活在一个小世界里,世界整体很小。

IT世界真的很小。

记住今天与你一起工作的人,你可能会在 15 年后与他重逢,这期间你们可能已经各自换过三四份工作了。

你会在中途遇到很多其他的I.T.人。

他们会谈论自己。

无论你说什么/做什么,都会被大家谈论到,一个人会听到并传递给另一个公司,这个公司将传递给其他人,再把故事传递给另一家公司,然后突然,你意识到了,当地没有人会雇用你了,因为每个人都知道你搞砸了一个项目或捶了一个同事的脸。

纸质笔记实际上很有帮助

我曾经多次尝试“无纸化”。在某些时候,我确实不需要用纸了,但是到最后,在你旁边如果有一个小笔记本和一支笔来让你写下你需要发送数据的那个该死的URL的话,真的挺得劲的。

Trello非常酷,但Post-it更好

没有什么比在桌子上放一堆Post-it更能显出你是这样一个人了:“我真的很忙,但我忙中又井井有条”。

在博客中记录你笨手笨脚的解决方案仍然比什么都不写要好

你可能会觉得“我没有准备好谈论这个”或“这太愚蠢了我不应该谈论这个”。

创建一个博客,发布你那些看起来笨手笨脚的解决方案。不管怎么说,它们肯定还是比某些人的解决方案更聪明。

此外,稍后再回来写下更好的解决方案,挑战你自己之前的方案。

以显示你的成长。

除此之外,博客还可以帮助你保存笔记或待办事项。

...但请关闭评论

发布你笨手笨脚的解决方案的一个问题是,这会吸引一些只想惹毛你的人。“这太愚蠢了”,他们会说。可能会有人说,“你好傻”,而他们不知道谁才真的傻。

把评论关了。不要让那些人阻止你。

把你的笨手笨脚的解决方案发布到网上

不要只把那些“很酷,近乎完美”的项目放到Github上,你完全可以表现出来,在某些时候,你只是初学者。

毕竟你总是可以随时返回并修改代码。

(或者说不要:我仍然拥有我的第一个Python项目的公共repo,看起来我刚刚将Java翻译成Python,而不包含有Python特性的部分。)

列出“我不知道的事情”

著名物理学家理查德费曼保留了一本标题为“我不知道的东西”的笔记本。

当你发现一些看起来很酷的东西并且你想知道更多时,创建一个标题为“我不知道的东西”的文件/注释/任何内容都行,然后记下你发现了的/弄清楚了的东西。

原文:https://blog.juliobiason.net/thoughts/things-i-learnt-the-hard-way/

声明:本文转载自第三方媒体,如需转载,请联系版权方授权转载。协助申请

相关文章

相关热点

查看更多