4-5年是编程职业的“中年危机”吗?


330

我从事专业C#编程已有4年了。在过去的4年中,我曾为多家中小型公司工作,包括“网络/广告代理商”,小型行业特定的软件商店到小型创业公司。我主要从事“业务应用程序”,涉及使用高级编程语言(收集的垃圾),而我的总体经验是,我所做的所有工作本来可以更加专业。很多事情做错了(仓促),主要是由于成本因素,人们总是想要“现在”的东西,而可动用的钱却最少。我一直在想,也许我可以在更大的公司或更适合程序员的公司工作,或者在某个地方工作?我有足够的金钱和时间来真正地建立一些更长期,更可维护的东西,我可能会在自己的职业生涯中享受更多。我从来没有一个“导师”来指导我度过四年的职业生涯。除了我的学士学位,我几乎是博客/谷歌/自学程序员。

我还观察到另一个问题,在“我的工作环境”中,大多数所谓的“高级”程序员实际上并不是那种高级技能。他们之所以成为“高级”,是因为他们已经有很长时间的程序员了,但是他们编写的代码或做出的决定绝对是垃圾!他们不想学习,他们不想变得更好,他们只是想得到报酬,做他们告诉别人要做的有意义的事情,而我们大多数人就是这样。也许这就是为什么他们现在就在这里。但是我不想变得像他们一样,我想变得更好。我已经陷入一种精神状态,我不再打算成为未来职业的程序员。我开始认为也许还有更好的事情要做。我阅读的博客越多,尝试过的“最佳实践”就越多,我感觉自己正偏离“我的现实”。但是我不是一个优秀的程序员,否则我不认为我现在在这里。我认为4-5年是一个阶段,既可以迈向职业生涯的明智之举,也可以迈出您的目标。

我只是想听听别人对我上面提到的内容有何评论,以及您在过去的编程生涯中是否遇到过类似的情况以及如何处理。谢谢。


73
4--5,对不起,我认为它读了45年,可能会引发一些有趣的讨论。您的孩子们:-)(32岁,但仍未陷入危机)
High Performance Mark

7
只是因为如今,擅长某事是如此容易,但是大多数时候擅长于某事再也不会被削减了,您必须非常擅长于您所做的事情,但是在我的整个经历中,我见过几乎2个人最大的是他们擅长的工作。

5
有趣的问题,但没有真正的答案。我强烈推荐社区Wiki的状态。
David Thornley,2009年

3
社区Wiki的另一票

4
编程需要很长时间才能掌握,大多数人都在追逐金钱和荣耀,玩公司政治。 norvig.com/21-days.html 在这里,这里供假定的高级程序员使用。20年后,我在篱笆的另一侧。我必须雇用这些人,而且很少有人找到真正可以声称自己是高级程序员的人。这些人中的大多数人几乎都没有完成第一年的5次工作,这与5年的建设和成长不一样。

Answers:


195

您提出了一个非常有趣的问题。我完全同意你的看法。我也做了类似的观察。

我从事专业编程已经有几年了,我观察到的是,优秀的程序员,热爱他们的工作并能以高质量和热情去做的优秀开发人员的数量几乎接近零。我可能只遇到一个可以教我一些知识的人。我所知道的大部分知识都是我自己学到的,阅读书籍和论坛,在论坛中提问,以及谷歌搜索启示思想。

一段时间后,我对此并不后悔。

在工作环境中学习的选择常常受到限制。你不开始做。你没有完成他们。您不设计,不改进,不重构,不考虑体系结构,您只是一起编写代码和修改内容。大多数商店就是这样运作的。您不仅不会学任何东西,而且更有可能会学到很多错误的知识,即如何不开发软件。我一直在我周围不断看到可怕的事物,所有这些反模式您都听说过。更糟糕的是,我被迫自己做。

我不知道它是怎么发生的,但是我设法以某种方式建立了输入障碍。我保持开放,倾听,如果我发现自我完善的潜力,我会研究并可能采用一些技巧或想法。但没有BS能够通过。我已经在糟糕的项目中工作了很长时间,但是我自己还没有采用任何这些不好的技术。

我几乎很快就明白,如果您希望对编程感到满意,那就不用工作了,并拥有自己的个人项目。在这里,您可以运用自己的全部爱,热情和知识,以高品质的水平做正确的事情。您将学到很多东西,这是无聊的事情,这些东西在黑客无聊的公司员工时是永远不会暴露和挑战的。我只做薪水工作,对自己的个人项目感到满意。

我真正不了解的一件事是,如今这种情况是如何发生的。软件开发已经成熟了很多。它有好有坏的经验。许多成功的项目和很多失败的项目。有长期项目方面的经验,并且了解一个组织或另一个组织对项目带来的长期影响。有许多研究可用,并且写了好书。“实用程序员”,“代码完成”,“神话般的月人”,“日常用品设计”等。为什么除了我们以外,程序员都没人读过它们?即使在IT部门工作了20年,大多数开发人员和管理人员也可能没有时间阅读其中一本方法论书。它们是为最需要这种药物的人写的,但几乎没有被阅读。

