前言

  • 文中的培训均指代内部技术培训
  • 本文是对《如何优化程序员的内部培训》的补充,但不需要前置阅读,可以读完本文再回过头来看看。http://blog.csdn.net/hursing/article/details/50147549
  • 例子是针对iOS、Android客户端开发的,但不影响前后端的同学理解。

培训的发展过程

培训的内容是技术知识,要了解培训的发展,首先要知道技术的发展。技术从无到有再到成为热门,相关的知识也需要不断积累的过程,这个过程会滞后于技术本身。可以认为,技术需要时间被认可、打磨和消化,然后才更好地被表达和传授。

技术成熟度有个曲线,相关的“培训成熟度”曲线则是在x轴右向平移半年。

换个角度看,亲身经历技术成熟度最高峰的人,它的知识体系是最完善的。在趋势开始向下时,通常伴随着人才转岗或跳槽,最有价值的知识也随之流失。

所以,行内人都会感受到技术在“成熟度上升期”是最“好玩”的。牛叉的技术可以带来优质的体验,好的体验吸引更多用户,用户规模引发的赚钱效应驱动更多资本和人力投入,投入带来经验总结,总结产出文档书籍,优秀的文稿成就业内专家。还有赚钱多的领头企业产生名人,名人的话语成为风向标,风口内汇聚更多人才。这些正向循环引发了技术大爆炸和革新。

可惜的是,多数新技术都不是中国先发明和流行起来的。这让培训产业也在中国有着特殊的形式。

一项技术培训在中国发展历程:

  1. 最开始的时候,每个人都是新手,全是半路出家,巴不得有人教你带你。Google是唯一救星,百度毫无用处。
  2. 懂得看书,然而有用的,还是英文版的多
  3. 英文好的人更快掌握新技术,开始崭露头角并做分享。英文差的人趋之若鹜,不管是否能听懂。百度开始出现有用的结果。
  4. 书籍都只是入门,不可能把你锻炼成专家。先头部队懂得直接看官方文档,这批人有的自己做翻译,翻译出来的东西随便一甩都能做培训,他们也就成了专家
  5. 翻译的东西多了,更多人用自己的话语来描述,有了主见,至此非翻译版的中文书籍增多,入门门槛降低。随着网络带宽提升,网上视频教学兴起。
  6. 能百度到的用中文说明的解决方案越来越多,更多人不再主动看官方文档,依赖于被动接触API来熟知SDK。除非是Google不到的东西,否则没人有兴趣做分享。
  7. 团队人数越来越多,每个人会专注于特定的领域,也没空去关注别的东西,于是视野和思维越来越受限。零散的知识无法贯通,这就再难以产生专家。
  8. 公司开始把培训委托外包,然而外部培训人员的能力也是参差不齐。
  9. 技术开始没落被淘汰,团队解散,风光一时的技术被尘封,当年的激情成为老一代人独有的辛酸回忆。如塞班、WinPhone。

某司内部的培训形式发展:

  1. 打印官方的英文入门文档,自己慢慢看。还有外国人写的入门PPT
  2. 项目结项期间的分享,每个人说说自己学到的东西
  3. 做PPT,在内部分享
  4. 鼓励写文档,详细地总结;邮件发送,IM群里讨论
  5. 学习成长系统,自选课题和导师,季末做总结和考核
  6. 分享培训成为KPI的一部分,必须在论坛或者文档学习系统里达成指定数量的分享
  7. 分享之星评比,有金钱奖励
  8. 职级评价体系中,高等级加入社会影响力,对外需有名声
  9. 请外部培训
  10. 关注技术影响力,内部分享成了晒业绩的工具

iOS和Android现在已经很多资料文档可查,和早期自己挖掘的时代已不同,这也导致后来加入的人,能力差一截。公司人数和业务快速发展,同为做iOS、Android的人也必须分开组,可以是每个组做不同项目,也可能是多个组做同一个项目的不同模块。更细的分工能成就小领域里的专家,但难产生具有大视野的人。

培训

缺陷

从发展历程看,内部培训就像是个牛人晒能力、懒人捡便宜的工具。然而,实际的情况连“牛人晒能力”都未必能达到。大家忙于业务攻关,根本就没有精力关注“培训效率”这个指标。培训本身有一套专门的知识体系,不是每个技术专家都可以成为好老师来高效传授知识,所以专业的培训公司才会有市场。如果内部培训不是由专职的人负责,那么它很可能就是个形式,参与的人鲜有收获。

