我该如何挽救我的实习机会?[关闭]


65

我目前在一家大型非软件开发公司担任实习生。我申请的职位不是专门的开发职位,但雇用我的团队希望拥有CS专业,以帮助他们尝试开发一些内部项目。我来这里已经四个星期了,最初的困惑开始消退。但是,我是整个办公室中唯一的CS专业人士-我的团队,大楼甚至附近的地方都没有软件开发的背景。我最好的是数据库经理,他们的部门太忙了,无法为我的项目提供支持。我的队友们帮助我了解他们如何做他们的工作(我做我的工作,这是很重要的),但没有人帮我做我的工作,即发展。

他们给我的项目范围比我在学校所做的任何事情都要大。加上我独自一人工作,试图在没有任何形式的指导甚至没有明确定义的目标的情况下从头开始开发应用程序的事实,我非常担心自己的成功能力。我几乎不知道应该从哪里开始,现在我可能还不到两个月。

我觉得我应该学习软件开发过程,但是现在好像我在黑暗中摸索。对于我来说,这尤其令人不安,因为我一开始对自己的开发技能不是很自信。我一直在研究和自学,但是我只是一点一点。他们对我寄予厚望,但我不确定自己的能力。显然,我需要坐下来与我的经理讨论我所处的职位,我打算尽快做到这一点(他们经常出差并离开办公室)。

我该如何处理?这次实习将在我知道之前结束,并且我不想在这里呆着任何时间。他们也不希望这样,他们随时可以为我提供帮助,但是如果没有编程知识,他们将无能为力。恐怕告诉他们我没有能力生产他们想要的东西。我应该如何与他们联系?我看到工程实习生从其他工程师那里得到帮助,学习如何做他们的工作,我觉得我只是坐在这里花时间。任何有关如何纠正我的处境的建议将不胜感激。

更新资料

我感谢大家提供的所有有益反馈,这使我放心。我要做的第一件事是与经理和主管会面。我们在这里讨论了我的期望。他们知道我没有太多的实习时间,这有助于我们确定要完成的框架的类型,这将使​​未来的实习生或员工有希望从我留下的东西中受益。我还用分配的时间解决了我对自己能力的担忧,他们理解并期待着。

我收到了另一个地方的数据库管理员打来的电话-我的经理与他的主管进行了交谈,他们将支持我的项目,这将为我提供使用的资源,因此我不会不知所措。我在做。虽然只有一半。在所有可能的项目中,我们将其范围缩小到两个最重要的项目。至于我的其他项目,正如有人提到的那样,我本质上是首席软件架构师,这对于实习生来说是一种独特的情况。如果事情至少成功了一半,我想我将获得很多知识和经验,可以帮助我与未来的雇主合作。就目前而言,我认为我有一定​​的基础来开始研究和开发我的项目。再次感谢大家的答复!


80
大多数地方都期望实习生是不知道自己在做什么的人,但是他们愿意学习并获得尽可能多的经验。没有导师的实习听起来像他们真的只是想要一个便宜或免费的开发人员,所以他们不应该期望您生产成品。尽可能多地了解整个体验,然后在实习结束后继续前进。理想的地方是可以与实际软件开发人员进行实习的地方:)
Rachel

9
这似乎不是特定于软件工程的,所以它可能更适合Workplace.SE
Bart van Ingen Schenau 2013年

53
“在没有任何形式的指导甚至没有明确定义的目标的情况下,从头开始开发应用程序”-实际软件开发的完美培训!
艾伦B

7
欢迎来到教育中的“书本上没有学到的东西”一面。这只是完成学业后可能会遇到的许多环境之一。我发现自己完全处于您的位置,只是我确实完成了学位并且在MIS中。
乍得哈里森

3
@BartvanIngenSchenau这个问题有一个软件开发角度,OP是公司中唯一的开发人员。这带来了一些独特的挑战,我认为其中一些可能会从软件开发解决方案中受益。也许这个问题更适合工作场所,但是如果不是这里的话题不是100%,我认为我们不应该迁移它。如果社区认为问题不在这里(通过将其关闭),我将很乐意迁移它。
yannis 2013年

Answers:


124

我对你有个坏消息,巴姆林:

你不是实习生。相反,您是无薪/廉价的员工。

实习是一种无薪或低薪的职位,您可以在安全(通常)轻松的环境中练习新获得的技能,并有机会观察您所在领域的“真正”专业人员从事“真正”工作,同时获得反馈在允许您修改的作品上(通常在监督和/或批准下)。