关于职业观点。我还注意到,在员工的就业市场上,总体而言,那里的雇主越来越对优质工作失去兴趣(想象他们曾经有过一次),他们正越来越多地购买最便宜的手工艺品。您发现很难将您对宇宙的知识,经验和理解卖给任何人。没有需求。所需要的是让没有经验和渴望从事专业工作的初级人员破坏您的项目。廉价人被滥用和虐待,然后被扔出去,以便下一轮开始。项目也被外包到低工资的目的地,那里的人显然是开始学习与您的项目一起编程的人。我真的不明白那是一件事。

我越来越有一种想法,那就是我将来会在某个时候放弃从事编程的工作。我非常想在自己的项目中从事自己的初创公司。如果不是那样,我正在考虑尝试自由职业或可能改变有薪工作的性质。毕竟,我在工作时间几乎没有学到任何东西,也一点都没有满意。我可以做9-5的任何事情,对自己的个人项目总是很满意。我从在线社区中学到很多东西。我在这里受到关注,支持我的想法,有时甚至得到认可,我的工作和同事们永远都做不到。将会看到我将来的位置。


26
您所描述的正是我过去经验的大部分。“”“不仅您不会学任何东西,而且更有可能会学到错误的东西,即如何不开发软件。”“” 100%同意。

6
我有点想念80年代和90年代,现在日子过得太简单了,便宜了很多,但缺少的是生活的质量和享受。

16
我想对此表示赞同,我在很多方面确实有同样的感觉,但这确实是太多的厄运和忧郁。工作区并不是真的那么可悲。如果您真的很棒,请不要为一家不是真的很棒的公司妥协。我只会为我所信奉的公司,在哪里可以成长以及在哪里可以成长的公司工作。我的专业知识为我20年的职业生涯提供了这种奢侈。我热爱我的第一份工作,并且为获得该职位而奋斗,也不得不为获得第二份工作而奋斗,但是我的第三份是我的选秀权,我写了自己的票,现在我只雇用种植者。

11
我很伤心,看到这么多的人用这个郁闷,士气低落后同意,这让我感到很幸运,在哪里工作我做。我只从事了大约5年的编程工作,但到目前为止,我在任何地方都可以工作并向他人学习。我的大多数同事在某种程度上对他们的工作充满热情。我的经理们鼓励在工作中学习。我一直练习敏捷,因此做了很多重构,结对编程和架构设计。我并不是说要吹牛,只是希望让您知道有一些有趣的代码工作

2
@DumbCoder,您的名字似乎很好地描述了您。;)
Arlen Beiler

70

Jeff Atwood在Coding Horror上发表了一篇帖子,说这应该很有趣。成为软件开发人员的一部分工作描述是享受您的工作。否则,它将成为您一个非常无聊且麻烦的职业。

您不断寻找改善工作的方法,并且不断了解新知识和最佳实践的事实表明您喜欢大自然中的工作。因此,我对您的建议是开始寻找新工作。

但是,我认为为大公司工作并不一定会改善工作条件。我认为,软件开发人员的最佳环境是中小型公司,人们喜欢他们的工作。最好的办法是在做出决定之前搜索并结帐任何公司。尝试并确保新公司值得。


17
“成为软件开发人员的一部分工作描述是享受您的工作。否则,这对您来说将成为一个非常无聊且麻烦的职业。” 队长显然救援!
P Shved


3
正如您提到的,我确实喜欢编码,但是目前我所面对的是“理想”世界与“真实”世界之间的鸿沟。理想情况下,较少人的工作,我们大多数人的工作水平低于平均水平。我似乎还找不到平衡点。我也不相信换工作是解决方案。但是我确实相信,如果机会来了,如果我还没准备好,我会错过的。

2
公司规模与您管理游击队/草根工艺改进计划的可能性之间确实没有任何关联-这取决于个性(规模较小)或现有工艺重量(规模较大)的开放程度改变环境是。

2
我同意开发人员的公司范围,中小型公司是最好的,因为人们喜欢他们所做的事情。
塔里克

50

第一件事:一个大警告:如果您已经开发了10年(就像我一样),那么您将无法做得比开发更好。因此,如果您想做其他事情,新的事情,请快点做,否则可能为时已晚,并且您不会擅长做其他事情。

只是分享我自己的观点:我是一个自我驱动的人,自学成才。我已经学会了独自纯C,C#,Amiga的三,发展,Windows中,COM,德尔福,PHP,Cinema4D在现在搅拌机和Python。我几乎总是努力孤独。这是我迄今为止遇到的最大问题:小型公司试图生存,而您是保持生存的人之一:压力很大,但也有收获:您工作更多,学习更快,还有很多东西很快,您就可以使产品更快(尽管您经常无法正常完成工作)。无论如何:压力太大了。相反,公司将永远生存,但是问题是人:太多的人。这是一个丛林,但更糟的是:尚无明确的证据:如果您与之共事的人觉得自己比自己更好,他们会尽力不帮助您上去,而只是射击您,因为他们害怕自己的事业。这就是它在法国的运作方式(其他国家不知道)。

