不要以老师自居,分清“学习”和“了解”如上文所说,IT行业的很多所谓“知识”,只不过是一些奇技淫巧,用以绕过前人设计上的失误。所以遇到别人不知道一些东西的时候,请不要以为你“教会”了别人什么东西,不要以为自己可以当老师了。以老师自居,使用一些像“跟我学”一类的语言,其实是一种居高临下,不尊重人的行为。
人们很喜欢在获得了信息的时候用“学习”这个词,然而我觉得这个词被滥用了。我们应该分清两种情况:“学习”和“了解”。前者指你通过别人的指点和自己的理解,获得了精髓的,不能轻易制造出来的知识。后者只是指你“了解”了原来不知道的一些事情。举个例子,如果有人把一件物品放在了某个你不知道的地方,你找不到,问他,然后他告诉你了。这种信息的获取,显然不叫“学习”,这种信息也不叫做“知识”。
然而,IT行业很多时候所谓的“学习”,就是类似这种情况。比如,有人写了一些代码,设计了一些框架模块。有人不知道怎么用,然后有人告诉他了。很多人把这种情况称为“学习”,这其实是对人的不尊重。这跟有人告诉你他把东西放在哪里了,是同样性质的。这样的代码和设计,我也可以做,甚至做得更好,凭什么你说我在向你学习呢?我只是了解了一下而已。
所谓学习,必须是更加高级的知识和技能,必须有一种“有收获”,“有提高”的感觉。简单的信息获取不能叫做“学习”,只能叫做“了解”。分清“了解”和“学习”,不以老师自居,是尊重人的一个重要表现。
明确自己的要求,不要使用指责的语气有些人很怪异,他根本没告诉过你他想要什么,有什么特别的要求,可他潜意识里假设已经告诉你了。到了后来,他发现你的作法不符合要求,于是严厉指责你没有按照他“心目中的要求”办事。这种现象不止限于程序员,而且包括日常生活中的普通人。举个例子,我妈就是这种人的典型,所以我以前在家生活经常很辛苦。她心目中有一套“正确”的做事方式,如果你没猜出来就会挨骂。你为了避免挨骂,干脆什么事都不要做,然后她又会说你懒,所以你就左右不是人 :)
IT公司里面也有挺多这样的人,他们假设有些信息他已经告诉你了,而其实根本没告诉你。到了后来,他们开始指责你没有按照要求做事。有些极其奇葩的公司,里面的程序员不但喜欢以老师自居,而且他们“传授”你“知识”的主要方式是指责。他们事先不告诉你任何规则,然后只在你违反的时候来责备你。我曾经在这样一个公司待过,名字就不提了。
现在举一个具体的场景例子:
A: 你push到master了?
B: 是啊?怎么了?
A: 不准push到master!只能用pull request!
B: 可是你们之前没告诉过我啊……
A: 现在你知道了?!
注意到了吗?这不是一个技术问题,而是一个礼节(etiquette)问题。你没有事先告诉别人一些规则,就不该用怪罪的语气来对人说话,况且你的规则还不一定总是对的。所以我现在提醒各位IT公司,在技术上的某些特殊要求必须事先提出来,确保程序员知道并且理解。如果没有事先提出,就不要怪别人没按要求做,因为这是非常伤害人自尊的作法。其实,在任何时候都不应该使用指责的语气,它不但对解决问题没有任何正面作用,而且会恶化人际关系,最终导致更加严重的后果。
程序员的工作量不可用时间衡量很多IT公司管理层不懂得如何估算程序员的工作量,所以用他们坐在自己位置上工作的时间来估算。如果你能力很强,在很短的时间内把最困难的问题解决了,接下来他们不会让你闲着,而会让你做另外一些很低级的活。这是很不合理的作法。打个比方,能力强的员工就像一辆F1赛车,马力和速度是其他人的几十倍。当然,普通人需要很长时间才能解决,甚至根本没法解决的问题,到他手里很快就化解掉了。这就像一辆F1赛车,眨眼工夫就跑完了别人需要很久的路程。如果你用时间来衡量工作量,那么这辆赛车跑完全程只需要很短时间,所以你算出来的工作量就比普通车子小很多。你能因此说赛车工作不够努力,要他快马再加鞭吗?这显然是不对的。
人们很喜欢在获得了信息的时候用“学习”这个词,然而我觉得这个词被滥用了。我们应该分清两种情况:“学习”和“了解”。前者指你通过别人的指点和自己的理解,获得了精髓的,不能轻易制造出来的知识。后者只是指你“了解”了原来不知道的一些事情。举个例子,如果有人把一件物品放在了某个你不知道的地方,你找不到,问他,然后他告诉你了。这种信息的获取,显然不叫“学习”,这种信息也不叫做“知识”。
然而,IT行业很多时候所谓的“学习”,就是类似这种情况。比如,有人写了一些代码,设计了一些框架模块。有人不知道怎么用,然后有人告诉他了。很多人把这种情况称为“学习”,这其实是对人的不尊重。这跟有人告诉你他把东西放在哪里了,是同样性质的。这样的代码和设计,我也可以做,甚至做得更好,凭什么你说我在向你学习呢?我只是了解了一下而已。
所谓学习,必须是更加高级的知识和技能,必须有一种“有收获”,“有提高”的感觉。简单的信息获取不能叫做“学习”,只能叫做“了解”。分清“了解”和“学习”,不以老师自居,是尊重人的一个重要表现。
明确自己的要求,不要使用指责的语气有些人很怪异,他根本没告诉过你他想要什么,有什么特别的要求,可他潜意识里假设已经告诉你了。到了后来,他发现你的作法不符合要求,于是严厉指责你没有按照他“心目中的要求”办事。这种现象不止限于程序员,而且包括日常生活中的普通人。举个例子,我妈就是这种人的典型,所以我以前在家生活经常很辛苦。她心目中有一套“正确”的做事方式,如果你没猜出来就会挨骂。你为了避免挨骂,干脆什么事都不要做,然后她又会说你懒,所以你就左右不是人 :)
IT公司里面也有挺多这样的人,他们假设有些信息他已经告诉你了,而其实根本没告诉你。到了后来,他们开始指责你没有按照要求做事。有些极其奇葩的公司,里面的程序员不但喜欢以老师自居,而且他们“传授”你“知识”的主要方式是指责。他们事先不告诉你任何规则,然后只在你违反的时候来责备你。我曾经在这样一个公司待过,名字就不提了。
现在举一个具体的场景例子:
A: 你push到master了?
B: 是啊?怎么了?
A: 不准push到master!只能用pull request!
B: 可是你们之前没告诉过我啊……
A: 现在你知道了?!
注意到了吗?这不是一个技术问题,而是一个礼节(etiquette)问题。你没有事先告诉别人一些规则,就不该用怪罪的语气来对人说话,况且你的规则还不一定总是对的。所以我现在提醒各位IT公司,在技术上的某些特殊要求必须事先提出来,确保程序员知道并且理解。如果没有事先提出,就不要怪别人没按要求做,因为这是非常伤害人自尊的作法。其实,在任何时候都不应该使用指责的语气,它不但对解决问题没有任何正面作用,而且会恶化人际关系,最终导致更加严重的后果。
程序员的工作量不可用时间衡量很多IT公司管理层不懂得如何估算程序员的工作量,所以用他们坐在自己位置上工作的时间来估算。如果你能力很强,在很短的时间内把最困难的问题解决了,接下来他们不会让你闲着,而会让你做另外一些很低级的活。这是很不合理的作法。打个比方,能力强的员工就像一辆F1赛车,马力和速度是其他人的几十倍。当然,普通人需要很长时间才能解决,甚至根本没法解决的问题,到他手里很快就化解掉了。这就像一辆F1赛车,眨眼工夫就跑完了别人需要很久的路程。如果你用时间来衡量工作量,那么这辆赛车跑完全程只需要很短时间,所以你算出来的工作量就比普通车子小很多。你能因此说赛车工作不够努力,要他快马再加鞭吗?这显然是不对的。