我们公司给新人的README,值得每个程序员一读

2,359 阅读7分钟

主题

首先由衷的欢迎你的到来!

这不是什么客套话,因为你即将会参与到我们项目中,为团队分担任务,为团队做出贡献。

所以你要明白一点,今后一段时间你如果会觉得在团队中团队合作有困难,那么一定是这个主题做的有问题。

而这也是我写下这篇文章的唯一目的,希望你能够给你一个得到团队每个人欢迎的方法。

熟悉项目

首先的,你需要熟悉我们这个团队的项目是做什么的,对于整个行业的价值是在什么地方,然后需要了解我们整个项目的技术栈,项目结构以及代码规范。

代码规范

代码规范很重要,重要到如果代码规范大面积出现问题,你可能会被团队每个人叼。

同样的代码规范很容易做到,你只需要参照项目规范适应一段时间就好。

而这一点你必须做到。

项目技术栈

关于项目所使用到的技术栈,应该在面试的时候面试官就已经跟你介绍过相关内容,并且觉得合适的人才会邀请你加入团队。

如果发现有的技术栈你未曾了解,请一定花时间去了解,因为关于这些技术栈一定是在项目中遇到的最基础问题。

项目架构

对于项目中的架构,希望你能按照自己的理解做出一个项目架构图。这也是对任何一个新人的要求,不论好坏。

因为如果在没有确定你已经理解了项目中大体的结构、事件流,导师是无法确定你能完整的接受并执行任务的。

如果在了解过程中,你遇到了觉得不合理的地方,无法理解的地方。不要着急立马提出质疑,任何事情存在即是合理的。

当然如果架构真的有问题,不意味着不能提出质疑,而是  应该告诉导师,你明白原来这样做是为干什么解决什么问题。而在明白这些的前提下,我有一个更好的解决方案,这样做会比之前有哪些好处。只有这样,你的建议在导师看来才是合理的,有效的,能解决问题的。

在以往的工作经历中,新人来以后往往有很多地方会提出自己的想法,这写都是合理的,并且确实有些点是对项目有好处的。

一个原则 :说问题,少抱怨。

如果项目架构中有存在问题,请直接说出你发现的问题和你的建议。 类似以下这类抱怨可以完全不必要提出, 因为这样的话解决不了任何问题:

  • 跑起来卡顿
  • 文档不明确
  •  编译时间长
  • 项目事件调用流有问题, 混乱分不清

导师更想听到的是:

  • 我发现哪里有一个性能问题,在哪个文件
  • 在某个时间调用的位置说明不够明确,我分析后做了一些说明文档
  • 项目中整体编译速度慢,我分析了一下,可以对  某个包做预编译提升编译速度

项目流程

另外一个需要你着重了解的是整个项目的流程,不同公司会有各自项目发布流程和任务管理方式。

对于如何接到项目需求任务,排期,提测,发布。整体流程都需要你有一个大体的了解。

这样可以保证你在工作过程中清楚知道自己的工作到什么阶段,可以帮助你迅速进入公司的工作节奏。

任务

任务排期

作为新人,接到的第一个任务往往是具有挑战性的,导师希望你能够合理的安排自己的排期。

为了保证任务按时完成,在任务排期时就需要考虑到一些技术难点的时间,一些需要沟通的时间,一些方案设计的时间。

导师希望你接的每一个任务,都是心里有底的。并且对自己的任务有一定的责任心和担当。如果发现项目中又难以攻克的技术难点,有逾期风险,一定要对导师提前告知, 千万不要觉得导师会因此责怪你。因为导师在  给你分配任务的时候就做好心理准备了。

能够诚实的反应任务状况,要远远比任务即将到期才发现任务无法完成来得好。

技术难点

 一般来说,分配给你的一些任务,不会有什么大的技术难点,即使有也是被解决过的。导师希望你在面对技术难点的时候,能够充分了解项目中已有的解决办法。

这是一个非常好的机会,让你能深刻理解项目中的一些关键问题,对于技术难点不明白时,导师希望你能带着自己的想法和技术点来问导师。

事后应该详细记录下自己的思考过程,总结自己的解决方法。只有这样才能在公司迅速成长,提升影响力。

请教问题

态度

也许你来自 bat,也许你来自 985,也许你非常看不上你的导师。但在请教问题的那一刻,请安静的听完到导师所说的内容,急切的打断别人的话,并不是一个好的习惯。

我特别能理解,对于每个程序员来说 I am the world 越厉害的程序员,越有自己的想法和意见,但同样的这也是程序员最大的缺点。

如果你对公司不满意,请找合适的人寻求解决办法,比如 HR。

你的工资不会分给导师,导师能够无私的为你讲解问题,从这点来讲是你欠导师的。

问什么

回到这篇文章的主题,我由衷的欢迎你的到来,因为你即将为团队分担一些任务。如果你的到来反而加重了团队的工作量,那么你就需要反省一下自己啦。

在问问题之前,要对问题做思考。首先想清楚这个问题,自己是否能解决,比如以下问题:

  • 这个地方怎么  报错了
  • vue 中的  生命周期  是什么

像这类自己调试或者百度就能解决的问题,问导师只会让导师心生不快。

然后思考这个问题,询问导师是否可以解决,比如:

  • 电脑卡,电脑上不了网
  • 这个按钮应该怎么显示,应该显示  什么内容

总之要清楚一点,导师是带你上路的,不是出题考你的。

公司不是学校,任务不是作业。

一个任务分配给你时,如何完成这个任务,导师只能给你大体的方向,具体的实现细节是需要自己思考完成的。

不要拿下一步该怎么实现来询问导师。因为与其这样,导师还不如自己做。

性价比

要清楚一点,导师的每一分钟在团队中的价值,要往往高于你的每一分钟。

请把每一次提问都当做是一种交易。

提出有价值的问题,学会独立思考。才是成长道路上的最终道义