要长话短说:尽量找一个中型公司,你觉得这是你的地方。无论您从事多长时间的编程,无论您从事了多长时间的工作,当您上车去上班并且您认为“我很高兴去上班”的那一天都是一天你发现你的地方

这不是4-5年之类的问题。

NB:“我很高兴去上班”和“我很高兴去上班,因为我会做到这一点”和/或/“我很高兴去上班之间有很大的区别。工作,因为我将学习这一点和那一点。” 如果您认为“因为我会做到这一点”意味着“这一天”将结束一天,此后您可能会不高兴。这是我12年的编程经验。我是大四学生,薪水很高,但我的确意识到20-25岁的人比我想的要快。他们只是没有我的经验,所以我只是承认我可以帮助他们做事,他们做得更快,但是我帮助他们正确地做它们(开始开发时几乎从来没有这种情况)。

对不起,我的英语不完美,请立即纠正我的帖子以使其适合英语。


我同意你的观点。我听说过关于大公司的类似评论。

+1。还寻找“我很高兴去上班,因为我会学习并做到这一点”

2
@Arnis,我认为做寿司与在成为开发人员十年后改变整个职业道路并不完全相同。尝试到35岁,并决定要成为一名律师/医生/新闻工作者/会计师等。在达到所需的基本技能之前,您将年满45岁。

3
对不起,也许我没有解释自己:我不是卖家,也不是“当好骗子就是卖家”的工作。我确实是说,一旦您展示出自己的表现比其他人都要好,他们只会在需要帮助的那一天将你击落。现实生活中的例子:那是20:00(我是单身,还在工作),我需要使用密码访问PC。我问了一个55岁的老人,他不好,他回答:“你真好,为什么不破解呢?” 今天晚上我没有得到密码。这些事情不仅在大公司中发生过多次。
奥利维尔·庞斯

4
“因此,如果您想做别的事情,新的事情,请迅速做,否则可能为时已晚,并且您不会擅长做别的事情。” 错了 完全错误。我认识的人从事公司工作直到45岁,然后决定重返医学院。你知道吗,那些人做得很好,因为他们喜欢他们所做的事。关键是,只要保持开放的心态,改变就永远不会太晚,除非您一直坐在电视旁看电视,否则25岁以后大脑萎缩的所有想法都是不正确的。 。

36

我已经担任软件开发人员21年了-尤其是这意味着我已经做得足够喝了!;-)但是,认真的说,我无法想象做任何事情都像编程一样好或快乐。我显然是真正热爱这项工作的稀有鸟类之一。

我最近正在重新整理自己的简历,并且发现过去二十年来我有很多很多工作-主要是合同。但是,从那一长串清单中我发现,我最喜欢的工作(也是我待了最长的工作)是在软件公司,即那些涉及向客户销售软件的商业模式的公司。以下理论可能并不普遍适用,但它们可以解释我的经验。

正如我所看到的,软件商店和典型的IT商店之间的区别非常明显。这仅仅是高层管理人员了解什么的问题。如果公司从软件中获得大部分收入,那么最精打细算的人将真正垄断软件及其制造方式。但是,如果收入来自销售小部件,那么他们通常没有最微妙的线索来保持IT基础架构的运行,更不用说软件开发背后的流程了。更糟糕的是,即使他们将任务委派给IT员工,他们也会尝试将IT流程映射到他们所了解的范围,其结果通常范围从令人失望到灾难性。

原因之一是那里有各种各样的人才,从单纯的能力到软件专家。这完全与千篇一律,千篇一律的心态背道而驰,这种心态对于不熟练和半熟练的职位非常有效。对任何开发人员都可以用具有类似“技能组合”的任何其他开发人员取代的期望在我们看来似乎很可笑,但对于专注于原始数字的管理结构而言,这似乎是完全合理的。如果这看起来不可思议,请看看仍有多少家商店仍在尝试使Waterfall模型工作。

您不一定需要团队中的所有专家,但至少需要一两个。他们的角色的一部分必须是指导初级人员,以便他们能够成长为角色(或洗净-发生)。否则,劣质的初级代码将占主导地位,并伴随着错误的处理和膨胀。一旦发现癌症,代码将很快变得难以维护,整个团队的生产力急剧下降,人们开始精疲力尽。

这创造了营业额,直到最后有人说:“我们不能再继续这样做了!让我们报废并重新开始吧!” 遗留代码库中的投资消失了,整个过程又重新开始。“但是这次会有所不同,”您向自己保证。有一段时间了。然后有人雇用了您的摇滚明星,然后您离开了无方向的初级人员,再次浪费了您崭新的代码库。

泡沫。乱 悔改。

但是,我离题了……因此,回答您最初的问题:不,五年不是软件职业的中年。也许,这更是一个理性时代。在您的职业生涯中,鳞片从您的眼中移开,您开始了解它的本质。对于每个人来说,实现的顺序都不同,这将使您沿途得出的结论更加生动。但是请留在那里-如果您神智活泼地走到另一侧,您将拥有更健康的视野,并且最终您将发现我们这疯狂的生意比以往任何时候都更加有意义。


