如何将新秀开发人员纳入您的项目?


9

我们正在考虑教一些具有零或一般业余爱好者编程经验的员工来减轻我的工作量。

我们使用Python / Django,它具有一些最友好的文档,并且学习起来很轻松。

我目前是我公司的一个IT部门,我没有足够的时间来开发公司所需的一切。我们不是软件公司,但是它可以帮助内部IT自动化任务,开发客户服务功能,分析数据等。

您如何缓慢集成在您的代码库上工作的菜鸟?假设您有一个实习生-他们做什么?我完全不愿意让他们设计或开发核心代码,因为多年来我们将一直在处理他们的错误/奇怪的设计模式。作为主要开发人员,我将成为必须解决其代码的人。

我的想法是让菜鸟仅修改现有代码,而不构建核心功能。构建功能本身后,我可以通过简单的任务将工作分担给他们。

我们希望我们的员工在公司中学习/发现价值,并且通常我们会让人“升职”。

用普通/爱好者级别的编程教人是否是标准做法?软件公司中的“升职”对初级程序员是如何工作的?他们什么时候开始处理核心代码?

我正在尝试确定是否会造成比帮助更大的损害,或者是否有一种方法可以使用他们的帮助而不会冒潜在的核心站点代码(隔离环境?)的风险。


3
在我看来,“普通/业余爱好者编程”与“初级程序员”有很大的不同。前者听起来像是有人在一周的时间里使用shell / batch脚本来调整他们的系统。后者听起来像是刚完成CS学历的人。处理这两种类型将非常不同。只是说...-
FrustratedWithFormsDesigner

@FrustratedWithFormsDesigner谢谢!我不熟悉该术语。我说的业余爱好者自学了几种编程语言,建立了一个或两个程序,一个网站。这两个可能非常相似(在我的定义中)?
富田

3
接受过正规CS教育且没有经验的年轻人-天真,但通常很有才华,可以快速学习新事物并适应您的工作习惯。“业余兽医”的危险性要大得多,因为它们通常是其习惯的奴隶,因此他们可能不愿意改变,并在您的生态系统中遇到麻烦。但是,尽管如此,只有给予他们自由,您才能看到他们的愚蠢或机敏。如果您给他们简单的日常任务,他们将不会学习任何有关工作的知识,也不会学到任何关于它们的知识。
2011年

@ c69谢谢!我的问题是如何使菜鸟融入我们的代码库?我们的目标不是让他们陷入困境,而只是做平凡的任务。让某人访问我们的代码库,并让他们作为我们系统的一部分来构建自己的第一个django /编程项目,是很危险的(或者这是您的意思?让我们尝试一下吗?)。PS:充分注意到业余爱好者
富田

Answers:


5

如果您将新秀委派给一个无效的角色,他/她将永远不会学到任何实质性的知识,并且它们对您当然不会太有用。

让我给你一个建议,我离开学校的第一份IT工作是在一个相对较小的制造公司,在那里我将从事软件开发工作,以协助销售工程师为各种项目编写报价。我还应该协助一个IT人员,他亲自为整个公司管理IT。

这个家伙是一个压力太大,工作过度的烂摊子,也是我工作过的最糟糕的微观管理完美主义者。本来我应该减轻他的工作量,但是他花的时间几乎像我在工作时一样花时间检查我和我的工作(他几乎从未离开过办公室,我认为他鄙视家人)。如果我犯了一个单一的错误,他将完全失去理智,开始发脾气:“我知道我不应该以此为信,这太重要了!” 和其他咆哮。

我要说的是不要那样做。这不仅会使新秀们苦不堪言,破坏他们的士气,而且还会在两端燃起蜡烛,为他们的工作担忧。

给他们一个证明自己的机会,但要有正式的技术规范,设计评论和代码审查。您也可以测试他们生产的产品,以确保满足要求。

我想您会惊讶于其中一些人的能力。


1
还应该说,如果您将新秀委派给他们觉得自己没有用处的角色,他们将获得的很少的经验会找到更好的工作。即使是新手也应该​​能够遵循指示,维护任务也很好,但是除非您愿意帮助他们成长,否则总是会拥有新手。
拉姆猎犬,2011年

感谢您的输入-非常感谢。我们必须从某个地方开始,因为我们正在考虑实际上没有经验的人。简介python 101,django教程,bash脚本,如何使用版本控制等,我会听取您关于不进行微管理的警告。是的!我相信我们的人民很有能力。
富田

