本帖最后由 小刀葛小伦 于 2019-8-1 17:11 编辑
项目管理是如何进行的?这个问题的答案可能改变你工作的思考方式。没有一个良好的项目管理流程会导致一片混乱。确保对方解释清楚了任务是如何确定的,谁负责处理任务,以及其他你能想到的事项。
如果对方身处一个任务管理很糟糕的环境,他们对任务管理流程的描述会非常含糊。具备良好的项目管理流程的公司应该能够简要地描述谁负责什么,如何查看尚未完成的任务,如何寻找问题的答案。
你们期望我在一个月内从事几个项目?这个问题取决于面试的公司的类型。如果你清楚这家公司只致力于一个项目,你可以问下他们一个月完成几次迭代(sprint)之类。之所以需要提出这一问题,是为了大致了解平均工作量。答案本身无所谓好坏。
有人和我说,从事一年咨询工作的经验相当于从事单一项目 2-3 年的经验。这是因为咨询工作往往要求你同时参与来自不同客户的多个项目,每个项目的配置都不太一样,在很短的时间内处理许多不同问题。
另一方面,我也听人提到过,从事单一项目,有利于深入一个技术栈。因为工作聚焦于一个项目,能够学习这个技术栈中更高级的技术。
如何解读对方的回答取决于你希望从工作中得到什么。
管理代码的流程是什么样的?一些公司管理文件的方式能让你大吃一惊。我知道有家公司用邮件附件作为文件备份!了解对方使用的版本管理工具总是不错的。问下他们是否使用 GitHub、Azure DevOps 之类的常见工具。
有可能对方会使用其他一些工具,比如某种专有软件,但很可能这些软件是和 Git 相关的。了解下是否进行某种形式的代码审阅,例如要求合并请求通过后才能合并。最后别忘了问下部署流程!公司也许有某种自动工作流,也许没有。
一次典型的迭代是多久?虽然有些公司处理任务没有采用一套正式的方法,但只要他们遵循某种方法,那么这并没有什么妨害。公司处理任务列表会有特定的方式,任务会有某种时间限制。这些是你需要通过提问搞清楚的。
有些公司的迭代周期是周,有些公司的迭代周期是月。你需要了解的主要内容是对方期望你在一次迭代周期内完成多少任务。了解迭代周期的长短能让你大致了解工作的节奏。较短的迭代周期意味着你将相当迅速地持续输出代码,而较长的周期则可能给你留下一段等待的空余时间。
一个团队有几个开发者?如果想知道要和多少人协作的话,开发团队的规模将给你提供很多信息。你将了解团队是否能提供许多指导的机会,还是期望你在很少的帮助下跟上团队的步伐。
如果一个大项目上没有很多开发者,你将着重于快速完成任务。如果团队中有很多开发者,你应该能有机会从其他成员那里学到东西,并尝试不同的任务。不过,别以为团队人数反映了开发者质量。大团队的开发效率也可能比小团队慢。
开发者在工作中有时间学习吗?我们都会花业余时间学习一些超出工作所需的东西。给员工一些工作时间学习,不少公司开始意识到这是个不错的主意。这点小福利能告诉你公司愿意在你的成长上投资多少。
即使每周提供两三小时也比没有好。也许公司执行结对编程,也许公司时不时会有培训讲座。公司甚至可能订阅了在线培训网站的课程。
一个项目的典型时长有多久?这是了解对方如何工作的另一种方式。有些项目只持续几周,有些项目持续几年。这个问题的答案本身同样无所谓好坏。需要对方解释的主要内容是项目持续时长的原因所在。
有些人喜欢快速前进,有些人不喜欢。你能从这个答案中了解到一点公司的商业因素,因为通常情况下这决定了项目预算的规模。
是否需要出差?通常 web 开发者不需要出差,但也不一定。有些公司需要你驻地开发,在你接受工作邀约前需要了解这一点。这个问题的答案也能帮你了解公司的环境。
驻地开发意味着他们认为你具备足够的技能去应对客户,但这可能意味着你随时需要出差。
如何处理休假?这个问题的关键并不在于可以休几天,而是公司的业务在你不在的时候将如何运作。有些研发部门有一个百事通,如果他不在,所有人都得祈祷别出什么意外。然而这也是容易发生意外的时间。
了解对方是否进行交叉培训,这样有足够人的了解工作内容,不会打断你的假期。这将我们引向下一个问题。
是否有处理紧急事件的流程?服务器宕机了怎么办?数据库损坏了呢?应用遭入侵了呢?应对这些场景应该有某种紧急流程。你不该操心整个公司因为没有紧急流程而惊慌失措。
问下数据库多久备份一次。问下公司的安全措施。这些问题的答案有助于你弄清楚对方为项目考虑得有多长远。
个人觉得这个能对大家有帮助,所以转载!
作者:NewFrontendWeekly
链接:https://juejin.im/post/5d3fdffbf265da03c502e9ab
|
|