3
我喜欢您对软件商店和典型IT商店之间区别的解释,我完全同意。坦白说,我在典型的IT部门比在软件商店工作更多,因此也难怪为什么我的编程技能在过去两年中没有得到太多改善。尽管我一直在阅读新技术/方法/模式(我目前正在学习CQRS,发现简化的过程令人惊奇。一开始它似乎很复杂,不值得。)但我发现我无处可去实际应用我个人项目以外的知识。

就像您描述的那样,那些IT商店中的大多数老板/经理只看数字而已!公平地说,那些典型的IT商店确实比那些软件商店提供了更多的就业机会。除了IT商店主要由雄心勃勃的商人经营,而他们又是无能的IT人员的后盾,他们试图赚一些快钱。

32

我认为您还需要五年以上的经验。然后,您将能够接受折衷方案,并乐于修复您能解决的问题。

至少那是我的经验。我认为大约5年(成为专家所需的时间)实际上是“得到了”。我意识到我的代码很烂。我意识到让应用程序正常工作的闪亮技巧就是这些技巧。我了解到,我一直在创建低于标准的代码,只是为了让老板开心,并保持薪水增长。

同时,我意识到老板的愿望不会改变。他们昨天总是想要在没有花任何钱在好的工具上的情况。如果我使用特定的设计模式,他们永远也不会在意。他们永远不会敬畏,因为我通过明智地应用“单一责任原则”提高了可维护性。

我还意识到,我将与没有经验的程序员一起展现自己的年轻自我。入侵程序的程序员可以使其快速运行。这位年轻的程序员抵制了我花了很多年才理解的所有愚蠢的事情。年轻的程序员认为拥有5个类比拥有一个能完成所有所有工作的庞大类更令人困惑。

但是现在我已经十岁了,我开始看到那些挫折就像我前五年的挫折一样。这是与学习新技能有关的挫败感。但是这次技能是人际交往的。这些技能使非程序员逐渐了解了走牛仔之路的局限性。而且这些技能在总体规划中可能比我在头五年获得的编码技能更为重要。

但是,这项工作真正令人惊奇的是,我可以继续并且实际上必须继续进行技术技能的开发,同时还要与管理层合作。

所以我对你说继续吧!因为您已经熟悉了该技术,所以您可以开始研究处理糊状东西的技巧。


3
+1您说得对!沟通能力是成为一名优秀软件开发人员的下一步。
Dimitri C. 2010年

经过一年的全职工作,大学毕业后,我的藏书从100%编程变成了50-50编程/人际交往能力。我真的很了解这篇文章。正如有人曾经告诉我的那样:“对他们来说,如果对他们来说合适,那就对了。”

“不仅要通过技术技能来发展,而且还要与管理层合作。” 我对此完全同意。即使我不喜欢最近的变化,我仍然坚持我当前的工作-微管理,没有时间分配学习,没有注意到良好的工作或所做的改进,太多的压力,肮脏的政治。好消息是,我有2-3个人就我的软技能问题提出建议。一旦感觉不到我不再学习任何软技能,我就会退出。这是因为我已经开始意识到这些技能绝对比技术技能更重要。
Mugen

29

我发现相对幸福有两个秘诀:

  • 不要试图拥有想要的一切,而是想要拥有一切

  • 生活很艰难-受到打击的能力并不重要(个人和职业上都不错);它总是会反击得更厉害。重要的是您能受到多少打击并且仍然能够继续前进。

毕竟,这一切都是在公园散步,还有比字节和字节以及实践和事物还要重要的事情。尽情享受所有体验,然后尽力反击。


1
真是太好了!

8
+1,旅程比目的地重要得多。我发现自己不知道要去哪里,目的地使我不感兴趣……但是可以肯定的是,我从未见过如此美丽的公园!

22

也许看看乍得·福勒(Chad Fowler)的《热情的程序员》 ...从网页中引用:

在大多数情况下,出色的职业不是偶然的。当您犯错时,他们需要思想,意图,行动和改变路线的意愿。我们大多数人一直在挣扎着让自己的事业走到他们可能的境地。现在该采取控制了。


19

海事组织您显然感到的不满不是危机,而是您达到一定水平的信号。您超过了“我只是程序员”的位置。您现在已经有了足够的了解,可以了解当前事务状态中的缺陷以及如何解决该缺陷。

下一步是找到您认为潜在的改进与您所工作的公司之间的联系。然后,您必须说服老板,这是要走的路。

仅仅了解事物并知道如何做是不够的。您还应该能够说服人们您知道自己在做什么。如果听起来像是销售,那是因为。但这绝对是成为“伟大”的必要条件。您不是在与计算机一起工作,而是在与他人一起工作,与他人一起工作,您必须能够推销自己的想法。

当然,有些公司可能会过于保守而无法接受您的想法,而您的老板会因为您所穿领带的颜色而拒绝它们。请记住,卖出想法并不比产生想法容易,而且销售不成功不一定是老板的别有用心的结果,这可能对您而言是不好的表象。


