虽然有非常多的初级工程师, 但是并没有非常多的职位给他们.
几个月前, 我参加了一场针对技术领域女性的活动. 很多参加者中是新的开发者, 毕业于编程学校或者计算机科学课程. 几乎所有人都告诉我, 她们在获得第一份工作时遇到了麻烦.
我很幸运. 我在大学的第一份 "真正" 工作是 2010 年哥伦比亚大学的 "初级应用程序开发人员". 现如今, 甚至找不到一个招聘初级开发者岗位的招聘帖. 发这些招聘帖的人说他们被淹没在了简历中. 然而优秀的公司又抱怨找不到好的工程师.
我想知道这是为什么?
我不知道这样做, 具体来说能够为我们节省多少成本, 毕竟我不参与公司的运营. 但是我知道很多公司对我说过:我们不雇佣初级工程师的原因是, 让高级工程师花时间给他们提供指导, 对我们来说成本太高了.我已经了解高级工程师的价格, 因为我就是其中之一, 并且为了预估项目预算, 项目经理曾让我给项目分配时间. 我知道的价格区间是 190 ~ 300 美元每小时. 这就是很多公司认为雇佣初级工程师是一笔损失的原因.
我并不这么认为: 没有高级工程师能够一直高效工作一整天. 公司对人力成本的焦虑就像鳄鱼的眼泪,(至少以我的观点来说)他们刻意不去思考浪费在很多事物上的时间, 比如开会.
但让我们来做个假设, 他们将初级开发者的职位重新加入到团队. 另一个问题出现了: 高级工程师根本没有与初级工程师合作或者培训他人的经验. 当我第一次开始与初级工程师合作时, 我不知道该如何去做. 我感到迷茫和困惑. 我所待的公司基本上就是这样的态度:"让他们有事可做, 让他们可以从中学到东西." 但是, 这样做真的不可持续.
我寻找资源, 但是并没有找到. 如果你知道任何资源, 请在留言中通知我. 我最终拼凑了各种课程和不同作业.
但令人惊叹的是, 我在做这件事时学到了很多东西. 直到我必须解释 Javascript 语言的特性, 我才觉得我真的深入地理解了它们. 我为教学开发的一些工具最终付诸于项目.
现在, 有一些时候令我感到沮丧. 特别是当项目经理或其他经理不了解现实状况的时候. 他们总觉得, 这些人教了就马上能够进行开发, 但这之间有个消化和理解的过程.
我认为我想说的是: 整个软件开发生态系统需要初级工程师以保持健康. 培训他们有成本, 但也有好处.
我建议那些想要再次招聘初级工程师的公司, 投入一些时间用来制定一个大纲, 用来帮助高级工程师以及任何与他们合作的人员有效地辅导. 并且说明下这个严峻的现实.
就像并不是所有初级工程师能够成为成功的开发者. 那样的话, 你会做什么呢? 抱怨辅导你的高级工程师? 或者追逐那些奋斗于通往成功领域 (如项目管理, 销售工程师或者其他非开发的角色) 的人. 在这些领域, 软件技能也是非常重要的.
并且并不是所有的高级工程师能够成为成功的导师. 很多杰出的工程师不具备这一特质. 他们应该避免扮演这样的角色. 对于那些必须担任导师这一角色的人, 如果他们没做好, 我们也不应该苛责他们. 我曾在一个团队中给初级开发者提供大部分的指导. 与其他工程师所做的工作相比, 这被认为不是 "真正" 的工作, 这后来也让我不太愿意担当这个角色. 是的, 我会将性别考虑进去, 因为我是一位女性, 并且当女性担任类似这种角色, 受刻板印象的影响, 她们总被认为是 "训导员". 那意味着更低的声誉, 更低的声誉意味着更少的工资.
话虽这么说, 但如果没有提及一些其他阻碍初级工程师的经济问题, 我不足以写下这篇文章. 最近, 因为一个活动, 我拜访了一家公司, 他们大概的意思就是说, 现在所有 "容易" 的工作都已外包给另一个国家. 这些工作以前都是初级工程师做的. 之后有了自动化. 我还是初级工程师时许多需要亲自做的工作, 现在都可以自动化处理了.
对于那些初级工程师, 找到你的第一份工作正变得越来越困难. 你可能不得不做一些我不愿意推荐的事, 比如免费给各种项目打工. 如果你确实选择了一个非常好的开源项目, 你可以将它写到简历上. 我不太倾向于推荐为 "创业公司" 免费打工.
你也要寻找你自己的导师. 现场见面会是最好的方式, 虽然我明白并不是每个人都喜欢这样, 因此你可以试试 Slack 和 Discord 聊天应用. 不过就像很多约会一样, 这也会变得糟糕. 你将被多次的拒绝. 你将做一些糟糕的, 甚至完全失败的项目, 因为和商业项目的人员相比, 免费项目的工作人员一般有点更古里古怪. 就像一个初级工程师告诉我的: 他们不再去某个见面会, 因为他们之前做的项目彻底地失败了. 我不得不告诉他们应该继续寻找项目, 但心中要明白大多数项目都不是完善的.
对我而言, 我很高兴为参加见面会的人提供辅导. 在这些背景下, 我也要努力地制定一份更正式的导师计划.
我不确定整个行业的解决方案是什么. 我不确定缺乏初级工程师的公司是不平衡的还是聪明的. 实际情况是, 大多数软件开发人员不会长时间呆在一个地方, 所以也许投入大量资源来培训人员是没有意义的. 或者说, 这个行业也许应该问问自己, 为什么人们不停地跳槽? 也许是因为大多数公司都很糟糕, 或者对我们很多人来说, 这是提高薪水的唯一途径. 我可以等待一个愚蠢的, 毫无意义的年度 "绩效评估" 让我涨 1% 的工资. 或者投递简历, 通过面试, 拿到 10% 或更多的工资涨幅.
这不仅仅是个别公司不够完善的信号, 也是整个行业不够完善的信号.
来源: http://blog.jobbole.com/113954/