贵公司想要的实际上不是实习生,而是免费/廉价的软件开发资源。我认为这很普遍。我住在大学城,在我的最后一个工作地点,经常听到经理说:“嘿,IT部门太忙了,无法执行Project X,让我们看看是否可以从大学请来一些实习生来为免费/便宜!” 我们会抱怨,吟,咬牙切齿,但这就是这个地方的现实,我可以理解为什么管理者会建议这样的事情。令人遗憾的是,结果并不理想:实习生提供的软件从未具有凝聚力/可扩展性/清洁性等优点(但老实说,IT部门也没有推出任何东西……)

取决于您的工作。我的建议是尽可能地发展(有时压力是一个很大的动力),但是如果可能的话,您还应该计划在其他地方进行“真正的”实习。

因此,不要怪自己,但是您所从事的并不是真正的实习。


18
@Ampt对我来说,大多数带薪实习基本上是在说:“我们会付钱给您与我们一起学习,如果一切顺利,我们会在此结束时雇用您”。这使双方有更长的时间互相评估,如果一切顺利,他们还将聘请受过系统教育且知道自己适合公司的员工。如果他们在此过程中廉价地购买了一些新软件,那将是额外的收获,而不是期望值。
Rachel 2013年

7
实习通常是无薪的吗?这对我来说是个新闻……
M. Dudley

3
@Ampt很好。我已将答案编辑为现在说“未付款/便宜”。总的来说,我认为答案仍然存在。这个地方并不是真的想要实习生,他们只是不想为IT服务付出全价。
Graham

7
@bhamlin大多数没有软件背景的人实际上不知道软件项目需要花费多少时间或精力来开发。一点都不知道。不幸的是,情况如此。
enderland

10
如果实习生没有得到薪水(或低于某个工资,如果有记性的话,可能是最低工资),它必须向实习生证明可观的利益,否则企业实际上违反了劳动法。这是一个非常重要的区别,如果这个人没有得到报酬,他可以起诉公司的愚蠢行为。(或者说美国法律,不能与其他国家说话)
吉米·霍法2013年

28

作为CS专业的学生,​​您拥有解决问题的能力。尚不清楚他们要开发哪种类型的项目。如果我不得不猜测,他们可能希望您帮助自动化一些内部流程。首先,我将尝试大致了解当前正在使用的流程以及每个流程的部门之间的依赖关系。

接下来,我将寻找一些可以自动化或至少精简的低挂水果。

记录任何过程的万无一失的方法

按以下顺序询问这些问题:

  1. 输出是什么?(获得尽可能具体的答案)
  2. 有什么投入?
  3. 有足够的输入来创建输出吗?

如果对数字3的回答为“ 否”,则去获取缺失的部分。这可以是公式,业务规则或其他任何东西。

如果第一步的输出太复杂,则将其分解为可管理的块并将每个块作为单独的进程进行攻击。

记录发现的内容。确定潜在的单点故障。找出弱点或稀缺的依存关系。

我知道这听起来很压倒,但您具备一定的技能。只是把它变成一口大小的块。如果您可以学习使用“非极客说话”来解释“极客玩意”,那么您将很有价值。


1
我的团队成员一直在向我展示流程,因此我对输入和输出以及他们想要的内容有所了解。我对如何解决问题有一个想法,就是将它分解成碎片,将它们放在一起会给我带来问题(尤其是使用我不太熟练的技术,例如数据库)。幸运的是,我可以很好地将“怪胎”解释为“非怪胎”。我想在这一点上,我应该开始将编码问题带入堆栈溢出,以查看我的解决方案是否可行。感谢您的输入。
bhamlin 2013年

就数据库方面而言,我建议迈克尔·埃尔南德斯(Michael Hernandez)撰写一本书,名为《数据库设计》。这本书很出色。
Michael Riley-AKA麻尼

1
+1为“记录任何过程的万无一失的方式”。我希望当我第一次被聘用做系统分析工作时,能在我的工作表中突出显示该内容。
dodgethesteamroller 2013年

1
@bhamlin:我建议您尽最大努力降低对即将交付的产品的期望。另外,将其分解为极小的问题,您认为您可以在一天内完成(这样就可以完成一个星期;),并且最好按原样有用的东西(不仅仅是模块)在没有这些问题的情况下无法工作核心。这样,如果失败,您的工作仍然会有用。此外,海事组织,这种经验可能会非常有用和令人振奋(尽管不是在经济上),但最终将使人记忆犹新。
K.Steff

18

这是我对整个情况的看法:他们要求的是您无法合理完成的工作,没有提供任何反馈或指导,并且通常会使您的工作不那么愉快。但是这云有一线希望,您正在学习一些东西。

