只培养可交付的程序员

基于企业的用人标准,打造人才培养环境,创建IT人才培养新模式

高洛峰

发布时间:2020-05-18

企业需要什么样的Web开发人员

现在的企业用人的标准越来越高,以Web开发程序员为例, 在10年前还没有出现专业的前端开发岗位, 界面要求也简单, 都是后端程序员捎带手就把前端的工作给做了,会一些页面布局, 能完成增、删、改、查,就算是程序员能上岗工作了。 在5年前,用户对系统的体验要求高了,Web发展加速, 大量需要专业的前端开发岗位, 为了让前端交互体验更好, 对前端技术要求也就不仅仅是布局个页面,  而是将大量的业务转向前端去实现。而这时的后端技术要求也提高了,不仅要完成业务需求的编写, 也要实现高可用的程序架构。 而如今,一个系统并不局限有PC页面,随着手机普及和5G的到来,已经是移动互联网时代, 前端的移动页面、APP、公众号、小程序开发已经是企业建设Web系统信息化的标配。后端则演变为分布式、 面向服务的接口、虚拟化、容器化、前后端分离等程序架构设计。 所以10年前参加2个月的专业培训就可以去找工作了,5年前需要4个月学习才能上岗, 而现在没有半年的深度学习基本上是不能就业的。

另外,企业的开发岗位很少会引进新人,因为新人长时间不能进入开发状态,还要成手程序员分出精力来带, 培养期开发的质量也不行,好多代码需要别人再重新编写, 虽然入职的薪资不高, 但培养一个新手程序员的成本很高。 而且,新人一旦有能力干活,就会觉得和工资不匹配,选择跳槽,这种只培养没见到效益的事儿, 在企业已经很少发生了, 因为在招聘时就会挑选能创造价值的程序员。

现在的程序员都来自哪里

程序员的类型可以达到上千种, 如果按级别来区别,像CTO、架构师、创业公司的技术合伙人等, 可以从高级工程师中选拔,或从同类的行业中“挖”。这种高级开发人才咱先不讨论, 以基础岗位的Web程序员为例,首先想到的一定是大学计算机相关专业的毕业生。那些特殊的院校也先不提, 也以普遍情况为例,大学毕业生的技术很难找开发的工作,有这么几个原因, 首先大学的课程都是以基础为主, 什么方向的课程都会涉及一点,没有哪门课会超过50课时的, 而现在的程序员岗位需求,一个方向的技术没有500课时的学习量,是根本达不到企业的用人要求的。 更何况,大学的老师要么是老教授,工作那会儿可能还没有电脑呢,要么是留校的学生,都没有过实战经验, 自己都做不出像样的项目,怎么能教学生写好项目。 其次,技术更新特别快,好多计算机语言都是一年两三个版本的更新,而大学的课程几乎都是5年前的, 就算全学会,企业也不需要过时的技术。 再有,大学的学习状态你懂的,即使没有挂科,但能学到课程内容的十分之一的都不多。 所以普遍的大学毕业生,想直接去做开发工作很难。

另外, 企业不要新手程序员,拿着刚毕业的简历面试成功机会很渺茫。 而参加培训的毕业生,不仅学过全套技能,做过项目,又经过专业的就业指导,再包装上几年工作经验, 刚毕业的大学生就更没有机会了。 那么,程序员都来自哪里呢? 现在的程序员有80%都是通过参加培训走上程序员的岗位的, 只不过在求职时多数都抹去培训经历罢了。

如何能培养出合格程序员