5

我曾经在一家软件商店工作,在那里我们编写了一个大型项目(大量的启动时间)。

新秀被当作兽医对待。他们被任命为技术负责人,并“自行”启动功能。建筑风格是决定性的,但他们可以自由提出自己的简洁设计。在(每日)对等代码审查期间淘汰了“奇怪的设计模式”。

我在另一家商店看到的一个错误:假定“核心”很难,而“ ui”则容易。新手在内核中的时间比较轻松,并且弄乱了UI前端代码。

祝好运!


1
频繁的代码审查正是我要提出的建议。这将花费一天的时间,并且会在您教会他们什么地方出问题时退还黑桃,他们必须修复它,并且他们的技能会提高。一段时间后,您将不需要花费与前几周一样多的代码审查时间。还要确保他们知道如何使用(并使用)源代码控制。这样,任何错误都可以很容易地回滚。
HLGEM 2011年

1
@isgab-即使有30年的经验,也很难实现有效的用户界面设计。我的意思是,看看Microsoft和Apple,他们对用户界面的工作方式都有不同的想法。
拉姆猎犬,2011年

我喜欢您所说的关于核心与用户界面的内容。我认为两者都有优点和缺点(后端是菜鸟,前端是菜鸟)。一方面,HTML通常与体验有关-知道什么不起作用。隔离项目也是“安全的”。后端完全可以正常工作,但是现在必须维护现在构建的代码,并在将来继续使用。
富田

2

您首先要为它们提供小的,分散的零件功能来实现。定义您承诺的输入和您期望的输出,然后让它们连接点。然后使用团队负责人的代码审查来确保质量,并使用同行审查来训练他们相互学习和自我学习。

假设您拥有一个整体应用程序体系结构,该体系结构允许以分离的方式构建逻辑的原子单元。如果不是这样,那么当多个开发人员在其中工作时,您将走向一个悲伤的世界-即使是老专业人员也是如此。

不可避免地,会有某些人去学习,快速学习并兴起。确保继续为他们提供任务,而这仅仅是他们当前能力的一小步。没有什么能像开始不可能完成的任务那样教育任何人。不可避免地会有一些人尝试并从未真正掌握它。应该感谢那些人的努力,并优雅地过渡到其他人。


1
“确保您继续为他们提供任务,这比他们目前的能力仅一步之遥。” -如果不这样做,您可能会发现这些人将自己的知识带到了另一家公司。如果您不喂养,训练和走路的菜鸟,它们将像您的狗一样逃跑。
拉姆猎犬,2011年

其他选择是:给他们一个已经(很好)的实现功能,以便他们可以比较输出
Etsitpab Nioliv

1

您的公司如何负担不起其他员工的时间,却又不能聘请有编程经验的人呢?您花费的时间培训,故障排除和手动操作的成本很高。

我在这方面做过的唯一一件事就是教人们如何使用报表编写器或Excel的某些VBA /宏代码。我通常将数据集重用。让他们学习SQL是一项艰巨的任务,但是我已经看得出来(已经为他们提供了接受外部培训的报酬。)这些人中大多数都是财务分析师,他们有能力学习编码,但可能没有花时间。与操作中的某些人尝试此操作是一个长期的尝试。

确保您找到合适的人,他们真的想学习编码。您将没有时间教他们一切。他们必须自己做很多事情。


我提到过,我们谈论的是零经验(或很少的经验)的人,因此我们谈论的不是聘用专业程序员所需的薪资等级。
富田

嗯,我们的公司有点像一家人:我们喜欢自己做所有事情,并请人来做。我主要是好奇如何将新秀的工作流程融入我的工作。
富田

0

@louisgab关于代码审查是正确的。那也是我的第一步。无论您是在代码审查中还是以后的代码中找到,对您而言至关重要的一件事就是确保他们必须纠正自己的错误。他们不会;除非意识到必须改正错误,否则他们甚至不会意识到自己正在犯错误。还要确保解释为什么他们使用的解决方案是一个错误,以及为什么您提出的建议更好。最初的几个星期,由于有其他人,您会感觉好像您需要做更多的工作,但是如果您进行代码审查并解释事情并希望他们学习,那么在几周内,与您仅仅在几周内相比,他们将提供更多的帮助。自己做。但是,您需要投入大量的时间来使它们达到您的管理层需要意识到的最快速度。

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.