Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2016/04/11 基本素养:改良程序员的问题简历,从反模式到最佳实践 #16

Open
sivagao opened this issue Apr 3, 2016 · 0 comments

Comments

@sivagao
Copy link
Owner

sivagao commented Apr 3, 2016

找到新工作最简单的方式通过你的个人职场网络。那些认识你的人和你一起共事过的同事,最有资格为你的杰出技术才能和迷人个性背书,通过这些人直接和有HeadCount的HR经理直接联系上是最有效找到新工作机会的方法。不过,你的网络始终是你目前所能看到的一切(从而也限制了你)。如果暂时还不认识你想要的工作机会公司的人,或者你的人际关系不够强。这时候你还是要依赖于你的简历来撬开那家公司的大门。

我不止一次听到过这样的观点:简历对程序员来说根本不重要。这些人认为简历是过去的产物现在我们只需要关注候选人的Github简历就足够了。不过,在我看来,大部分应聘者除了一些简单尝试的小项目或fork别人的项目外,很少在Github上有太多工作。除非你的工作就是围绕开源项目的,所以你的简历是筛选简历的人唯一有的关于你所有信息的一切,通常也是决定你是否能进入下一轮的关键印象。

反模式

大部分我见过的简历都没有把能进入我们团队的个人潜在价值沟通好。相反的,这些简历都多多少少了暴露来一些反模式:
模糊的说明着项目,夹杂着一系列的技术点,流行词汇和所谓的最佳实践。有资格的候选人被拒绝是因为离我的标准还有距离,还有不少候选人根本在简历山筛选上都没有通过。

你的简历上应该把你能够给公司和团队带来的价值阐述表达好(通过你给之前或现在雇主提供的价值说起)。下面我罗列来一些不好的反模式,也给出了相应的改进方案。

技术掌握上

作为软件开发者,和潜在的老板聊聊你熟悉的各种编程语言和技术是很有价值的。对于不少职位,熟练掌握(甚至要精通)某项技术是职业必须项。不过,简单罗列技术名词,而对你掌握如何只字不提就不好了。尽管你的简历不必要成为详细的技术评审。你描述对一项技术的掌握可以给筛选简历的人积极的好感,也为将来的面试官看你简历时提供话题。

反模式:罗列大量技术工具

就像是购物列表似的罗列语言,技术和工具,没有任何上下文来说明你是如何使用的,或者它们根本与你要申请的职位风马牛不相及。

  • 例子:

    工具:Ruby,JavaScript,jQuery,React,Git,Jira等

  • 提升:

    给我们的Ruby on Rails 项目体检一系列的移动客户端的API,如来记录各个国家地区的爆米花热狗的价格。通过etags实现缓存,来减少移动设备在消费 API时 60%的API响应时间。领导团队升级到 Rails5。在此之前,实施和验证几个 Rails4 的安全补丁。

  • 提升:

    实施聚合各个国家的爆米花热狗价格数据并且通过JSON API的方式提供结果给客户端(符合 Ruby on Rails 的 JSONAPI 标准)。使用 Sidekip 来加速定时任务的执行,它们从第三方的JSON APIs中爬去数据然后把结果存储在MongoDB中。

  • 提升:

    领导和评估迁移到新的JavaScript UI类库的工作。最终在决定使用 Angular 还是 React时。根据 更低实施的成本(不是所有团队成员之前都使用过两个框架),容易实现组件化(我们的UI组件是通过许多小且易于复用的部分组成),方便实现Flux类似的单向数据流 选择了React。

  • 提升:

    由于缺乏明确专职的产品经理,我们的工程团队被分管市场的VP副总监领导着,但是我还是缺乏每天的项目管理指引。我提议和成功的在团队实施JIRA,并且被当做是默认的项目管理角色。除了日常开发工作外,我也和市场VP一起,把产品需求细化和分解到 JIRA 任务中作为每周迭代。

软技能上

开发者,就想其他职员一样,能够有给团队和组织贡献不止他们专业技能本身的潜能。表达你个人的软实力不仅仅是来展示你价值的好机会,也代表你知道你比你目前的中高阶技术能力外的自信。

反模式:『优秀的沟通技巧』

听起来不错。在简历上仅仅写出『拥有优秀的沟通技巧』恰恰体现了你不咋地的沟通能力。

  • 例子:

    优秀的沟通技巧

  • 提升:

    主导和对齐一个正在进展中的平台优化的例会(用来定期偿还我们之前留下的技术债)。我给例会中引入了一套代码准则来避免直接指责同事和确保所有团队成员都能有机会说出和提议对目前技术债的解决方案。

反模式:模糊不清的导师工作

没有进一步解释你是如何或为什么指导同事的

  • 例子:

    指导实习生

  • 提升:

    把我们团队的实习工程师招聘项目扩展到我的母校去开展,找到那些合适的候选人

  • 提升:

    每周会花费5个小时左右去指导我手下计算机科学的本科实习生加速学习JavaScript相关最佳实践在他最后一个学期里。最终让他在毕业后能够以全职正式员工身份入职。

  • 提升:

    在得知其他组的同事对学习Ruby很感兴趣后,组织了每周的工程师读书俱乐部,定期指导阅读,布置课后练习和审核他们的相关答案

文化契合

和软技能一样,表达你对工作的态度和对其他同事如何协同的观点会给你潜在老板很有价值的信息:看你和目前团队的文化是否契合。好的管理者一直都知道一个成功的团队是由很多迥然不同性格和能力的人组成的,在表达你的偏爱和工作风格后,他会知道你是否可以在目前这个团队和在的什么位置什么方面上发光发热。

反模式:什么都不提

大部分简历上都对应聘者本身的对于团队结构和组织里同事性格的偏好上缄口不语。

  • 提升:

    我喜欢高度配合协同的工作环境,任何时候都希望能够结对编程。我也喜欢参与在经过完善企划围绕着软件架构和系统设计的例会。我乐于和产品经理一起,把需求一起梳理清楚。但对花大量时间在项目一开始去脑暴和开发不怎么认同。

  • 提升:

    我特别喜欢在早期的创业公司工作,因为有机会去承担产品工程师的角色。我也喜欢在编码实现需求前,和产品,设计团队的成员一起去调研,头脑风暴,和功能原型。

  • 提升:

    我在独立开发时效率最高。我在和同事一起协作做功能设计和定位没有问题,不过作为天生的内向者,我在个人独自编码时效率最高。

https://medium.com/@mhriess/software-developer-resume-anti-patterns-4e906f2314cd#.ytcyvzpzu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant