写得非常好的一篇帖子:
在阿里,每一位新员工进来之后都会有一位导师,导师一般都是比较资深的程序员。
我的导师是如何带我的
在实战中辅导:刚来一个月就直接进入项目,从小需求做起,一开始导师会花大量的时间帮我做Core Review,逐行审查,审查出不符合代码规范的代码(有些规范是没有写在文档中的)和写得不合理的代码,帮我提高编码能力的同时保障了项目质量。
在公共场合肯定你做得好的地方,在团队的项目总结会中提出表扬和肯定。
在私下说出你有待改进的地方,并解释的非常详细,这样既不会打消新员工的积极性,也能帮助新员工提高,如建议我不做过多的设计,因为设计上的灵活,会带来三个弊端,第一设计时间比较长,第二代码不易读,第三大部分以后都用不到这个扩展。所以只做必要的设计,以后再重构。
我是如何带实习生的
由于实习生和正式员工不一样,我在上述三点的基础上增加了以下几点:
计划驱动:互联网开发要学的东西比较多,对于实习生来说不知道该先学什么后学什么,学到什么程度。所以计划驱动比较重要,在工作和学习之前会给实习生列一份详细的学习和工作计划,并询问下实习生这个计划有没有问题,能否完成。学习之前我会大概和他讲解下,让他有个概念。比如webwork是一个什么样的框架,它是用来解决什么样的问题的,它和你用过的框架有什么优缺点。学习的周期一般比较短,主要是让他在实战中学习。
定期沟通。 每两周都会抽时间和实习生进行一次单独沟通,每次沟通都会按照先后顺序谈以下三点。
第一关心:询问下他对工作和生活的想法。询问下在公司的食堂吃的好不好,住的有没有什么问题。
第二肯定:肯定下他最近工作中做的好的地方。比如很擅长提问,做事情非常积极。
第三建议:首先给他一些学习的建议(遇到问题要深究原因,学习要学透不能浮于表面)和工作的建议,比如质量意识(自己写的代码要想CodeReview然后再自测,最后再提交)和团队合作意识(当团队其他成员遇到问题的时候,我们要主动去帮他解决,而不是让他一个人加班解决)。然后再说说最近工作中有待改进的地方。比如指导他如何进行有效的沟通。之前他问问题给出的描述信息太少,我必须通过不停的反问才知道他到底是在问一个什么问题,于是和他讲,沟通的时候要站在听众的角度来提问,提问的时候尽量多描述问题的细节,一旦听众听明白了就会马上回答你,否则听众必须通过不停的思考和反问去知道问题到底是什么,反问越少提问效率越高。
每日CodeReview。由于实习生没有太多工作经验,写出的代码肯定会存在很多的问题,所以CodeReview变得尤其重要,否则有问题的代码提交到项目中,以后维护成本会非常大。为了避免问题太多难以修复,所以要求实习生尽量做到每日check in代码,我每日进行CodeReview代码。以下是使用我们团队开发的Tala CodeReview工具Review出来的问题。
用提问的方式帮助学生思考。指导学生采用引导的方式比灌输的方式要更好些,学生遇到问题会提问,如果直接告诉他答案,他吸收的会非常少,所以一般我会采用提问的方式引导学生思考,比如这段代码还能进行优化吗?这两个SQL语句能不能合成一个?培养团队合作意识也会采用提问的方式,首先和他讲一个真实的案例,在XX公司里来了一位新员工,因为对系统不是很熟悉,文档又非常少,也没有导师帮他review代码,所以他修改代码的时候引发了一个严重的BUG,结果导致自己得加班到1点才解决这个问题。从这个案例中你有哪些体会?通过案例和提问让他意识到团队合作的重要性,开发的时候通过团队合作(CodeReview和交叉测试)保证质量,出现问题也应该由整个团队一起帮忙解决。
对学生的要求主要有两点。第一:尽量不要问重复的问题。说过的事情必须用东西记住,这样可以节约双方的时间。比如告诉学生开发服务器root的密码,就必须马上记住。第二:定期提问。有问题首先先自己思考下,如果解决不了就先记下来,然后选择一个固定的时间一起提问。如果想到一个问题就问,自己会养成懒得思考的习惯,而且会不断打断我的工作,影响工作效率。
总结
作为导师的目的是培养学生,需要耐心和责任。
指导需要有耐心,实习生写出的代码肯定存在很多问题,也有可能同一个问题反复出现,出现次数多了肯定会生气,但发现后指导就可以了,相信他不是故意的,下次会改正。不能一味的去指责他怎么会写出这样的代码,谁没有经历过这样的时候呢。指责多了反而会打消实习生学习的积极性,不利于学生的成长。
出现问题是自己的责任,如果由于实习生的代码引起的线上的故障或BUG,不要责怪学生,而应该责怪自己,因为自己没有严格执行CodeReview。
教学相长。在带学生的过程中,学生的很多问题能引起自己的思考,让自己学的东西能更加扎实,在教的过程中,自己要理清思路,整理好后和实习生讲,讲的过程中有一种温故而知新的感受。
转自:http://www.iteye.com/topic/1120063
分享到:
相关推荐
#### 七、阿里巴巴集团工作经历&感悟 通过收集阿里巴巴员工的工作经历分享,可以了解到更多关于在阿里巴巴工作的实际情况和感受。这些分享有助于应聘者更好地了解公司文化和工作氛围。 #### 八、阿里巴巴相关资料...
六、 阿里巴巴实习经历/感悟 .......................................................................................................................................... 14 6.1 阿里巴巴:从面试到现在,我...
2. **职员培训**:新入职员工通常会接受公司文化、行政制度等方面的培训,以便更好地融入团队。此外,产品知识培训包括品牌、材料、价格等,这些都是与客户沟通的基础。 3. **订单处理**:实习者的主要工作之一是...
亲测可用
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
【项目资源】: 物联网项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
【项目资源】: 单片机项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
【项目资源】: 单片机项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
【项目资源】: 物联网项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
IDE护眼主题套件
内容概要:文章详细介绍了基于Matlab/Simulink构建的增程式电动车仿真模型。该模型由电池、电机、发动机、整车动力学、控制策略和驾驶员模块六大组件构成,重点在于各模块间的能量流动逻辑。文中特别强调了功率跟随控制策略,通过PID闭环控制使发动机功率与电池需求动态匹配,优化了燃油经济性和SOC控制精度。此外,模型采用开放式架构,所有参数通过m脚本集中管理,便于修改和扩展。文章展示了模型在典型工况下的性能表现,并突出了其在科研和工程应用中的灵活性和实用性。; 适合人群:对新能源汽车技术感兴趣的工程师、研究人员以及高校相关专业师生。; 使用场景及目标:①用于研究增程式电动车的能量管理策略;②作为教学案例帮助学生理解复杂系统的建模方法;③为实际工程项目提供可复用的仿真平台。; 阅读建议:读者应重点关注模型的架构设计和关键控制算法实现,同时结合提供的代码片段进行实践操作,以便更好地掌握增程式电动车的工作原理及其优化方法。
51a30-main.zip
内容概要:本文详细介绍了多种类型的数据库索引及其应用场景,包括普通索引、唯一性索引、单个索引、复合索引、聚簇索引、非聚簇索引、主索引、外键索引、全文索引和空间索引。每种索引都有其独特的定义、要点和适用场景,并附有具体的SQL代码示例。此外,文章还对比了InnoDB和MyISAM两种存储引擎的特点,解释了脏读、不可重复读、可重复读和幻读的概念,并讨论了SQL优化的方法以及数据库事务的ACID特性。 适合人群:具备一定数据库基础知识的开发者、数据库管理员以及参与数据库设计和优化的技术人员。 使用场景及目标:①帮助开发者选择合适的索引类型以提高查询效率;②理解不同存储引擎的特点,选择最适合应用场景的存储引擎;③掌握事务隔离级别的概念,避免数据不一致问题;④学习SQL优化技巧,提升数据库性能;⑤理解ACID特性,确保数据库操作的一致性和可靠性。 阅读建议:本文内容较为全面且深入,建议读者结合实际项目需求,重点理解不同类型索引的应用场景,掌握SQL优化的基本原则,并熟悉事务处理的最佳实践。
内容概要:本文详细介绍了MATLAB中优化算法的实现方法,涵盖确定性算法(如梯度下降法)和随机性算法(如遗传算法、粒子群优化)。文章首先讲解了梯度下降法和MATLAB优化工具箱的应用,展示了如何使用fmincon解决约束优化问题。接着,文章深入探讨了线性规划、非线性规划和多目标优化的理论和实践,提供了具体的MATLAB代码示例。此外,文中还介绍了遗传算法、粒子群优化和模拟退火算法的原理及应用,并通过实例展示了这些算法在实际问题中的使用。最后,文章讨论了优化算法在工程、金融和机器学习领域的高级应用,以及调试和优化的常见策略。 适合人群:具备一定编程基础,对优化算法感兴趣的工程师、研究人员和学生。 使用场景及目标:①理解优化算法的基础理论和实现方法;②掌握MATLAB优化工具箱的使用,解决线性、非线性、多目标优化问题;③学习遗传算法、粒子群优化和模拟退火算法的具体应用;④提高优化算法的性能和可靠性,解决实际工程、金融和机器学习问题。 阅读建议:本文内容丰富,涉及多种优化算法及其MATLAB实现,建议读者先掌握基本的优化理论和MATLAB编程基础,再逐步深入学习各类算法的具体应用。在学习过程中,结合提供的代码示例进行实践,并尝试调整参数以优化算法性能。
this is for myself learn coding, change a pc debug.
项目资源包含:可运行源码+sql文件 适用人群:学习不同技术领域的小白或进阶学习者;可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 项目具有较高的学习借鉴价值,也可拿来修改、二次开发。 有任何使用上的问题,欢迎随时与博主沟通,博主看到后会第一时间及时解答。 开发语言:Python 框架:django Python版本:python3.8 数据库:mysql 5.7 数据库工具:Navicat 开发软件:PyCharm 浏览器:谷歌浏览器
【项目资源】: 单片机项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
内容概要:本文深入探讨了MMC型STATCOM/SVG的核心技术和调试技巧,重点讲解了载波移相调制(CPS-PWM)和电压均衡控制两大关键技术。载波移相调制通过为每个子模块设置不同的载波相位差,有效降低谐波含量并优化开关频率。电压均衡则分为桥臂内、桥臂间和相间三个层次,分别采用动态排序、比例控制和零序电压注入等方法,确保系统稳定运行。文章还分享了多个实战经验,如低压调试、红外热像仪检测以及避免参数设置不当引发的问题。; 适合人群:从事电力电子领域,特别是参与STATCOM/SVG项目的设计、开发和调试的技术人员。; 使用场景及目标:①理解MMC型STATCOM/SVG的工作原理和技术细节;②掌握载波移相调制的具体实现方法;③学习电压均衡控制的各种策略及其应用场景;④获取实际调试过程中常见问题的解决方案。; 阅读建议:本文涉及大量技术细节和实战经验,建议读者结合实际项目进行阅读,重点关注载波移相调制和电压均衡控制的具体实现,并参考提供的代码片段进行实践。
liangmmm_finalll.scdoc