我还在上学,我知道我在与其他人打交道时遇到问题。
我不是生气,害羞或与众不同,我只是喜欢以自己的方式和意见去尊重他人,我有很大的好奇心和知识的渴望,但是我缺乏练习,我想人们不想工作和我在一起,因为他们可能担心我会说出某种士气。(例如,即使我经常使用Windows,我也开始学习使用Linux而不是Windows进行编程。并且我有Mac)。
缺乏团队合作的程序员会怎样?问题从哪里开始?成为一名优秀的程序员至少能获得一点补偿吗?程序员对自己的工作有远见而不是仅仅按照所告诉的做是正常的吗?
我还在上学,我知道我在与其他人打交道时遇到问题。
我不是生气,害羞或与众不同,我只是喜欢以自己的方式和意见去尊重他人,我有很大的好奇心和知识的渴望,但是我缺乏练习,我想人们不想工作和我在一起,因为他们可能担心我会说出某种士气。(例如,即使我经常使用Windows,我也开始学习使用Linux而不是Windows进行编程。并且我有Mac)。
缺乏团队合作的程序员会怎样?问题从哪里开始?成为一名优秀的程序员至少能获得一点补偿吗?程序员对自己的工作有远见而不是仅仅按照所告诉的做是正常的吗?
Answers:
取决于工作要求。有时您甚至没有团队来完成某些任务。但大多数情况下,您将有一名经理。
作为软件开发人员,您是自己最大的敌人。越早意识到这一点,您的生活就会越好。- 杰夫·阿特伍德
这意味着拥有一支团队将使您更轻松地学习事物!独来独往会让你成为隐士;)
缺乏团队合作的程序员会怎样?
这样一来,对于单个程序员来说,处理太大的项目就变得很困难。程序员很难,团队其他成员则很难。
问题从哪里开始?
各种各样的地方。我们目前只有一名程序员,但他们不擅长于团队合作。他倾向于做出捷径,这会对应用程序的其余部分造成不良影响,因为他过于狭窄地专注于解决面前的错误。或以与应用程序其余部分不兼容的方式编写新功能。我们必须重新安排事情,以便团队的其他成员可以查看他的每个代码签入。但是为了不让他单挑,我们还检查了其他人的代码签入,因此,在上午状态会议上,我们直到午餐后才完成工作。因此,在我们的办公室,这意味着4个人每天丢失1/2天的工作,因为一个人在团队合作中很烂。我不能说这是对以前冒险的一种改进,因为我们可能会因他签入而导致事情中断(我们将其称为“障碍”)随机损失一天到一周的时间(通常是追寻新的错误)。由于应用程序的复杂程度和杂乱性,他代码的一些修复程序最终将清除六个错误(我的建议是从轨道上将其核弹,然后重新开始,因为这是确保不被接受的唯一方法。
当我们心情愉快时,我们称他为“低头程序员”,如果他倾向于低头看键盘并快速输入实型。他不注意别人在做什么。
成为一名优秀的程序员至少能获得一点补偿吗?
不。大多数程序员都是糟糕的团队合作者,他们对自己的技能有很高的评价,这就是所谓的邓宁-克鲁格效应。PDF纸。
也许:程序员应该比团队的其他成员更好。但这仅意味着没有其他人可以维持他的所作所为。当发生这种情况时,这可能意味着单人程序员实际上并没有比团队其他成员好得多-他(而且几乎总是一个人)在欺骗所有人方面都更好。
在商务软件开发方面,公司将在您离开之后很长时间。程序很可能是在您开始之前编写的,并且在您离开后会长期维护。如果您编写的东西如此特别,令人惊奇,以至于没人能理解,那么您最终会遇到Naughty Dog所在的情况 -他们的首席开发人员退出了,其他人也没有人理解他编写的专有编程语言(并写了东西),因此他们现在必须将所有内容都切换到C ++。
程序员对自己的工作有远见而不是仅仅按照所告诉的做是正常的吗?
这很常见-例如交通拥堵或糖尿病。我不会称之为正常。在企业界,还有很多其他需要考虑的事情。许多开发人员具有的强烈的自我意识通常会使开发人员认为其他任何事情都不重要。这种“缺乏配合”和对其余业务缺乏考虑的原因就是为什么如此多的经理类型得出结论,认为软件开发人员很难与之合作。
这是一种可学的技能。您可以立即学习(只需尝试与他人合作),也可以在工作中学习艰辛的方式。(我建议前者。)
如果您无法与他人合作,那么您将无法构建大型系统。您也不能与比您更聪明的人一起工作,这意味着您无法学到太多或那么快。
成为一名优秀的程序员只会带来一点点补偿,但只有一点点补偿。在该行业的16年中,我与之合作过的所有最好的程序员都可以与人相处-对他们来说也许不是很自然,但是他们管理起来却是绝对关键的技能。那些不能容忍的人,但说实话,没有更多。
对我而言,与他人合作的主要能力是与用户和分析师合作。如果您编写的是错误的东西,那么编码的能力并不重要,与定义产品的人员保持良好的工作关系是实现此目标的关键。
第一步可能是更多地了解自己。您说您很高兴尊重他人的意见,但这是真的吗?如果是这样的话,为什么您暗示您倾向于在问题上采取道德立场(这往往与尊重他人的观点相反)?
通常,与他人相处往往是忽略谁是对,谁是错(在80%的情况下认为对与错无关紧要),并专注于做任何使项目前进的事情。
如果您不能与他人合作,并且不是天生的编码天才,那么您基本上会阻止自己从事任何不平凡的项目,因为对于这些人来说,除了降低总线系数之外,您还想要一个团队。
如果您不喜欢身体接触,但可以很好地配合远程办公或在开源邮件列表中使用,那么您将必须专门研究那些技能,以便能够像这样工作。
不幸的是,这可能是一个问题,因为很少在大型项目上工作,而不必在团队中工作。即使您是相互依存地进行项目工作,通常也会发现您必须与最终用户紧密合作,而这一切都归结为团队合作,因此这很重要。
尽管如此,正如其他人指出的那样,这是一种可学习的技能(一定程度上),如果您付出努力的话。通常,您可以在美国大城市参加一些课程,以培养领导才能;但是,成为一个好的领导者的一部分也就是成为一个好的追随者,因此这些技能也得到了发展。同样,在公共场所进行有效的交流有时是人们需要练习的技能,并且与团队合作能力有关,但有时却被掩盖了。无法有效交流的人可能会被视为不是“团队合作者”,尽管只是需要提高他们的沟通技巧。
但是,与团队合作的很大一部分是对自己有一定程度的了解,并且对自己和与他人的其他人都感到很舒服,因此有时与心理学家或辅导员交谈以查看是否有什么可以改善的地方并没有什么害处关于与他人合作。
关于您整个美国的职业生涯,在美国这里,享有“努力工作”或“不成为团队合作者”的声誉可能会严重损害您的长期职业前景,我会冒险猜测在其他大多数国家也是如此。这在建立后就很难动摇,而又没有根据您所从事的领域而转移到另一家公司,甚至可能转移到另一个行业,这也是一个很难撼动的声誉。
由于您是一名优秀的学习者,因此您还应该学习一些人已经知道的东西。
有时需要独立,并且有时需要团结起来。它们都很重要。
既然在学校,就可以发挥好奇心,寻找新的和不同的做事方式。这是一件好事。
与软件团队合作时,您可以贡献自己的好想法。有些会被接受。有些不会。然后,所有人都“将您的肩膀放在方向盘上”并完成工作。那也是一件好事。
我在项目上的经验是,起初人们的士气低落,这时人们仍在尝试着眼于全局。然后,随着朝着目标取得进展,士气稳步上升。最后,由于您的“婴儿”即将“出生”,这非常高。那是您不想错过的事情。
我可以想到许多优秀的程序员,这些程序员被(很多人)认为“很难与之合作”:
在这个行业中,我认为我们中有很多人期望并假设能力和表达能力的能力至关重要。毕竟,我们为了赚钱而去完成一些任务,交朋友是次要的。
在生活中的某个时刻,您将意识到以下两件事之一:
您可以随心所欲地表现出sn讽,孤僻,反社会,愤世嫉俗或粗鲁的态度,因为尽管您有行为举止,但您的技能(以及表达您的知识的能力)结束了所有争论。
您就像其他所有人一样,需要能够在团队合作中工作,同时忍受(和动脑子)别人的嘲笑,退缩,反社会,愤世嫉俗和粗鲁的举止,而其他人的技能和精通知识的能力结束了大多数争论。
如果您对此提出质疑,我想您会认为在团队合作中达成一致有一定的价值,也许“为做到这一点而做”是探索这种可能性的足够好的借口。
我也很喜欢你 我讨厌打扰,这花了我五年多的时间才学会了如何不打扰和解雇别人。我也曾在一个团队工作,这些团队每个月学到的知识比一年自己能学到的更多。当您有有趣的事物要展示或讨论时,只想要周围的人,这很奇怪吗?
如果您还没有看过,请观看电影“ Real Genius ”。特别注意Lazlo Hollyfeld。以开放的心态加入团队,随时借用我的睡衣。
对事物应该有强烈的意见并没有错。任何优秀的程序员都有很多。但是,您需要自问:我为什么要编写此代码?
如果这是您自己的娱乐活动,并且您可以自己完成所有工作,则可以随便做。但是,如果您正在为其他人使用它,或者需要帮助,或者您希望在厌倦之后其他程序员会维护它,则需要开始考虑其他人的需求和观念。
有远见是可以的。但是,只有您能够说服其他人分享您的愿景,这才真正有所作为。盖茨,乔布斯和托瓦尔兹都设法通过制作服务于许多人的产品并带入他们的视野来实现他们的视野。纯粹以您的方式进行工作会更加纯粹和令人满意,但这需要付出一定的代价。就像伏尔泰说的那样,您可能会让完美成为善良的敌人(“ Le mieux est l'ennemi du bien”)。
团队合作是软件工程的重要组成部分。如果您是一个人工作,您可能不会对别人的状况和别人对您的期望感到困扰。但是,如果您与另一个人一起工作,那么一起工作非常重要。在软件方面,团队合作的意思是真正的“ 沟通良好 ”。只要尊重您的同事并宽容所有想法。应该没事的
由于您刚刚准备加入工作队伍,因此我要指出其他一些内容。
入门级程序员从来都不是超级巨星。您不能认为自己比其他人都强,就可以从事工作,因为显然您并非如此。您一直在与您所在级别的其他人竞争,因此您可以认为,我比这些人更好,我必须是一名出色的程序员。
但是刚从学校毕业的人不知道拥有十年专业经验的人所知道的。您只是还不知道。现在,我承认并非所有有丰富经验的人都是超级巨星,而仅仅是入门级并不意味着您不能成为一个像样的程序员。这甚至不意味着您就不能成为拥有比其他人少调味的超级巨星(当然有些人永远不会成为超级巨星,但是那也没关系)。
但是除非您是团队中最初级的人,否则您将无权实施想法。要获得这种信誉,您需要成为团队合作者。您需要了解业务领域以及业务运作方式。您需要了解,在大多数工作场所中,您的个人需求和要求都无关紧要。您将被雇用做特定的工作并产生结果。在您制作出其中一些内容之前,即使您是正确的,人们也会对您的建议表示怀疑。您必须先走路,然后才能讲话。