最近,发现公司招聘,总是招聘不到合适的人,但是招聘进来的人,基本都当什么都不会的人来使用,培训些无聊的基础技术(怎么使用原始的框架-只要是个开发人员,谁都会,用你说吗?),或者就是让改BUG,代码结构以及代码中一些共有的流程控制或者共有的基础代码都不说,导致后面的人重写写或者直接忽略导致BUG出现而没能发现,这些问题是谁的错?花时间纠结这些问题就没什么意义或者Copy代码,完全浪费时间。其次都不给你培训业务,都是边改边了解业务,看见一些在公司好久的员工,尽然问一些业务方面的名称也是迷迷糊糊的,他们仅仅关注技术实现,但是针对目前大多数的软件公司,做企业定制的,不是面向互联网的企业,不是针对做一些开发平台或者数据交换或者BPM产品的公司来说,技术方面没什么难度,要是说有难度的话就是对系统代码的抽象和封装,而不是采取最为原始的代码编写规则,但是这对开发人员的要求可能比从事互联网的要求还高,面向对象这东西使用好,不是件容易的事,尤其在构建自己业务平台基础架构上的封装。
招聘进来的员工,尽量在技术上,讲些产品的架构,使用的技术,数据如何流动以及业务流程,数据库。看见有些公司一进来就让员工看代码,其实没什么意义。而在业务上,先讲解一下业务名词,产品的菜单以及各个模块的作用以及与其他模块的关系,有什么意义,是为了什么作用,而不是界面都不说就开始讲表结构。
数据库表结构,有些公司就让员工自己看,个人认为表结构的讲解要结合系统菜单以及操作界面来讲解,而不是念一遍表结构的字段,字段是干什么用,为什么要有这个字段才是最重要的。其次就是表之间的联系,尽量讲解基础表,业务表,而对一些汇总表,大致一体就行,而对业务表必须结合流程操作讲解,这样一方面帮助员工熟悉表结构一方面加深业务流程以及数据流向,这样员工也比较容易上手,参与项目开发,提高员工的积极性(干活也快)
对于开发的产品,起码开发者自己的知道是干什么用的,给谁用的,有什么作用呀,数据来源与什么地方............大概了解一下,对于自己开发的模块,业务必须清楚,
==============================================================================================
看见一些会培训的公司的做法:
1.介绍系统以及客户,系统的作用,系统的界面大致浏览
2.介绍名词(不仅仅是解释一下,要展开说在实际的业务场景下的作用)
3.介绍系统的操作流程以及数据流向
4.介绍使用的技术,解释配置文件以及目录结构,各个目录是干什么用的(配置文件讲解,方便人员构建正确的环境,不要因为这浪费时间)
5.介绍一些系统公用的东西以及系统默认的一些处理机制(比如拦截器,前台的初始化数据以及初始化流程)---这个很重要(否则导致人员出错或者破坏代码结构)
6.有时间的话尽量讲解系统各个菜单的作用以及操作以及名词作用是什么,为什么要这样做)(发现有些公司不讲这些东西,就知道CRUD,可不知道这些操作对其他页面的作用是什么,是业务操作呀还是无关紧要的基础数据操作(不是什么业务数据),对后续的那些操作有影响)----看见程序有时候出错就是操作顺序不正确。
7.就是代码怎么写,如果使用公司自己的框架,讲讲如何用,好好讲讲配置文件,之后以例子进行说明,走一边流程(遇见过之前的一家公司,自己的框架,写法很简单,但是代码中有些拦截机制,初始化加载有些文件的作用,不了解配置可能出错浪费),个人认为配置开发是最麻烦的对于一个新手来说,讲不好配置流程,出错严重浪费有效时间。
个人认为,第6条最重要,一个新员工必须了解的地方而不是什么技术(要说技术就是面向对象),而一些新技术,不了解场景,没什么用,一些公司用也仅仅是HelloWorld的使用,使用很简单(基本场景使用而不是比较深入的二次封装)
第7条,好多家公司都是怎么用,至于原理其实对于新员工应该讲解,你讲解的好,只要是你招聘进来的,基本就是合格的人,人间就听懂50%作用就行,毕竟框架的原理说起来容易,自己实现不是容易的事。而不是把员工当傻子一样的使用。