首先要确定什么样的标准才算是合格程序员? 有人会说掌握全部开发技术就能工作,答案不完全对。 掌握开发技术只能说明会用工具了,是程序员的基本技能,也就算是符合一名程序员30%的标准。 学习编程语言和学习英语类似,语言只是工具,程序员则是使用工具工作。 例如,如果你掌握上万个英文单词,会用全部的英文语法,你就能写出很好的文章吗? 所以说会开发技术不等于就能开发出项目。那又有人说,会开发项目就符合程序员标准了, 当然也不全对,掌握了开发技术又可以开发项目算是符合一名程序员60%的标准。 写项目就像装修房子,5万元能装修完,同样50万元装修的效果看上去也差不多,但质量差别可就大了。 所以能做项目和能写好项目差别还是很大的,例如同一个模块新手来写可能用了100条代码, 但成手去写可能会用1000条代码,看上去功能一样,但100条代码不是在所有情况下运行都是稳定的, 而1000条代码会考虑到了所有用户操作的行为。 所以说,掌握全部开发技术,又能开发项目,还可以解决实际问题才算是合格程序员。 例如,能提高开发效率、可以提升系统的运行速度、安全性有保障、 系统扩展性强、可维护性高等问题能很好的解决就算是合格成程序员了。

所以,培养一个合格程序员的目标就是全套技术掌握、能做项目,最重要的是可以解决开发中的问题。 达到这样的培养目标不仅要有优秀的师资,更好有严格的管理。

  • 全套技术培养
    这是最容易学习的,只要是课程体系内容全面,能听明白,练习过几次, 就可以先放到一边,不要怕忘记,当然常用的需要记住。 只要学习时使用过,在开发时就可以借助工具和手册直接拿过来用即可。 当然,语言本身,只要前面学过后面基本上都会反复的使用,用多了也就记住了。
  • 做项目能力
    培养的方式就是多做项目,做质量高的项目、做大项目、做业务复杂的项目。 不仅在课程设置上要融入多个项目,更要浸入到项目组中体验项目开发流程, 并养成良好的项目开发规范,总结和使用优秀的开发思想,应用高效的算法和设计模式, 也要有团队合作的方法和精神。
  • 解决问题能力
    教学项目或是练习项目和实际上线应用的商业项目差别还是很大的, 教学项目是为了让你能掌握一个“点”,而真实的商业项目可以让你掌握一个“面”。 所以解决问题的能力,多数都是在真实的商业项目中锻炼出来的, 要经历客户不断修改需求,更要反复测试修改BUG,也要经历过高并发、大存储、数据安全处理等过程。

IT培训怎样才能做好

学员选择参加培训,不仅需要交一笔学费,还要准备生活费用,而且需要至少半年的时间, 目的就是可以学会技术,找到理想的工作。而作为培训机构,不仅是在创业,而是在做改变人一生命运的工作, 所以责任重大,一定要做有温度的企业。培训机构只有做好教学品质,才能培养出可交付给企业的程序员, 学员能有好就业,企业能找到合格的程序员,良性循环起来,积累好的口碑才能长期稳定的发展。 IT培训机构需要做到以下几点才能提高教育品质:

  • 1. 优秀的师资
    名师出高徒,特别是技术型讲师,不仅要有过硬的技术,还要有独特的授课技巧。 所谓的过硬技术,并不是学了很多技术就是高手,作为讲师的技术,一定要有过几十个项目的洗礼, 最少三家不同类型、不同规模的企业做过开发, 并且要有带过50人以上的开发团队经验, 做过中大型的项目,还有一点,在讲师的岗位上也不要脱离开发岗太久。 授课技巧就更重要了,技术好不一定能讲出来,能让学员学会才是关键, 不仅要让基础差的学员学会,也要让底子好的学员收获更大。所以授课技巧和授课经验是分不开的, 同样的课程只有讲过10遍以上,才能创造出独特的授课技巧,才算得上是优秀的讲师。
  • 2. 前沿的课程
    课程内容的设计关系到学员学习的程度、就业的方向和工作的效率,决定工作的能力。 但课程的内容并不是越多越好,而是越实用越好,要在有限的时间内让学员掌握工作需要的技能。 在很多培训机构的课程设置中,其实有一半的内容可能你在工作时一辈子也用不上, 任何一门技术要想全部学完,可能都需要两年,所以要挑出30%的内容放到课程中,要让学会这30%的技术, 就可以完成90%的工作。例如中国的汉字可能有10万个,全都掌握有那个必要吗? 只要会写几千个字对于大多数人来说可能就够用了。
  • 3. 浸入式的教学方式
    培养软件开发人才,最重要的是培养开发能力,注重开发思想的启发, 就像学语文一样,认字了,会用词组了,但不一定能写出好文章。 软件开发思想的启发一定是在软件开发中才能有所领悟。 如果培训机构是以软件公司为背景,可以安排进入真实的项目组,参与商业项目开发,在工作中学习, 这样的学习方法不仅可以加强技术本身的应用,更有利于启发开发人员的编程思想。 而在培训班里,也可以实施浸入式教学, 例如,在课程设计时,以完成5个不同类型、不同级别的项目为目标,按项目大小从小到大排列, 先讲项目需求、再从项目架构和模块功能上,提取知识点,学一点技术就完成项目中的一个功能, 当项目完成时,项目中用到的技术也就会用了,也掌握了项目开发流程,目标的5个不同级别项目都做完, 不仅可以掌握全部的开发技能,也就学会了如何去完成第6个项目。
  • 4. 完善的配套服务
    培训的本质也就是服务,IT培训有几点是培训机构忽略的,但也正是最应该重视的服务。 首先,要有一个月左右的免费试学期,这是很多培训机构不敢做的, 这一个月的时间,学员完全可以证实自己是否适合做开发,对编程不感兴趣的学员,也不要强留,留下也培养不出来, 干嘛还要耽误学员的时间呢。 其次,要有一个完善的学习系统,给学员提供全套的学习资料,这是很多培训机构不具备的, 使用系统才能让学员的成长记录留痕,观察和督促学习资源的使用情况,也可以时实更新资料版本。 再有,IT培训一定要给到学员足够的项目,10个以上最好,这是很多培训机构做不到的。 因为项目并不是找几个开源的给个源码,而是要让学员项目上线, 掌握项目的架构,可以进行二次开发,学员会用才能变成自己的项目。
  • 5. 严格的管理
    良好的学习氛围也是培训的关键,除了引导、激励等方法建立学习氛围,严格的管理更是最重要的手段, 不要把学员当作客户,一定要严格要求, 在纪律上要求不做和学习无关的事情,必须杜绝迟到早退、旷课、上课睡觉、打游戏、玩手机等情况, 要培养学习的习惯。在学习上必须严格要求学员完成作业、记录学习笔记、完成相关的练习等。
  • 6. 优质的就业
    培训的结果就是就业, 不仅能就业,还要快速就业。不仅要快速就业,还要高薪就业。 所以在就业期一定要进行简历指导,讲解面试题和面试技巧外,还要进行模拟面试,以及和更多的人才合作企业建立合作关系。

我们都做了哪些准备

EduWork(融职)在三年前开始筹备,目标是做到行业最优的教学品质。 EduWork根据十多年IT行业培训的经验总结,确定建立“在工作中学习, 在学习中工作”这种高质量的程序员培养模式,将学习融入到职业中。

  • 1. 2016年开始成立科技公司【智校云】,现在不仅有一支优秀的开发团队, 更是积累了几十个优质的原创商业项目。能为EduWork提供优秀的教学项目和学习资源, 以及强大的师资供给,同时也为浸入式培训模式提供实习和工作岗位。 让学员在工作中成长,能写出百分之百还原的页面,设计出可靠的项目架构,能协作开发完成大型商业项目, 能体会客户的无理要求,能独立负责项目管理等。
  • 2. 2018年联合业内大牛创办【学习猿地】IT精品学习网,为EduWork培养师资、 整理教学资源,最主要的为培训建立强大的学习系统,能为学员提供全方位的教学服务。
  • 3. 2020年初开始,优化人才培养模式,设计、验证和反复迭代课程体系,从技术总监中培养和挖掘优秀讲师。