it-swarm.cn

初级开发人员的困境-是否有可能不被编程砍掉?

(让我开始提问-请保持谦虚,我知道这是主观的,但这是为了引起讨论并为其他人提供信息。如果需要,可以将其转换为社区Wiki。)

最近,我被一家我真正喜欢的公司聘为初级开发人员。我从从事质量检查的领域开始,然后过渡到越来越多的开发工作,这是我最终想要做的。我喜欢它,但是越来越多的人质疑我是否真的擅长。我知道,其中的一部分仍将发展为初级开发人员角色,但是多少呢?初级开发人员会期望什么,他们应该做什么而不应该做什么?我该怎么做才能改善并向我的公司表明我对此机会的重视?我讨厌自己因为加快速度而浪费时间。有人告诉我,公司在初级开发人员中进行投资,并不期望他们能在一段时间内获得回报,但是其中有多少是正确的?有一点很明显,就是投资是否会得到回报。

到目前为止,我一直在尝试问尽可能多的问题,但是我已经有一段时间困扰您一个简单的问题了,而其他人都知道,有时候获得帮助非常尴尬奋斗了这么久。我还尝试过尽可能多地提出建议,并与其他人一起尝试重构我的代码,但是有时这可能会与团队成员的个人见解发生冲突(有人告诉他以一种方式编写它,并且然后让别人改写它)。

我经常感到压力过大,对自己的判断过分苛刻,但是我只是不想在余生中奋斗,如果我没有才华,试图使事情顺利进行。根据您的经验,编程是几乎每个人都可以学到的东西,还是有些人根本没有学到的东西?别人是否有这种感觉,或者刚开始时您有这种感觉吗?如果我不适合拥有良好编码所必需的技能,我会感到自己没有其他工作技能。

59
user575158

有人有编程的诀窍吗?绝对。

如果您不懂此诀窍,您还能成为一名出色的程序员吗?是的,但是需要更多练习。

无论哪种方式, 真正擅长编程都需要时间 。有点像弹奏乐器。有些人天生有天赋吗?是的但是,许多伟人的练习时间更长,更努力。编程是相同的方式-它需要练习。

在您剩余的编程生涯中,该领域将发生变化。无论您曾经是专家,您在生活中的很多时候都会成为新手。今天,许多使用C#的“初级”程序员曾经是Foxpro或其他语言的专家。今天的C#专家有一天将成为使用另一种语言的初级程序员。我们都会犯错误并做别人会指出的愚蠢的事情。随着时间的流逝,您将逐渐了解好的代码和坏的代码。您将能够与代码评审中的人员进行有趣的争论,并备份为什么您的代码比他们的建议和其他建议更好的原因,但是这需要时间,确定性和持久性。人才会有所帮助,但有时人才会伪装成随着时间的推移而努力。

作为初级程序员,不要气our。犯那些错误。向他们学习。弄脏。玩得开心。我们都去过那里,我们都仍然在代码中要寻求帮助的地方。这就是为什么StackOverflow和其他在线站点如此受欢迎的原因。很多时候,我们的程序员都有很大的自负。我们宁愿在线问没有人可以嘲笑我们(并知道我们是谁),而不是问我们的同事,所以不要为不了解而感到难过。毕竟,程序员是问题解决者,而不是万事通,这就是我们拥有Google技能的原因!

alt text

如果您没有单击答案中的唯一链接,则强烈建议您阅读 彼得·诺维格十年自学编程

45
Ryan Hayes

简短的回答:是的,有人可能没有获得软件。

但是,我冒昧地说你在那种情况下。在我看来,您的环境不是很养育。理想情况下,高级开发人员应该将您带到他们的翅膀下,并向您展示绳索。听起来您就像是被深深吸引,没有生命支持。从大学到行业,从测试人员到开发人员,通常会有很大的学习曲线,并且这可能会令人感到恐惧,这主要是因为您意识到自己真正了解的很少...至少那是我的经验。

提出问题是最好的证明自己是认真的。我意识到有时候您可能会觉得这个问题很愚蠢或微不足道,但我们都曾来过。另外,与老板沟通!表达您想知道如何变得更好并制定计划。任何优秀的老板都会乐于帮助您设定职业发展的具体目标。