很少公司会设立专职的培训师岗位,因为公司的天生属性是雇人来赚钱而不是“倒贴”输出知识。团队里的人通常都专注于业务业绩,在这种环境里很容易思维受限,只有少数人可以做到自身成长超越团队成长。好的公司会安排外训,然后参与外训的人会把外部知识融入公司,从而成为内部的专家。这种情况大部分只发生在管理岗位,如果这位管理者无心带人,那么属下的小兵一直都只会是小兵。公司也不可能把培训师请到公司里养着,因为根据人员流动规律,通常半年才会用他一次。

总之,不要指望公司把你培训成才。师傅领进门,修行靠个人!本文也只是指引大家看书的。

听者要有心

那培训是否一无是处?肯定不是。但它产生的价值是在于“言者无意,听者有心”。一场1小时的会议形式培训,真正对听众有用的信息可能1分钟就能讲完。这1分钟的信息如何被听众利用才是重点。举一反三、联想类比,这是听众必须做的事情。培训中直接传授的知识可能毫无用处,但引发的思考才是值得花费时间参加培训的东西。

(拿技术来举例就太具体了,)举个非技术的例子,如果你所在上市公司高管在内部说“我们正在努力提高利润率”,那么你可以思考“以后的财报肯定会很漂亮,股价会涨,即使不加仓也至少可以坚定持有本公司的股票”;但高管从来没直接说过这些话。再来个段子,《教你如何用一块钱赚到10亿》,都是一块钱,怎样才能钱生钱真的得看个人。

在使用的技术成熟度高的团队培训中,分享知识信息是最主要的目的。然而这些信息可能短期用不上,过一段时间就忘了。这样的培训,听众就像是在看新闻,跟我们平常在朋友圈看的行业资讯没什么两样。这就需要我们会做笔记,并对笔记做一定的分类整理,定期回顾,让它们成为自己记忆的一部分。

听众要会提问。讲师其实很喜欢被问Good Question,那其实是提醒讲师还有什么重要的信息没传授给大家。同时,观众问问题也是帮讲师刷存在感。只要问的问题不低级,讲师是很乐意回答的。

形式

  • 文档。针对某个主题的描述,在此主题上的知识深度大于书籍。要区别于笔记,笔记是给自己看的,文档是给别人看的。
  • 书籍。大部分是宏观和基础的知识,供入门用。少数书名中带有“实战”的,和文档的性质差不多。
  • PPT。如果是专业的PPT,那它在会后就不再有用。PPT如果写成文档那么详细,那就不能成为一场培训会议的引导物。
  • 会议或上课。上过大学的你,有认真听过几节课?能考过还是靠笔记和书。
  • 视频。最接近手把手教的形式,但看不到操作键盘——快捷键和手速。
  • 训练营或实战型的比赛。因为时间成本高,所以很少用这种方式,但收获最大。
  • 手把手教。最能保证知识传递到位的方式。(参看下一节)

会议的作用,在于大家知道有这个东西;文档的作用,在于知道这个东西怎么用。这两种最常见的形式,对受众来说都像是看新闻。真正能让人快点独当一面的方法,都是只有手把手教。

该怎么做

  • 成熟的技术,给一个书单,慢慢去研读吸收
  • 不成熟的技术,看官方文档(看Guide、Training、Tutorial,不是Reference)
  • 有深度的,写成文档
  • 实战技巧类的现场演练
  • 手把手教
    • Review他的代码,毫无保留地指出所有错误和不良习惯
    • 亲自示范怎么做出来的,在开始前让他注意观察,然后自己的动作慢一点
    • 重构他的代码,让他自己对比好坏
    • 指引他要看什么资料来提升自己
    • 从较高的角度说明这样做的原因、思路、意义。“授人以鱼,不如授之以渔,授人以鱼只救一时之急,授人以渔则可解一生之需。”

“如何做到都是干货”是个具体团队具体分析的问题,不妨一起讨论下吧!

技能的构成

不仅仅是知识

  • 理论知识
  • 编程实现
  • 设计:逻辑、架构
  • 动手,附属工具的使用,IDE、硬件
  • 辅助工具的使用
  • 迅速找答案的能力:相关领域的术语,懂得用什么keyword能google到答案,或者说怎样问问题能得到最有针对性的回答。
  • 已有的轮子
  • 这个圈子内的朋友
  • 业界,舆论
  • 自己如何“安置”以上的信息,要懂整理、总结