特别是,你正在学习的那种环境,你不要想,当你得到你的学位工作英寸 您还将学习如何处理太大的项目而无法切实完成。这两项都是重要的知识,因为没有人会给您一份他们认为能力不足的工作。他们总是要求的远远超出您所能提供的,与他们一起管理期望并交付他们想要的东西是您的工作。

继续说明您现在和现在可以做什么。我将从记录您每天所做的一切开始。这使您承担责任。即使只是简单的一天结束,“这就是我今天所从事的工作”,也会在您没有得到他们想要的东西并来寻找答案的时候给您一些依赖。

我还要与您的直接上级交谈,看看是否有任何方法可以分解这些较大的项目之一。如果您对整件事不满意,也许他们只是请您进行研究和项目的体系结构,然后让另一个实习生来实现它。只需清楚您认为在离开实习岗位后可以合理完成的目标,并实现目标即可。这样一来,您仍然可以在一天结束时交付与您的雇主相关的东西。

最后,看看您是否可以加入工程实习生。我将假设这些实习生也在开发软件,而且我认为没有理由将您正在做的事情与他们正在做的事情相距甚远,以至于您无法互相学习。我在项目中与电气工程师,软件工程师,计算机工程师和计算机科学家合作,每个人都为团队带来自己的优势。确定您的优势在于开发,并尝试说明为什么这些能力很适合工程团队。


6
我的父母告诉我,如果我在夏天结束时收到一份录取通知书,那么我应该接受这份录取通知书。他们不想听我的话,认为我得到的任何工作都是一件幸事,但我觉得我有权拒绝,特别是如果这对我来说不是一个好的工作环境。我喜欢保留日记的想法,我每天都随身携带一个笔记本,所以我将开始记录我在做什么,这样看来我什么也没做。我感谢您的帮助。
bhamlin

1
没问题,巴林。当我开始实习时,我觉得自己处于同一位置。我的经理对工程团队采取非常放任的方法,让我们按自己的意愿安排我们的一天(我们也遵循支持这一点的敏捷开发模型),并且来自我几乎每天都对项目有要求的班级,这是非常不同的。我发现保留日志不仅可以使我负责,还可以提供至少在做某事的文档。这也有助于我每天和每周保持动力。
Ampt入渗

7
@MLowry我认为这是个坏建议。呆在您讨厌的工作场所会使您身体,尤其是心理上感到沮丧。您会陷入沮丧,每时每刻都感到讨厌,并每天为这一决定感到遗憾。为什么要经历那个?如果财务方面非同寻常,那么这样做至少要持续6个月。但考虑到他才是事业的绝对开始,可能并非如此。
Radu Murzea

2
为“您正在学习的东西” +1。令人遗憾的是,这种工作环境并非异常。许多不专门从事IT业务的公司都在努力处理IT资源,因此,稍后在您发现有问题的环境时,您将在此处学习的经验教训(含糊的要求,错误的期限)将非常有价值。
格雷厄姆2013年

2
+1表示“保留日记”。在接下来的职业生涯中养成这种习惯!当一个项目进展顺利时,没人问问题。当情况变糟时,他们想挑剔您做过/做过的每件事。一本日记很好地掩盖了您的皮革。(比状态报告更好)。
TimG 2013年

13

与您的实习顾问交谈

到目前为止,我看到的所有答案似乎都集中在雇主身上,这一点很重要。

但是,您必须已经通过学校的课程或办公室获得了此实习机会。我无法想象你会是他们遇到的第一个遇到这种情况的学生。他们应该能够指导您朝某个方向发展。

即使他们现在不能帮助您(我很难相信),您也将帮助下一个在这种情况下找到他或她的学生,这是不可低估的。


+1,因为这是实习生一旦遇到看似无法克服的困难就应该做的第一件事。
verybadalloc 2013年

10

我有两次这样的实习,并且非常享受。您似乎缺少很多明显的方面:

  • 此时,您正在享受那种由大型程序员团队工作的程序员只能梦dream以求的创作自由。从语言选择,源代码控制,编辑器到软件体系结构,一切都完全由您决定。相信我,当它消失时,您会想念它。
  • 与对软件不太了解的人一起工作是软件开发过程的重要组成部分。在学校学习时,您会期望有很多在软件开发方面有丰富经验的人来完成明确的任务。即使在程序员团队中,您的任务也从未如此明确。现在学习处理它会给您带来优势。
  • 在没有导师帮助的情况下获取领域知识是软件开发过程的重要组成部分。每年或每两年一次,我得到一个任务,例如“成为我们的X技术主题专家”。 某人必须是公司中学习新技术的第一人。如果您可以证明某人可以成为您,那么您将获得更多有趣的作业。
  • 从您的角度来看,这感觉像是很大的压力,但您应该知道,他们对您的期望确实很低。他们知道,如果没有合适的指导者,这对您来说会更加困难。只要尽力而为,就可以了。