另外,当同事们帮助您重构代码或解决问题时,请确保您了解他们为什么要告诉您某些事情。不要只是以一种方式进行编码,因为他们是这样说的。如果两个同事有不同意见,请他们告诉您为什么他们有不同的看法。

我坚信一套明确的目标和一些方向会为您当前的状况带来奇迹。

19
Pemdas

您知道说“谁发现水,肯定不是鱼”吗?您几乎无法分辨出这三种情况之间的区别:

  • 步入正轨,提出问题,变得更好,一切都会很棒
  • 与混蛋一起工作,有才能在更好的环境中成长,这注定了
  • 只是不是程序员,也不会得到它

我已经雇用了后者。我们花了六个月的时间得出结论,即使他很好,我们也喜欢他,他很聪明,而且他在地狱般努力,但这不会发生。

如果在对话中您可以信任某个人,请问他们一个问题:“我知道我犯了错误,有些事情我不知道,但是我犯了同样的错误吗?是否有我始终不知道的事情? ?”。诚实的回答将告诉您您需要了解的内容。我有一些大三学生,他们从未两次犯同样的错误。他们做得很好。我最终开除的好人呢?他收集了3个或4个重复出现的错误,并不断重复出现。无论他被告知多少次以及我们有多少个验尸,他都没有看到这种模式。

想要做好是一个好兆头。目前,尽力而为,学习在哪里,并信任周围的人来评估你。请记住,如果他们认为您不适合这样做,那么他们可能是错误的。您可以在不同的环境中壮成长。 (我解雇的那个人现在是销售和支持人员,从我听到的消息来看,这是一位超级巨星。)哎呀,你明天可能会开始蓬勃发展。当它单击时,您会更加快乐。

8
Kate Gregory

您刚刚被介绍的代码库有多少复杂?这可能起很大的作用(尤其是在缺少文档的情况下)

我经常感到,大三和大三之间正在进行一场无声的战争。归结为琐碎的事情,例如人们试图将自己放在基座上并压倒您,以展示自己的价值。

在您成为初级开发人员之前,请考虑一下缺少任何文档是他们在您身上打的一个恶作剧。

这些人不是老师。它们与其他任何西装一样具有地域性,一秒钟都不会质疑它。显然,没有人将您带入他们的阵营,您仍有工作要做。您可能想去找年长的老板,并表达一些您的一般担忧。如果您这样做,然后在几个月后被解雇,将会有很多问题。如果您保持安静,似乎就不在乎了(您显然会这样做)

最好的选择是善意地杀死它们,并使源代码贡献尽可能地干净,这样没人可以说。您听到的批评越少,您自己就越接近成为高级开发人员。

3
user13203

挂在那里!对我来说,你在问自己一个事实,这是一个非常好的信号。我现在是一名高级经理,初中最好的迹象是他们正在接受他们需要保持开放并知道他们需要学习更多的知识。

我记得当我刚开始担任初级程序员时,一切似乎变得如此庞大而庞大,并且团队中的其他人似乎也了解很多,这对他们自然而然。对知识的感知只是经验。时间和开放的心态将为您提供帮助。

我经常以这种比喻来帮助大三学生,通常感觉就像您要上一座大山。您会看到高处有雪峰,没有可见的到达山顶的路径。大多数人认为,对,我需要为自己装备所有需要的攀岩装备,因此在出发之前就开始强调该装备。我告诉他们只是看他们能看到的前100米,然后告诉我他们需要什么并走路。然后,您会注意到该零件的路径已被很好地踩平,并具有大量可用的地图。

失去了装备自己成为“专业”人士的所有必要,而jus开始走路。

3
jpg

您应该问自己的第一个问题不是“我有能力当一名程序员吗?”,而是“我真的想成为程序员吗?”。如果您不想成为一名程序员(例如,您的父母因为声望而希望您这样做,或者您认为自己会赚很多钱),那么您就会找到答案。如果您do想成为一名程序员,请继续阅读,因为我会告诉您剩下要做的事情。