完全同意!正如许多人提到的那样,“人民”是下一个要解决的任务!

18

我完全同意Nikos。我认为您可能需要找到一家专注于技术和产品的公司。在有些公司中,软件开发人员仅将开发视为工作,而他们从来没有在自己的时间考虑这些问题。通常,工作环境更适合经理进行办公桌工作而不是开发人员进行脑力劳动。开发人员的平均水平通常较低(尽管您偶尔会得到一名“专家”)。他们倾向于在(例如避免使用)版本控制,测试,过程等方面偷工减料。该公司通常会提供可完成此工作的软件,但它通常很丑陋且有漏洞,似乎没有人特别在意。

另一方面,有些公司的开发商只是在那里做他们本来应该在家中做的事。他们晚上回家,从事自己的家庭开发项目,并在业余时间学习新的语言/技术。工作环境通常以开发人员为中心,具有良好的监视器,良好的工具和良好的氛围,有助于进行思考。开发人员通常是高标准的,您会发现自己每天都在向所有同行学习。他们通常认真对待诸如版本控制,测试和过程之类的事情。该公司通常会提供质量不错的软件,因为如果有错误或不完善,开发人员会亲自处理。

我认为寻找更大的公司不一定会改善事情。实际上,在许多情况下,大公司情况更糟,问题更加根深蒂固,制度化。

显然,我有点两极分化。...但是,如果您是一个内心的软件工程师(而不仅仅是简历),那么您需要尝试找到后者的一种。想想一些好的面试问题,您可以问他们,以找出一家公司是否就是这种地方。


1
如此真实!目前,即使我必须在深夜或清晨工作,我仍处于最喜欢个人开发项目的阶段
Nikos Steiakakis 09年

14

我发现许多程序员不了解的是,并非所有决策都是技术性的。令人遗憾的是,做“正确”的事情并不总是一种选择。这使许多开发人员认为他们的老板很愚蠢,或者做出了错误的决定……是的,通常的确如此,但同样的事实是,该公司可能会倒闭,或者亏损。如果他们允许程序员设置时间表并做出所有技术决策,则这些工作将完全完成。

可悲的是,有时在工作的政治或财务限制内工作并尽我们所能是我们的工作。

您从经验中学到的一件事是要保守。最新的技术可能尚未得到证实,即使您掌握了这些技术,也可能没有足够的了解。经理不喜欢花时间让您快速掌握新技术,只是因为您想学习新知识。

程序员忘记了许多公司不是软件公司。他们是“在这里插入商业行业”也从事软件的公司。您作为程序员的工作是促进任务批判性过程,而不是编写完美的软件。有时候,可以发现它们是同一回事,但实际上却很少见。


1
说出来,哟...
Paul Nathan

你听起来像个经理。您所描述的是真的,但我不同意。

我不是经理。我只有25年的经验,已经交付了数百种产品。
Erik Funkenbusch,2009年

...但是,即使这并没有增加公司的底线,公司也应该承担培养其员工的道德责任。在大中型公司中,您不应因公司的资金状况而睡不着。较高的涨幅可能不会让您分享利润,那么为什么要对它们大加赞赏?

10

我认为这不是中年危机-我会说蜜月结束了。


不,我的“蜜月”持续了大约12-15个月。4年是“编程蜜月”的渴望之路。

3
20年了,我每天仍然对编程充满热情!我会说尝试一些不同的方法,例如在恋爱中编程,尝试新事物确实可以使日渐减少的火焰复活。

哈哈,很真实!
fastcodejava

10

我可以用写得更好的代码进行关联,但是必须要有这样一行:一个完美主义者可能太多了,好像某事在99.99999%的时间内起作用,对于大多数人来说还不够接近100% ?有时,我在消极思维模式下的挣扎中,有一部分是完美主义,强烈的自我批评和判断力,所以也许我可以对此过度认同。

IMO,4-5年的时间足以弄清一些事情:

  • 您想要什么-您喜欢目前职位上的哪些做法?
  • 适合您的方法-有所不同之处可能并不总是您想要的。
  • 您的交易突破点是什么-您能为一家不允许拥有IDE的公司工作吗?极端的例子,但我希望这能说明一点。

还有其他一些问题,例如“如果您确实想提高自己的技能,通往更好的程序员的路线图 ”和“ 如何成为'更快的'程序员 ”。

我还经历过授予某人的高级头衔仅仅是为了在该领域生存了很长时间,而不是达到一定的技能水平。您可以接受这一点作为世界运作方式的一部分,也可以尝试寻找不同的地方。我不知道实际上有多少人,但是我可以说,有时候您会在您喜欢的工作方式以及公司和同事使用什么来完成工作方面找到合适的位置。

洞察力的来源 ”是我最喜欢的博客之一,我几乎一直喜欢阅读它。关于所写内容,有很多智力方面的内容,但内容有些繁重,但有些掘金可以使他们的生活变得更好,或者至少这是我的经验。