这书我没看过,目录中的话题值得大家思考。《程序员思维修炼》http://product.dangdang.com/23617275.html

你能想到怎么自动化刷王者荣耀金币吗?利用adb,只需要写一个20行左右的shell脚本。如果你想不出来,得问问自己是否真的很熟悉Android了。

如何提高工作效率

  • 英语很重要。说自己学不好的都是借口,只是不愿意投入时间精力。
  • 管理者的视野,先做最需要做的事
  • 国外公司的经验,Facebook,Google,Apple,可看看回国工程师写的书
  • 把官方文档都看完。官方文档的章节安排,也正是看待程序架构的借鉴。
  • 懂得做笔记,隔一段时间再将遇到同样的状况,能更迅速找到背景知识和解决方案

跨领域

只把一个领域的东西精研下去,那就一辈子都是程序员,做不了架构师,更谈不上CTO。不想当老板的程序员,除了Geek就是S**t。

  1. 从一个模块到多个模块,到整个app,再到不同形态的app
  2. 从一个端到多个端:客户端、服务器端、HTML5
  3. 从一个职能到多个职能:产品经理、测试、设计师、项目经理、运营、商务
  4. 从低层到高层:老板思维
  5. 了解创业过程和企业的发展路径

必须有自我驱动的能力才能持续学习,不当技术是赚钱工具,而是乐趣。要能得到跟打LOL、王者荣耀一样的成就感。

这是跨领域工作的示例,你能在总结中理解得更深刻:
- 《开发的知识一览》
http://blog.csdn.net/hursing/article/details/52586541
- 《跨平台知识一览》
http://blog.csdn.net/hursing/article/details/45603483

职场技能与素质

软技能:

  1. 沟通能力
  2. 表达能力
  3. 语言组织能力
  4. 组织能力
  5. 逻辑思维能力
  6. 创新能力
  7. 领导能力
  8. 团队协作能力
  9. 说服能力
  10. 战略思维能力
  11. 抗压能力

这书我没看过,目录中的话题值得大家思考。《软技能 代码之外的生存指南》http://product.dangdang.com/24000917.html

怎样才算是会沟通?

  • 答是所问
  • 言简意赅
  • 突出重点
  • 言辞有礼
  • 指出别人错误时,懂得对事不对人,能让人平缓地接受
  • 复述别人的话做总结,确认正误
  • 情商:注意自己和他人的情绪与反应
  • https://zhidao.baidu.com/question/1923934742436937347.html

素质培养

  • 思考如何变得更好,而不是推卸责任
  • 多读好书
  • 敢于承认错误
  • 学习CEO的视野,大局观
  • 参加杂志、朋友圈,业内专家的微信群
  • 商业到技术映射能力
  • 有能力有自信的人,敢于向主管说NO

这本书我看过,可能不太匹配国内的情况,但足够引发很多思考。《程序员的职业素养》https://book.douban.com/subject/11614538/

时间管理

  • 市面上的讲时间管理的书籍都不适用于一线(基层)员工的,具有管理职能的人才应该看。
  • 对一线员工来说
    • 日历/日程软件就是唯一需要的帮手,这包括PC和手机上的app哦。
    • 可以尝试跟别人说,哪个时间段不要找你,你这段时间都专心做事
    • 上班时间不够用不是应该去学时间管理,而是要想怎样提高工作效率
    • 人和人的差异在于下班时间怎么利用,是玩乐还是学习
    • 学习也是要讲效率的,选择好的时间、环境来学习
    • 年轻的时候应该尽量拼搏,但这不等于要过劳
    • 身体是革命的本钱,学技术的同时要学健康,平时多锻炼。要懂生活小常识、日用医学、养生保健等

个人成长

怎样才算独当一面

  • http://www.xinli001.com/info/100358389
  • 能力的差异在于能考虑得多周全
  • 高级人才的能力差异在于视野,从技术到公司到行业到业界。

先来看个故事:

两个年轻人和土豆 —— 在英格兰的一家餐馆里,老板同时雇佣了两个相同年龄、相同学历的年轻人,并且他们都拿一样的薪水。过了半年,叫阿诺德的小伙子得到了老板的嘉奖,加了薪。而叫布鲁诺的小伙子却还在原地踏步。布鲁诺很不满意老板的做法,他到老板那里发了一通牢骚。老板一边耐心地听他抱怨,一边思量着怎样消除布鲁诺的抱怨。“布鲁诺,你现在到集市上去,看一下今天早上有什么卖的,好吗?”老板开了口。 布鲁诺很快从集市上回来,向老板汇报说:“今天集市上只有一个农民拉了一车土豆在卖。” “有多少土豆呢?”老板问。 布鲁诺马上跑到集市上去,然后回来告诉老板,一共有40袋土豆。“价格是多少呢?”老板又问。 于是,布鲁诺第三次跑到集市上,询问了价格。“好吧,现在你坐到这把椅子上,一句话也不要说,让我们看看别人是怎么做的。”老板说。老板把同样的任务交给了阿诺德。他也很快从集市上回来了。
阿诺德向老板汇报说:“到现在为止,只有一个农商在卖土豆,一共40袋,批发价是每袋1英镑,土豆很新鲜,我带回来了一个样品,您可以看看。另外,这个农商明天还会弄来3箱西红柿,据我了解,昨天他运来2箱西红柿,卖的很快,价格也便宜。考虑到我们的库存不多,这么便宜的西红柿,我想老板您或许想进一些作为存货,所以我把这个农商请来了,他现在正在门外等着您的回话,老板。” 老板这时回头笑着对布鲁诺说:“现在你肯定知道为何阿诺德的薪水比你高了吧?加油吧小伙子”

如果凡事都要老板详细地告诉你做什么,说明你还不够成熟。要站在老板的角度思考问题,这就是老板认可的独当一面。

有没有人想过这个故事移植到程序员工作中的版本?老大招聘来两个同等条件的年轻人,一年后,一个升了高级工程师,一个还是低级。低级很不忿,来找老大抱怨。老大说,你研究一下业内的地图SDK好吗?你做研究后会给老板回复什么?

  • 业内有哪些sdk
  • sdk之间的功能和特点差异,优劣,是否定位准确
  • demo接入,看使用情况,性能,包size,稳定性,耗电
  • 安全性、权限要求,sdk会不会偷偷做事情
  • 成熟的客户,哪些app在用这些sdk,体验如何
  • 是否开源,开源的能自己参考再做吗
  • 从我们的实际出发,哪个是最好的选择
  • 跟业内的人交流
  • 接入后可以用来扩展什么业务。
  • 接入成本,是否收费,商业化程度,是否限制流量、IP、次数,是否要换量……
  • 工作量评估,人力,维护,sdk的升级频率……
  • 可能的收益。提升日活多少?从而能赚多少钱?

职业规划

这书我没看过,目录中的话题值得大家思考。《程序员必读的职业规划书》http://product.dangdang.com/23685308.html

选择也就4种:

  • 技术线
  • 管理线
  • 转职能
  • 转行、创业

无论哪条路,都得努力才能晋升。没视野,一辈子就是小兵。要看得远,也要看得广。

规划只是个人选择,没有对错之分

  • 选择平庸,那得配上不羡慕他人的心态
  • 选择奋斗,首先要和同样的人为伍
  • 工作和生活的平衡在于符合性格而不是需要。是工作狂就多赚钱养家,让家人过得更滋润。

时刻了解自己在市场中的价值

  • 更新简历,看知名公司的招聘岗位描述,跟猎头做交流。
  • 或者跟我做做交流,微信号是hursing哦。
  • 看看业界新闻,当前领域内的新技术,自己掌握多少

提升自己的竞争力

  • 买书的投入收益率是百分之几千,它们帮你带来的加薪幅度和年终奖远远超过买书的钱,无论炒股还是炒房都没有这个收益率,更没有这么安全。
  • 自费参加外部培训、大会
  • 懂得自我营销。写博客,当讲师,运营公众号……