我一直在读丹尼尔·平克(Daniel Pink)的 《约翰尼·邦科历险记》 (这是一本职业书,因为您可能无法分辨书名)。其中有6节课。其中三个似乎特别相关:

  1. 考虑优点,而不是缺点。
  2. 毅力胜过人才。
  3. 犯错误。

第一课是开始的地方。如果您专注于做错了的事情,那么您将一事无成。无论您做什么,都将始终拥有相同的优点和缺点。克服自己的弱点没有任何意义。因此,您的主要重点不是建立在弱点上,而是建立在自己的长处上。坐下来弄清楚它们是什么。我的意思不是领域(“程序员”或“会计”)。比这更深入。您是否擅长定义逻辑流程?想出新主意吗?执行别人的想法?当您知道自己的长处是什么时,请弄清楚如何将其应用于编程(同样,假设那是您want要做的事情)。

下一个是毅力胜过人才。任何对自己的工作充满热情的人都会说到你现在的观点。会有总是某个人会出于某种原因成为反对者,无论他们是受到您的威胁还是觉得您的才华不足。无论您多么有才华,挑战总是总会出现。如果您坚持不懈,那么您可能会对那些不是坚持不懈但有才能的人有所帮助。

最后(我认为这是老年人会忘记的错误),犯下极好的错误。尝试不起作用的新事物是一个极好的错误,因为您可以从中学到东西。不会因为入侵雇主的服务器而使自己失业而入狱。老年人经常会试图阻止您犯错误。尽管他们的想法很好,但他们就像过分保护父母,从不让孩子外出。要真正学习东西,您需要自己犯一些愚蠢的错误。您可能会发现,很多时候,老年人的建议并不适用,不是因为这是不好的建议,而是因为是针对他们而不是您的需求而量身定制的建议。

1
Jason Baker

根据您的经验,编程是几乎每个人都可以学到的东西,还是有些人根本没有学到的东西?

我认为并非每个人都可以成为程序员。但是可以肯定的是,编程是一个需要大量耐心和专注的领域,如果有的话,那么您肯定会加入其中。

当我几年前开始我的职业生涯时,我也遇到了一些情况,我认为我可以在这个领域中生存,但是随着时间的推移,我努力学习,我成为我团队不可或缺的一部分,因此,只要努力学习并集中精力改进通过阅读书籍,学习博客文章,在Twitter上关注您的技术大师来提高您的技能

1
Fraz Sundal

这是一个旧话题,但是我想加2美分,以防有人在Google搜索中偶然发现这一点。

我与之合作的开发人员非常乐于助人,乐于助人。我们在不同的地方都有优势,因此我们都非常乐于互相帮助。如果您可以学习团队中其他人不知道但可能对他们有用的东西,那么这可能会使他们放松下来,并使他们更愿意付出和接受。如果您处于入门级职位,我会把它弄糟,不要让它分阶段。当您离开这个职位时,下一个职位将是干净的。因此,我会四处闲逛并尽可能多地学习,并尽可能多地获得经验,以便在您的下一场演出中,您将更有经验并有更好的立足点。

我真的不相信要向您的管理层向您的同事投诉。管理层将把您看作一个无聊的家伙,无法与他人相处。您的主管不是保姆,因此,如果您的环境存在很大的文化问题,您就不想参与其中。您不能指望管理层提供一个神奇的项目符号答案来迫使您的同事尊重您。我曾在一些职位中感到自己并没有真正融入团队。我收拾行囊继续前进。无论他们的文化限制是什么,都不允许我像我一样受到对待……这就是他们的问题。我是谁,请尝试更改它们以适合我?您的情况听起来像是正常情况的例外,所以我不认为在任何地方都会有这种情况。