我记得在学校的时候,我的孩子在4-5年后常常会过渡,就像我第一次上学的8年(初中到6年级),然后是2年(7和8年级)。 ,4年(高中9-13年级,其中我一年完成11/12)和4年(大学学士学位)。

我可以接受生活中各个阶段出现危机的想法,例如,读完大学可能使人们想知道自己是谁,或者工作了一段时间后才想知道这是否值得。

有些地方可能是很棒的工作场所,而另一些地方可能会导致倦怠,因为在这里曾多次出现过“ 开发人员倦怠的原因 ”和“ 开发人员倦怠的故事 ”这两个问题,而其他问题则恰恰相反, “ 您的动机是什么 ”和“ 编程(去动机)以及进一步的计划...

出于背景考虑,我一直在开发网站/应用程序已有将近12年的时间,因为1998年2月我第一次离开大学工作,而除了8个月的干旱之外,我一直没有工作。一直在几个不同的环境中执行此操作:几个网络公司,一个应用程序服务提供商,现在在本地技术公司的信息系统部门的Web开发团队中。我意识到这是一个很长的答案,但我认为所提出的问题对我的想法没有简短的答案。


9

在我编程的十年中,我发现了类似的事情,并且我猜想这是相当普遍的事情。在商业世界中(相对于学术界而言),金钱(或缺乏金钱)和时间决定着节目的时间表,功能和质量。通常,这些资源不足以完全正确地执行操作。这是寻找解决问题最有效方法的主要动力。这种情况也使我谨记,我的编程应该只解决当前的问题(需要考虑一些将来的问题),而不是构建包含比所需功能更多的功能的东西。我认为这是一个至关重要的教训。

不幸的是,根据我的经验,您对“高级程序员”的评论也很普遍。我认为这有两个原因-首先,许多有经验的程序员会变得懒惰,只使用他们在职业生涯中使用的工具和方法。但是,技术在不断发展,这导致这些经验丰富的程序员成为“恐龙”。其次,经过一段时间的编程,很容易陷入一点狂妄(“我的才华已经吸引了我,所以我必须是一个非常好的程序员”)。我通过不断尝试学习新方法或技术来解决我的问题,从而尝试解决这两个问题。有时,这与上面的“仅构建所需内容”课程状态相矛盾,但是目标是在两者之间寻求健康的平衡。

我建议您以自己的经验为动力,不断提高自己。大约5年后,我自己退出了编程行业,因为我失去了对代码进行编程的热情。但是我无法摆脱构建程序的渴望,几个月后,我回到了这个行业。我确实了解到,您必须让自己做自己喜欢做的​​事情-如果您想进行项目管理,请找到一个可以管理项目的职位。如果您想整天编写代码,请找到一个位置。找到一份挑战您的工作并实现您的愿望的工作是幸福生活的美好而必要的一部分-我希望您能找到这份运气。


7

嗨,伙计,阅读您的问题真的很好。很高兴您写了。您知道什么,您没有意识到您现在拥有什么了解。您写的东西使我了解您所拥有的经验,并相信我这种经验并不是所有程序员都能拥有的。你是一个自我驱动的人,自我学习。在小型公司工作了4年之后,现在您的状态非常成熟。如果您去过大公司,那么您将没有什么可被视为经验。现在您已经了解了这个行业的运作方式,事情的完成方式以及应该如何做。这些所谓的“前辈”有什么水平。如果您是一个很好的自学者,并且已经进行了4年以上的自学,那么我有个建议。您尝试以自由职业为职业。相信我,您会为自己工作,享受更多。

最后,请不要后悔过去四年的表现。这是一次绝妙的经历,只有很少的经历:)


我感谢为中小型公司工作,否则我想我不会写这个问题。小公司教会了我很多生存的“现实生活经验”,也教会了我“如何不做很多事情”。我所说的“大公司”实际上是指更适合程序员的公司或关心其“软件资产”的公司。我不是说公司的规模。如果我仍在进行编程,我可能正在考虑明年自由职业。如您所知,我目前处于精神状态。^ _ ^

是。不满是好的;如果您对自己的所在位置感到满意,那么您会变得自满,就像Jeffrey提到的“高级”家伙一样。las,他们似乎确实占了该行业的大多数人,我们所有人都必须学会应对这一事实。

7

在谈到完全有经验的人时,高级程序员和初级程序员之间的区别通常只是基于薪资的。组织对更改职称的重视程度存在很大的差异,通常取决于您被录用时的要求。

如果有什么安慰的话,我将面临10年的编程中期危机,尽管我确实开始在Apple] [+上编程,所以可能是24年。我不知道。我只是希望人们不要期望程序员会产生魔力。


7

我发现我在职业生涯中看到的红线是,当我感觉自己陷入无法控制自己的环境的情况时,即开始感到无聊的时候。只是做其他人告诉你的事情。重要的是要拥有一个自己的区域(IMHO)来完全负责-也许您的工作中也缺少这个区域?

在这种情况下,您应该与您的经理谈谈,也许您目前的工作有解决方案?要求更多的责任永远是一个好举动。


您是否暗示程序员是控制狂?

他不会错的;)
霍布斯

“我发现我在职业生涯中看到的红线是,当我感到自己陷入无法控制自己的环境的情况时,即开始感到无聊的时候。” 没错!
陈斌2009年

@杰弗里,不,这是人类的普遍特征,我们对自己的处境/环境的控制越少,我们感到沮丧,例如沮丧。
安德斯(Anders)

7

根据我的经验,前几周(最多几个月)对于项目的总体质量至关重要。如果您恰巧是在其他程序员已经创建烂摊子的地方开始工作(糟糕的编码标准,没有版本控制等),那么对于经理来说非常困难,而对于新同事来说则几乎不可能进行任何改进。后来,截止日期和棘手的问题将使几乎每个项目都有些丑陋,但是如果基础做得好,则损害将是有限的且可控的。

出于这个原因,如果您发现自己必须与一个坏项目的坏同伴一起工作,请尝试分配到一个新项目(如果在公司中可能这样做)或找到新工作。不要等太久,因为不良习惯会传染。


7

我曾经遇到过同样的问题,并且可能看了同样的东西(伟大的创业公司,鼓舞人心的建议,有动力的人们创造出令人赞叹的东西,流程,算法,这些使您发自内心),却在我的现任或前任同事中都找不到,也不在我认识的人中。因此,将这种浓厚的兴趣与一份带薪工作相匹配的难题意味着很多糟糕的夜晚,以及对一个如此精巧的项目的搜索,这种项目可以放在一边,但很快就可以发展成为自己的东西以提供出路。像很多人一样,我有一个家庭要支持,而且我个人认为,如果不完全是IT风格和无聊的话,在针对巴西市场的初创公司中构建产品所需的精力就不会得到很好的利用。认真吗?我整天都在做些琐碎而无聊的事情。

因此,对我而言,答案一直是将学习和改进的意志保留在一个地方,而将工作留在另一个地方。我已经开始使用processing.org,并继续尝试绘画,写作和烹饪更多东西。坦白地说,这对我来说很棒:有时候您会迷上与您欣赏的人相处并被成就卓越的万神殿所吸引,而忽略了关于自己是谁以及让自己感到生命值得的严肃事实活的。尽管工作花费了您相当多的一天的时间,但是当您停止担心这一切意味着什么以及您要去往何方的那一刻,便是您意识到自己不需要它到达那里的那一刻。如果喜欢,请继续编写代码,在家里编写软件,为自己热衷的项目做出贡献。对于大多数人来说,这种满足感几乎不是来自薪水,


有点悲观,但现实都是一样!我认为您对此有很好的立场。
Nikos Steiakakis,2009年

7

作为程序员,您总是要平衡自己对完美的渴望和雇主对工作产品的渴望。在某些公司中,这两个愿望会彼此接近,在大多数公司中,这两个愿望会相距甚远。

对于处理日常工作的最佳建议,是从侧面开始一个个人项目,这个项目没有最后期限,可以在平时不工作的地方工作,可以在所有工作中完成所有工作。决定。我编写的最有价值的代码是在作为Wii开发人员工作时,我建议您编写一个游戏。您将能够接触到编程,3D,网络,AI等的每个不同方面,并且由于您已经在使用.Net,所以我建议您使用XNAUnity

就高级程序员所知不多,您可能是对的。大型公司的大多数高级程序员是在他们确实了解很多的时间或者他们能够完成工作的时候晋升的。现在他们已经是高级了,他们有不同的职责,主要是作为经理。预计他们的编码技能会有所下降。有些人比其他人更好,有些人可能由于认识的人而得到了提升,但是我过去与之合作的大多数高级程序员都拥有扎实的技能(尽管有时过时了)。

因此,总结一下,做一个个人项目以减轻日常的无聊,并减轻年长者的负担,只要在分配的时间里尽力而为,就可以了。


+1表示“作为程序员,您总是必须在追求完美与雇主对工作产品的渴望之间取得平衡”。
陈斌2009年

6

我认为现在是时候成为您的高级开发人员了,我在这个市场上是新手,学习和改进,但是雇主们不是在寻找人,而是在寻找像Jr.这样的具有6年以上开发经验的开发人员,这确实是令人沮丧


2
绝对正确!当我刚从大学毕业时,所有所谓的“初级职位”都像具有至少2年经验的应届毕业生。我很幸运找到了一个好地方,并在那里工作了2年。

5年以上使用一种语言的经验吗?您应该出去学习其他编程语言和操作系统。那将使您走上成为高级开发人员的道路。

6

好问题,杰弗里。您仍然喜欢编程吗?您是否对此充满热情,是否会在业余时间来做?还是您只是对自己曾经从事的一些糟糕的编程工作感到厌倦。

如果您觉得编程不适合您,那么在职业生涯的这一点上,您还可以分支很多其他学科,包括项目管理,销售,售前,分析师。当您是大三/研究生时,这些机会就不会存在,因此您可能没有开始思考削减代码的问题。也许您可以联系您的雇主赞助您参加认证考试,或者如果您想探索一种新技术(Azure / Silverlight / WPF?)

