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

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

我只是想听听别人对我所说的话有何评论以上以及您在过去的编程生涯中是否经历过类似的情况以及如何处理。谢谢。

评论

4--5,对不起,我认为它读了45年,可能会引发一些有趣的讨论。您的孩子们:-)(32岁了,仍然没遇到危机)

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

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

社区Wiki再次投票

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

#1 楼

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

我已经从事专业编程已有几年了,而我观察到的是,那里有很多优秀的程序员,热爱他们的工作并且能够做到的优秀开发人员。质量和热情几乎接近于零。我可能只遇到一个可以教我一些知识的人。我所知道的大部分知识都是我自己一个人学习的,阅读书籍和论坛,在论坛中提问,以及谷歌搜索启示思想。 />在工作环境中学习的选择常常受到限制。你不开始做。你没有完成他们。您不设计,不改进,不重构,不考虑体系结构,您只是一起编写代码和修改内容。大多数商店就是这样运作的。您不仅不会学任何东西,而且更有可能会学到错误的东西,即如何不开发软件。我一直在我周围不断看到可怕的事物,所有这些反模式您都听说过。更糟糕的是,我被迫自己做。

我不知道它是怎么发生的,但我设法以某种方式建立了输入障碍。我会保持开放,倾听,如果我发现自我完善的潜力,我会研究并可能采用一些技巧或想法。但没有BS能够通过。我已经在糟糕的项目中工作了很长时间,但是我自己还没有采用任何这些不好的技术。有自己的个人项目。在这里,您可以运用自己的全部爱,热情和知识,以高品质的水平做正确的事情。您将学到很多东西,这是无聊的事情,当您砍掉无聊的公司员工时,您将永远不会面对这些挑战。我只做薪水工作,对自己的个人项目感到满意。

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

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

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

评论


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

–杰夫
09年11月6日在7:55

我有点想念80年代和90年代,如今,日子过得太容易了,便宜得多,但缺少的是生活的质量和享受。

–杰夫
09年11月6日在8:33

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

– joshperry
09年11月6日在17:24

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

– mmrobins
09年12月4日在6:33

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

– Arlen Beiler
2010-10-12 19:52

#2 楼

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

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

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

评论


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

–P切碎
09年11月6日在7:46

可能是encodinghorror.com/blog/archives/000979.html吗?


09年11月6日在7:47

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

–杰夫
09年11月6日在7:50

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

–史蒂夫·吉勒姆(Steve Gilham)
09年11月6日在8:00

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

–塔里克
09年11月6日在19:32

#3 楼

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

只想分享我自己的观点:我是一个自我驱动的人,自学成才。
我独自学习了纯C,C#,Amiga C开发,Windows,COM,Delphi,PHP,Cinema4D,现在又学习了Blender和Python。我几乎总是一个人工作。
这是我到目前为止遇到的最大问题:小公司试图生存,而你是保持生存的人之一:压力很大,但也很有意义:你工作更多,您学习更快,并且很多东西很快,您可以更快地制作产品(尽管您经常无法正常工作)。无论如何:压力太大。相反,大公司将永远生存下去,但问题在于人:太多的人。这是一个丛林,但更糟的是:尚不清楚:如果您与之共事的人觉得自己比自己更好,他们会尽力不帮助您上去,而只是射击您,因为他们害怕自己的事业。这就是它在法国的运作方式(其他国家不知道)。

简而言之:尝试找到一家感觉像是自己的地方的中型公司。
无论您编程了多长时间,无论您工作了多长时间,上车去上班的那一天,您都会认为“我很高兴去上班”找到位置的那一天。

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

NB:“我很高兴去上班”和“我很高兴去上班,因为我会做到这一点”和/或/“我很高兴去上班之间有很大的区别。工作,因为我将学习这一点和那一点。”如果您认为“因为我会做到这一点”意味着“这一而已”将有一天结束,此后您可能会不高兴。这是我12年的编程经验。而且我是大四学生,薪水很高,但我的确知道20到25岁。人们思考的速度比我快。他们只是没有我的经验,所以我只是承认我可以帮助他们做事,他们做得更快,但是我帮助他们正确地做它们(当您开始开发时几乎从来没有这种情况)。 />
很抱歉我的英语不完美,请毫不犹豫地纠正我的帖子,使其正确的英语。

评论


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

–杰夫
09年11月6日在8:31

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

– Marc Wittke
09年11月6日9:37

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

–灰
09年11月14日在12:01

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

–奥利维尔·庞斯(Olivier Pons)
2010年1月17日,11:12

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

–回购人
2010年5月14日13:09

#4 楼

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

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

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

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

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

这会造成人员流失,直到最后有人说:“我们不能保持这种状态事情再发生了!让我们废弃它,然后重新开始!”遗留代码库中的投资消失了,整个过程又重新开始。 “但是这次会有所不同,”您向自己保证。有一段时间了。然后有人雇用了您的摇滚明星,然后您被无定向的初级人员遗忘了,重新浪费了您闪亮的新代码库。

。乱pent悔。

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

评论


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

–杰夫
2010-3-22在0:49

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

–杰夫
2010-3-22在0:50

#5 楼

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

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

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

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

但是现在我10岁了,我发现那些挫折感就像我头五年遇到的挫折感。这是学习新技能带来的挫败感。但是这次技能是人际交往的。非程序员的技能使他们了解沿着牛仔之路的局限性。而且这些技能在总体规划中可能比我在前五年获得的编码技能更为重要。

但是,这份工作真正令人惊讶的是我可以继续,而且实际上必须继续,通过技术技能发展,同时还与管理层合作。

所以我对你说继续吧!因为您已经熟悉了该技术,所以您可以着手处理与人类一样糊状的事物的技能。