我的经验是,大多数程序员都非常自命不凡。即使您绝对知道自己在做什么,如果不按照自己的方式去做,他们也会全神贯注于您,就像您是一个愚蠢的白痴,不知道自己在做什么。您在留言板上看到的大多数答案都表明了这一点。对于您在留言板上看到的关于开发问题的每个有用答案,您都会看到十个卑鄙的人的卑鄙答案,这些人想取笑并说出力所能及的事情,以提高自己的挣扎自我。实际上,我深信,留言板上对问题的每个答复中的3/4要么批评问题的形成,就抱怨问题没有被正确地张贴,就抱怨问题已经被提出了。很久以前,因此永远不要再问它,或者它是到另一个留言板的链接,在该留言板上可以用诸如“学习如何使用Google,STUPID!”之类的注释来回答问题。除非绝对必要,否则我不会在论坛上提问。论坛是寻找答案的好地方,但是这是一个提出问题的可怕地方(如果这有意义)。论坛具有这些荒谬的规则和准则,如果您提出问题,他们希望您遵循这些规则和准则……基本上,他们希望您是一直在该留言板上拖曳该消息板并习惯其格式和内容限制的用户。我有完全正常的问题,甚至是从Stack Exchange那里直接删除的...全部是因为它“格式不正确”。

错误的编程是2件事情中的1件的结果:要么您不了解概念,要么您不了解语法。我不相信任何人都不能同时学习这两个原则。编程不是天生的天赋。这是博学的做法。我什至不确定它真的需要那么多情报。您只需要耐心并致力于学习。如果人们理解为什么某种编程习惯是一个问题,我认为他们将采取必要的步骤来纠正自己。他们不需要肮脏的混蛋责骂他们的怪异审查委员会。

我通过独自阅读和学习而不是向他人寻求帮助来学习最多。 W3Schools是学习新事物的好地方。即使您主要是在VB中进行开发,也可以通过JavaScript或PHP或Entity或MVC)来完成一些教程,这些确实可以帮助您基本了解面向对象的编程概念。在大多数情况下,您的前几对开发工作,他们只会把您扔进一些代码中,然后您会对其进行一些破解,直到您将其投入使用为止。这可能已经足够了,但是如果您不知道所执行工作背后的概念,那么可以真的希望自己以“正确”的方式来做。

IMO,您在开发之前就无法真正学会如何成为一流的开发人员。就像其他任何东西一样,实践是完美的……大多数经验丰富的开发人员似乎都忘记了这一点。

1
Shonenknife

“如果您专注于做错了的事情,那么您将一事无成。”

厌倦了这个建议。根据我的经验,我发现完全相反。错误的代码和不良的设计通常可以归因于程序员,只是避免使用他们不喜欢的方法。

他们没有花费时间来全面提高自己的技能,而是创建了一系列工具,而是拿出自己的锤子,试图将所有东西变成钉子。不要陷入这个陷阱。

找到您不擅长的事情,并精确地练习这些事情。

1
JRB

好吧,如果您是刚接触几个月的开发经验的新手,对他们的期望并不高(真的,很认真,他们会看到您中的一些才华,这就是为什么您在那里,而不是您的错,所以不要担心)。

您应该意识到,赋予您的任务就是使您前进的事物。 他们希望您从中学到。在进行任何任务之前,先进行一段时间的研究,然后再去上级寻求指导。确保您在朝着正确的方向前进,并且在使用正确的方法。也许有人对正确的方法大喊大叫,而您开始担心呢?它发生在我们所有人身上,它是学习曲线的所有部分。

因此,放松和放松,尝试不承担任何责任,而是努力工作

0
maz3tt

我已经感觉过很多次了,将来可能还会有更多次。当然,我有焦虑和沮丧的情绪,这可能会使事情变得更难一些,但是由于有一定的毅力,智慧和好奇心,因此很高兴看到自己最终会完成什么。 《游击面试指南》 对于要考虑的事情来说并不是一个坏主意。

另一个问题是,您对找到的斗争和解决方案有多满意?如果您不喜欢解决问题,那么我可能建议您退出编程。同时,我知道在我工作的头几个月里,有很多次我觉得自己是个白痴,处于“烈火洗礼”的境地,但我认为这很正常。我在挣扎中幸免于难,并感到自己身处世界之巅,这是一种令人敬畏的感觉,我经常尝试以适度的成功重新夺回。

0
JB King