另一方面,如果您觉得自己的工作场所像逼真的Dilbert漫画,那么也许就该继续了。如果您曾在一家大公司工作,那么去采访一些初创公司怎么样,反之亦然。您不必告诉任何人您正在申请的工作,即使收到了一份要约,由于您已经有了一份工作,您也处于良好的谈判地位,您只需确定要约是否比您目前的情况更好,如果没有,那就继续寻找。大公司通常可以为您提供更好的职业发展机会和培训,而小公司则为您提供更多无形资产,例如对公司成功的责任,灵活的工作时间,股票期权以及以后(如果)/在公司时的资历/尊重打大。


6

如果有什么安慰的话,我对工作场所中的老年人的感觉也完全一样。上周,我提交了基于证据的报告,而本周,我与人员进行了一个小时的会面,正式对管理人员提出投诉(考虑到我是大三学生)。是要么长大了球,要么是对我的工作感到不高兴。这不是恶意的投诉,而是建设性的投诉。这是有区别的,它肯定会对您的工作幸福感产生巨大影响。

编辑

我还要说的是,不要只是“放弃”,因为您与人之间存在问题。似乎很多人在这里只是说“辞职”,事实是可以在工作场所有所作为。我知道这听起来有些俗气,但是如果您积极主动地进行更改,那么我想您会做出改变并获得更多的尊重。不要害怕把老板丢到一边去抱怨。我有,已经有很大的不同。由于我所说的(我们是初级开发人员),我们正在采用新技术,更改工作流程并更正式地执行任务。


先生,请保持正义感。

6

好吧,您应该学习另一个领域(数学,AI,数据挖掘,BI,集成等)。然后,在掌握了这个新领域之后,您就有了可以满足实际业务需求的新想法。

在这个阶段,如果您是一名优秀的程序员,则只需进行创业即可。好吧,这很冒险,但是却更有趣。

学习不同的技能和能力,而不仅仅是在编程中,然后将它们结合起来,创造出没人想过的新事物。这很容易,您已经拥有有史以来最好的锤子:编程。


6

我的个人经历与您提到的相同。我最近从事的所有项目大多都是匆忙完成的,而且可能会更好。我大约已有7年的程序开发人员经验,并且曾在同一家中型公司工作。管理层没有任何线索,正在将所有项目作为“非项目”来运行。混乱中的秩序很少。

我最担心的是,我陷入了您正在谈论的陷阱,开始做“糟糕的”编程和愚蠢的决定,只是为了事业上的进步。如果发生这种情况,我希望那里有人可以打我。


5

哇!我喜欢这次谈话的价值。我是拥有5.5年以上经验的Web开发人员,我喜欢它。我不能投票,但我会引用AZ的话。我同意!

我发现相对幸福有两个秘诀:-不要试图拥有自己想要的一切,而是想要自己拥有的一切-生活很艰难-受到打击的程度没有关系(个人好,你个人好)和专业);它总是会反击得更厉害。重要的是您能受到多少打击并且仍然能够继续前进。

我推荐的书是:http : //www.amazon.com/Software-Measurement-Estimation-Quantitative-Engineering/dp/0471676225


5

我的两点:

在该行业工作仅两年后,我就遇到了我。我通过改善自己和学习来克服它。

在大多数情况下,它会来的原因是您一遍又一遍地做同样的事情。如果您一遍又一遍地做同样的事情...好吧...您做错了。

永远进步。总是学习。而且,如果您当前的公司没有给您那种氛围,那就去找一个可以。我做到了,最近两年是我一生中最美好的时光(我的工作也可能比两年前提高了100倍)



5

欢迎来到现实世界...不幸的是,您描述的事情发生在大多数职业中,人们对自己的工作没有足够的热情。只有一种选择(也就是说,如果您喜欢自己的工作):您必须找到一家更好的商店来工作,尽管目前这并不容易。


5

我还观察到另一个问题,在“我的工作环境”中,大多数所谓的“高级”程序员实际上并不是那种高级技能。他们之所以成为“高级”,是因为他们已经有很长时间的程序员了,但是他们编写的代码或做出的决定绝对是垃圾!他们不想学习,他们不想变得更好,他们只是想获得报酬

... 其次是 ...

我已经陷入一种精神状态,我不再打算成为未来职业的程序员。我开始认为也许还有更好的事情要做。

然后是时候开始寻找并采取行动了。因为如果您仍然保持这种态度的程序员,那么您最终将像您如此鄙视的那些“高级”人员一样。“有效”一词是“被困”的:您将赚到足够的钱,以至于无法证明自己转向其他行业,而您的技能将是如此狭窄,以至于您无法在这个行业内工作。


3

也许考虑去读研究生?这可能会为另一种更长期的工作打开机会。


编程不是值得长期从事的职业吗?

研究生院开辟了研究和另一层工作。请注意,当今最热门的公司(谷歌,微软)喜欢雇用有学位的人。建立连接。:-)
保罗·内森

抱歉,我的意思是另一种编程工作,对各种事物进行编程。
Max Strini 09年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.