并发 & 并行
-
并发(concurrency)
关注任务切分
创业公司开始只有一个人,一人分饰多角,一会做产品规划,一会写代码,一会见客户
虽然不能见客户的同时写代码,但通过分配时间片,切分了任务,,表现出来好像是多个任务一起在执行
-
并行(parallelism)
关注同时执行
发现自己太忙了,时间分配不过来,于是请了工程师,产品经理,市场总监,各司其职,这时候多个任务可以同时执行了
并发(concurrency)关注任务切分
创业公司开始只有一个人,一人分饰多角,一会做产品规划,一会写代码,一会见客户
虽然不能见客户的同时写代码,但通过分配时间片,切分了任务,,表现出来好像是多个任务一起在执行
并行(parallelism)关注同时执行
发现自己太忙了,时间分配不过来,于是请了工程师,产品经理,市场总监,各司其职,这时候多个任务可以同时执行了
大牛,知道了很多 答案存在的地方以及发现这些地方的方法
优秀的程序员培训师懂得教方法而不仅是教答案
很多公司内部培训流于形式,大家听完后就知道这是个很牛b的技术,却不知道怎么令自己也牛b起来
HR就算懂上面的道理,但因知识领域的差异、从根本上没能力推动发展程序员的内部培训
HR能做的事是帮助管理者在 程序员心中培养技术为尊的意识,让他们有动力去自学并实践,并以公司内某位榜样为目标赶超他
HR无法有大作为,也令大多数公司很少重视培训
即使不培训也不会影响赚钱,工作效率的低下可以用加班来弥补
且项目做到一定程度就会更新换代、推倒重来,原本写得多烂的代码都成过眼云烟
老员工们都有自己的习惯,较难通过培训来改变,基本都需要有人经常提醒
实际中很多是因为负责人懒得写文档,或者文档很容易过时而懒得更新,不如口头说一遍算了
对技术培训的第一反应都是PPT式会议,最初级的培训
PPT最大意义在于做报告,内容凝练而简略,受众没法得到很多信息。但是这并不等于没用
PPT式会议和网上视频教程一样,帮助 零基础
的人快速入门(对这门知识几乎没接触过,但已有相近的知识)
例如已知C学C++或已知C++学Java,也就是说,至少不用在培训中解释何谓关键字或者面向对象
连相近知识也没有的人,应该叫 负基础
,他们会连PPT式会议都听不懂,还是得回归书本
书本不仅适合负基础的人,也适合高级读者。看书时有时间细想琢磨,有助于吸收
专家级则是阅读各种SDK和API文档
大神级的就是看各类源代码看出神的了
搜遍各种书籍和互联网都找不到的东西,才是真正有意义做培训的,多数跟本公司密切关联
例子 《iOS开发知识与能力体系 思维导图》,能说明问题,不做iOS的也能get√到
掌握技术知识需要花很多时间思考并经过实践,通过培训来达到目的的性价比很低,只有其中牵涉到工作业务的部分能带来实效
换句话说,“如何把技术应用到业务中”是公司内部培训要解决的核心问题,实现业务所需要的“技术”本身,应该边自学边实践
能让受众最大程度吸收的培训形式应该是手把手地教,这个贯穿在设计和编码过程中
实践过发现被培训的人确实能完整地吸收,而且时间长了他会有反馈并跟你讨论,你可能在讨论中反过来也学到东西
当然,这个很少发生在互联网公司里,大家都很忙碌
从发展历程看,内部培训就像是个牛人晒能力、懒人捡便宜的工具
然而,实际的情况连 “牛人晒能力” 都未必能达到。大家忙于业务攻关,根本就没有精力关注 “培训效率” 这个指标
培训本身有一套专门的知识体系,不是每个技术专家都可以成为好老师来高效传授知识,所以专业的培训公司才会有市场。如果内部培训不是由专职的人负责,那么它很可能就是个形式,参与的人鲜有收获
很少公司会设立专职的培训师岗位,因为公司的天生属性是雇人来赚钱而不是 “倒贴” 输出知识
团队里的人通常都专注于业务业绩,在这种环境里很容易思维受限,只有少数人可以做到自身成长超越团队成长
好的公司会安排外训,然后参与外训的人会把外部知识融入公司,从而成为内部的专家。这种情况大部分只发生在管理岗位,如果这位管理者无心带人,那么属下的小兵一直都只会是小兵。公司也不可能把培训师请到公司里养着,因为根据人员流动规律,通常半年才会用他一次
总之,不要指望公司把你培训成才。师傅领进门,修行靠个人!本文也只是指引大家看书的
Review 他的代码,毫无保留地指出所有错误和不良习惯
亲自示范怎么做出来的,在开始前让他注意观察,然后自己的动作慢一点
重构他的代码,让他自己对比好坏
指引他要看什么资料来提升自己
从较高的角度说明这样做的原因、思路、意义
老大说,你研究一下业内的地图 SDK 好吗?你做研究后会给老板回复什么?