评论


+1你说得对!沟通能力是成为优秀软件开发人员的下一步。

– Dimitri C.
2010年1月8日13:40

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

–lb
2010年8月12日23:32

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

– Mugen
10-10-14在5:07

#6 楼

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


不要试图拥有自己想要的一切,而是想要自己拥有的一切
生活很艰难-它没有无论您能受到多大的打击(个人和职业上都不错);它总是会反击得更厉害。重要的是您能被击中并仍然能够继续前进。

毕竟,这都是在公园散步,还有比点点滴滴,实践和东西还重要的事情。尽情享受所有体验,然后尽力反击。

评论


真是太好了!

–杰夫
09年11月6日在11:12

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

– Nicolas Dorier
09年11月6日13:14

#7 楼

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


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


#8 楼

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

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

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

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

评论


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

–杰夫
09年11月7日在1:06

#9 楼

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

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

我认为找到一家大公司不一定会改善问题;实际上,在很多情况下,大公司会更糟,问题只会更加根深蒂固,制度化。

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

评论


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

– Nikos Steiakakis
09年11月6日在8:04

#10 楼

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

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

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

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

评论


说出来,哟...

– Paul Nathan
09年11月7日17:32

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

–杰夫
09年11月19日在12:09

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

–埃里克·冯肯布施(Erik Funkenbusch)
09年11月19日在18:18

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

–temp2290
09年11月20日在18:56

#11 楼

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

评论


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

–杰夫
09年11月6日在7:39

20年了,我的编程工作仍然每天充满激情!我会说尝试一些不同的方法,例如在恋爱中编程,尝试新事物确实可以恢复日益萎缩的火焰。

– joshperry
09年11月6日17:32

哈哈,很真实!

– fastcodejava
2010-09-14 12:35

#12 楼

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

IMO需要4-5年的时间来找出几件事:


您想要什么-您目前所喜欢的做法是什么?
什么对您有用-这一点有点不同,因为不一定总是有用您想要什么。
您有哪些突破点-您能在一家不允许拥有IDE的公司工作吗?极端的例子,但我希望能在某种程度上说明这一点。

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

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

我记得在学校的时候,我还是个孩子,在4-5岁以后,我通常在八年级(初中到6年级)学习,然后是2年(7和8年级)。 ,4年(9-13年级的高中,其中我一年完成11/12)和4年(大学学士学位)。

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

有些地方可能表现得很棒,而其他地方则可能导致倦怠这是“开发人员精疲力竭的原因是什么”和“开发人员精疲力竭的故事”这两个问题,而其他问题则是“您的动机是什么”,“编程(消减动机)和进一步的计划”。 ..“

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

#13 楼

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

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

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

#14 楼

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

作为结尾,请不要后悔过去四年的表现。这是一次奇妙的经历,只有很少的一生经历过它:)

评论


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

–杰夫
09年11月6日在7:44

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

–史蒂夫·吉勒姆(Steve Gilham)
09年11月6日在7:59

#15 楼

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

如果有什么安慰,我有10年的中期经验,编程生活危机,尽管我确实开始在Apple] [+上进行编程,所以可能要24年了。我不知道。我只是希望人们不要期待程序员的魔力。

#16 楼

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

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

评论


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

–杰夫
09年11月6日在11:14

他不会错;)

–霍布斯
09年11月6日14:32

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

–陈斌
2009年11月7日,下午3:06

@Jeffrey,不,这是普遍的人类特征,我们对自己的处境/环境的控制越少,我们的感受就越差,例如沮丧。

– AndersK
09年11月8日在1:20

#17 楼

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

因此,如果您发现自己处境艰难如果您必须在不良项目上与不良同行一起工作,请尝试分配到新项目(如果在公司中可能这样做)或找到新工作。不要等太久,因为不良习惯会传染。

#18 楼

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

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

评论


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

– Nikos Steiakakis
09年11月6日上午11:31

#19 楼

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

我最好的建议是处理个人日常工作,着手开展个人项目另一方面,没有期限,可以在平时不工作的地方工作,可以做出所有决定的地方。我编写的最有价值的代码是在担任Wii开发人员时,我建议您编写一个游戏。您将能够接触到编程,3D,网络,AI等的各个方面,并且由于您已经在使用.Net,所以我建议您使用XNA或Unity

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

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

评论


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

–陈斌
09年11月7日,3:10

#20 楼

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

评论


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

–杰夫
09年11月6日在7:52

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

–rsp
09年11月6日上午10:07

#21 楼

好问题,杰弗里。您仍然喜欢编程吗?您是否对此充满热情,是否会在业余时间来做?还是只是对有些可怕的编程工作感到厌烦。

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

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

#22 楼

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

编辑

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

评论


先生,请保持正义感。

– codebliss
09年11月7日在7:33

#23 楼

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

在这个阶段,如果您是一个优秀的程序员,则只需要创业即可。好吧,这是有风险的,但是会带来更多乐趣。

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

#24 楼

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

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

#25 楼

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


我发现
相对幸福:-不想
拥有想要的一切,而是想要
想要拥有的一切-生活很艰难
-努力有多紧要
命中(您个人和职业上都很好);总是会更猛烈地击中
。重要的是,您
受到打击并且仍然能够继续前进。


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

#26 楼

我的两点是:

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

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

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

#27 楼

程序员很多,但只有一小部分是有素质的软件工程师。我想这在任何专业都是真的。

#28 楼

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

#29 楼


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


...然后是...


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


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

#30 楼

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

评论


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

–向后退
09年11月7日在6:05

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

– Paul Nathan
09年11月7日17:34

抱歉,我的意思是另一种编程工作,对各种事物进行编程。

– Max Strini
09年10月10日在21:39