程序员内部培训与个人发展杂谈相关推荐

  1. CSDN日报20170731——《程序员内部培训与个人发展杂谈》

    程序人生 | 程序员内部培训与个人发展杂谈 作者:hursing 牛叉的技术可以带来优质的体验,好的体验吸引更多用户,用户规模引发的赚钱效应驱动更多资本和人力投入,投入带来经验总结,总结产出文档书籍, ...

  2. 好程序员云计算培训分享云计算中微服务是什么?

    好程序员云计算培训分享云计算中微服务是什么?微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调.互相配合,为用户提供最终价值.每个服务运行在其独立的进程中,服务和服务之 ...

  3. 程序员终身发展规划---应对中国软件发展的大环境要求

    程序员终身发展规划---应对中国软件发展的大环境要求 海码程序员俱乐部: 1.定期的职业咨询. 2.定期的免费培训. 3.定期的学术研讨会. 4.开放.每个人要有研究方向. 5.第一年要做什么?第二年 ...

  4. java 保留html_好程序员Java培训分享Java包是什么?

    好程序员Java培训分享Java包是什么?在Java中的包是一种封装一组类.子包和接口的机制,可用于组织一组相关的类和接口.从概念上讲,我们可以将包视为类似与计算机上的不同文件夹:可以将HTML页面保 ...

  5. 好程序员云计算培训分享学了云计算将来就业怎么样?

    好程序员云计算培训分享学了云计算将来就业怎么样?云计算是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源. 它让你体验每秒10万亿次的运算能力,拥有强 ...

  6. 黑马程序员前端培训深圳首期班火爆开班

    黑马程序员在北京开设前端学科以来,其火爆程度远远超出了预期.面对市场的强烈需求,黑马程序员前端学院历时三年研发的大前端课程火爆登陆深圳,受到广大学员的热烈追捧,于2016年8月8日正式在深圳校区开班, ...

  7. 好程序员Java培训分享Java初学者必读

    好程序员Java培训分享Java初学者必读,近年来各种各样的编程语言不断崛起,但唯有Java是牢牢占据着老大的位置,目前几乎90%以上的大中型互联网应用系统在服务器端开发首选Java.因此,也是吸引了 ...

  8. 好程序员web培训简述web前端开发工具有哪些

    好程序员web培训简述web前端开发工具有哪些,随着互联网技术的发展,用户对于web网页的依赖性越来越重,这对于web前端开发工程师的要求也在不断提高.作为开发者来说,开发工作需要依赖很多开发工具的协 ...

  9. 好程序员Python培训分享Traceback具体使用方法

    好程序员Python培训分享Traceback具体使用方法详解,首先在之前做Java的时候,异常对象默认就包含stacktrace相关的信息,通过异常对象的相关方法printStackTrace()和 ...

  10. css点击a标签显示下划线_好程序员HTML5培训教程-html和css基础知识

    好程序员HTML5培训教程-html和css基础知识,Html是超文本标记语言(英语全称:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言. Css ...

最新文章

  1. 吐血整理:24种可视化图表优缺点对比,一图看懂!
  2. 软件工程与项目管理的关系_PM:软件项目管理概要
  3. python祝福祖国代码_国庆节踩空间留言代码_国庆节祝福正在加载中
  4. 微软开源 rDSN 分布式系统开发框架
  5. 发那科pmc编程手册_如何学习FANUC PMC功能指令
  6. pom.xml配置详解
  7. mysql十万条数据_2秒内向数据库中插入十万条数据?
  8. 【滤波器】基于matlab平方根升余弦滤波器【含Matlab源码 994期】
  9. C空间不够如何盘瘦身
  10. 如何巧妙应对压力面试
  11. Android GPS开发总结
  12. 2. java压缩tar文件
  13. 基本农田卫星地图查询_别被迷惑了,你手机上的北斗导航App和北斗卫星导航没关系...
  14. 朱林朝 浙江大学 计算机,附件: - 浙江大学教育基金会.doc
  15. CTF-命令执行漏洞
  16. python打包成可执行文件_将Python文件打包成.EXE可执行文件的方法
  17. 翻译工具包:txt文件专场(一)
  18. 了解指纹锁方案技术特点和优点——西城微科
  19. 我的机器学习主线「优化算法」
  20. Linux下编写ENC28J60网卡驱动,完善网络设备框架

热门文章

  1. 国内首款、完全自主、基于云架构的三维CAD平台——CrownCAD(皇冠CAD)
  2. 学渣考深大计算机,江苏科技大学又出学霸宿舍,6名同学全部考上研究生
  3. matlab实现转换音频格式文件,mp3到wav的转换
  4. c语言文件操作可重入,C语言试题
  5. js移除某个样式_JS removeAttribute()方法:删除元素的某个属性
  6. 小知识 定位测绘领域中全站仪/接收机RTK精度1cm+1ppm的含义
  7. 固态硬盘打开计算机就死机,SSD死机卡顿怎么办 固态硬盘使用详解
  8. 如何合并两个excel表格数据
  9. H.264媒体流AnnexB和AVCC格式分析 及 FFmpeg解析mp4的H.264码流方法
  10. 国内外游戏运营模式区别