话虽这么说,处理您的第一个大型项目可能会令人不知所措。以下内容可能会有所帮助:

  • 尽量不要立即考虑整个项目。考虑一下您现在需要做什么。
  • 获取需要完成的功能列表,并按优先级顺序排列它们。这样,即使您没有完成整个应用程序,最重要的功能仍将存在。
  • 将第一个功能分解为越来越小的任务,直到深入完成可以在一两天内完成的任务。不要害怕使它们听起来很简单。我在全新项目上的第一个任务始终是使Hello World工作并检查源代码控制。尤其是如果它是一门新语言,或者是我一段时间内没有使用过的一种语言,则说明我的构建环境和工具已正确设置。
  • 经常检查您的进度。夏天结束时,不要试图将成品倒在它们上面。每周至少向他们展示一次您到目前为止的情况。
  • 预先花一些精力来尝试找到可以满足您需求的现有项目和组件。定制现有系统要比从头开始做一个要容易得多。许多公司需要类似的内部应用程序。我希望我自己知道这一点。我的一个实习项目基本上是(差)地改造了CRM

因此,放松身心,尽力而为,并尽可能多地学习,无论与软件无关。


6

这里的其他答案非常好,请一遍又一遍地阅读并真正尝试找出答案。如果这样做的话,您将不需付出更多的努力,就能在实习的另一端“活着”。考虑到您的情况,这将比您预期的要难,但是值得。

这很关键,因为当您向另一家公司申请职位1时,关键问题之一将是:

我在这里看到您在X公司实习过。怎么样了?你为什么离开 ?

如果然后您可以向他们表明您以专业的方式处理了困难的情况,那么这将算是很多,雇主通常会对这样的事情印象深刻。

即使很糟糕,您也可以使其成为宝贵的经验,您可以借此机会了解同学永远不会遇到的事情...

1 =希望您会这样做,因为待在那会导致职业自杀(早晚或更晚……可能更快)


2
这是一个容易回答的问题。“我喜欢在X工作,在实习期间学到了很多东西。但是,他们不是一家软件开发公司。所以,我认为留在那里并不能很好地提高我的工程技术。我宁愿与其他人一起工作软件开发人员,并拥有更具协作性的项目。”
selbie

5

去年,我处于类似的职位,在那里我必须从头开始开发一切,没有其他人具有任何开发经验。我确实完成了他们给我的项目,但是我不会称其为完善的应用程序,甚至不能将其称为可维护的应用程序(因为唯一知道它如何工作的人就是我,并且公司中没有人看过代码。)

如果遇到这种情况,我会做一些事情并且会做一些事情。其中一些已经在前面的答案中提到过

弄清楚:

  • 他们希望产品做什么(输入和输出,最低限度
  • 你有什么限制?(即,您可以/不能使用哪些程序?)

这将使您对产品的外观有所了解。将其画在纸上,然后显示给您的经理/主管。看看他们怎么说。如果他们不喜欢,问他们要更改的内容,请进行更改并重复该过程。如果他们喜欢,只需进行最少的编码并创建一个简单的演示。

向他们展示演示(如果这是他们的想法,请询问他们),这将向他们展示您的进度并帮助您了解他们的需求。

每当您需要编码帮助时,请阅读手册/教程,google搜索,最后在堆栈溢出中发布以寻求帮助。

不要挂在小细节上。这样做会浪费很多时间。

将代码分成小块,每个块是应用程序的主要功能。

注释您的代码。如果他们计划将其传递给另一名实习生或员工,这将对他们有很大的帮助。

与您的经理/主管保持沟通,交流有关该项目及其进度的信息。

而且不用担心,如果您无法完成项目,您是一名实习生,并且已尽力而为。他们因聘请对此项目经验不足的人而过失。

TL; DR

  • 与您的经理沟通的每一步

  • 编码主要功能

  • 从Google获得帮助并进行堆栈交换

  • 如果您无法完成,请不要担心


1
  1. 寻求澄清实习目标-为什么要分配这么多项目?
  2. 向管理层澄清,在指定时间内您无法完成所请求的项目
  3. 准备一份有关如何最佳利用时间的分析。例如,建议仅从事一个项目,而放弃其他项目。

如果您只从事一个小项目,那么您的时间将对您的公司有最大的帮助。确保妥善记录。专注于创建有关架构,项目目标,项目进度和源代码的有用文档。

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.