如何从垃圾变为有尊严有职业水准的程序员

Posted 正在战斗中

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从垃圾变为有尊严有职业水准的程序员相关的知识,希望对你有一定的参考价值。

  我这里要说的主要是基于个人这几年的一些感受!

  在工作的前20年,我一直以为程序员都是勤勤恳恳,颇有对于技术的爱好!

  我也不必为自己讳言,我是一个对技术抱有爱好,但不算勤奋,很普通的一个人。

  但至少,我对于技术保持着好奇心和求知欲!关于求知欲,我觉得这是做技术人所应该持有的最基本的态度!

  

  然而当我离开故地,来到上海的时候,才发现错的有点离谱。于此,我也对于行业,对于社会,对于国人有了更深入的认识!

 

  由于我的工作性质和以前有所不同,所以我需要负责招聘和管理程序员,而不是仅仅写写代码而已!

  从我这几年的找人、用人经历,我总结几点:

  1)  新人糟糕的不少

  2)有些人糟糕的表现能够突破下限,无论是为人还是技术

 

   有的读者可能认为我太偏激了,或者认为我公司是不是太差。

   这么说吧,我自认是一个正常的中国人,性情也温和。至于公司,成立将近20年,规模一般般,大概百来号人,算是小微企业,待遇一般般,但也算正规!

 

  下面我就一一展开:从情况到原因、解决途径!

 

   一、我们一眼看到的不是沙子,而是失望

   我们这一代人对人失望的时候,通常喜欢用这么两句话:朽木不可雕,烂泥扶不上墙。

   那么标准是什么?我们那一代人的是(至少我是那么认为的):

   1)对自己不负责-既不认真,也不努力。

   2)没有自知之明

   3)  屡教不改

  

    为了便于读者的理解,我这里就说几件事情。

     我一直以为我们现在的教育不是很好(不算很好,但也过得去),但是我没有想到最近5~7年之内的教育是那么的不好。

     头一两年招聘的时候,我们笔试比较少,更多的是面试。但是招聘了一批人之后,我就发现了巨大的问题:想象和现实之间存在这鸿沟。

     我不并仅仅为自己部门招聘人员,也为其它部门(这里是交付)招聘人员。人员基本要求:熟悉java开发、会一些web开发。

     由于公司的政策,相当多的新员工是来自于专科和三本学校(大部分是民办),公司认为实施工程师不需要那么好的。

     假设某个张三是交付部门的新员工,我会发现以下情况之一或者好几点:

     不熟悉计算机的基本概念。不熟悉到什么程度? 完全突破下限

  •  分不清楚内存和磁盘,把磁盘称为内存
  •  基本没有网络知识,仅限于会用手机上网。不会配置网卡,也说不清楚iso七层协议是啥东西
  •  操作系统不熟悉,不懂cmd,不懂很多快捷键,连360,腾讯管家之类的也用不清楚

 

     专业技能极差

  •   sql写不清楚,仅限于select * from xxx where xxx. 稍微复杂一些的就不会了
  •   有的连递归排序算法也写不清楚
  •   让他安装或者学习一个新的技能,简直能要他的命,经常得到的回复是:我不会,我不懂! (  卧槽,不会不懂? 不会去百度,去学习,难道我是你老师,是培训学校?)
  •   只会最简单的crud,可惜crud也搞不太清楚,因为有些规范他们还不怎么关注

      习惯极差 

  •   从不做笔记?把自己当张松了。也可能不知道有做笔记这种事情,在学校没有学会,也没有养成习惯!
  •   不懂得收藏地址和收集问题

      

       控制力和上进心极差

  •  上班喜欢磨洋工。为什么宝贵的时间不用于工作学习,而用于一些无聊的事情上?好像他的表现都是为了公司,而不是为了个人。 似乎多摸鱼一些,他能够赚到一样。

                  这种幼稚的摸鱼表现的副作用:

    • 拖累个人表现
    • 降低企业效益
    • 最重要的是,浪费自己的生命,因为工作也可以学习到许多知识
    • 一个喜欢摸鱼的人,不会得到团队和公司的认可。企业不会给这种人机会。
    • 如果离职了,那么不会得到推荐的机会,因为口碑!
  •  个人时间(网上、周末)大部分时间都是在玩游戏,这个从个人的朋友圈等处就可以看到
  •   周末不懂得提升自己,总是游戏或者死宅!

       这种堕落的表现是要严厉批评的。不过,如果有人自甘堕落,并且颇为心安理得,自得其乐,我们也不能限制这种“自由”。

 

        毫无责任心

  •  已经那么烂了,能使有责任心吗?对自己都毫不负责
  •  工作没有做完,总是准点下班,从不考虑下班的时候思考如何解决或者着手解决

       当然也不是一直都那么烂,进步也有,但一般不如意。

       我认为,可能部分的高中生的表现都比他们好,至少那些高中生勤奋、认真。

       我被震惊、甚至愤怒!这些人的表现,突破了某些下限!

 

       这样的人在我的公司还有一点规模,而我由于各种原因,  必须坚持改善这种情况。

       好的一面是,我们的情况在改善之中;其次我下属的团队这样的人比较少;我们之中也有具有专业精神的人。

 

      为什么这些20出头的技术人,都那么烂。。。? 

      公司问题和管理问题,是另外一回事,我不做过多的讨论(虽然这里占据很大一个责任)。我认为更主要是。。。

 

      二、我们的教育和社会存在重大的问题

 

      一直以来,我认为作为一个毕业生,最基本应该掌握:

      1.计算机基本知识,包括计算机结构、简单算法、基本网络知识,基本硬件知识、对windows或者linux熟悉(毕竟这批人很多从小用电脑);用得清楚开发工具

      2.具有基本的学习和工作习惯。对于社会和职场至少应该有一些非常基础的认识

      3.作为一个成人,应该懂得自律,不能再沉迷于游戏,懂得为自己着想

      4.有基本的责任感,对自己负责,对工作负责

      5.最重要一点,作为技术人,应该保持对技术的热爱!

    

      对于这些人,我的看法是:

  •   大部分是废品,好的也有,但较少
  •   就算有品行良好的,上限也是堪忧

       虽然,不需要这些新同事做复杂的活,但是培养这些人也是非常费劲事情,如果你有当过老师或者当过父母就知道了。

       有的读者,看到这里,认为我是歧视,其实不是,我只是陈述了令一些人不愉快的事实!

       对于那些有良好品性的人,我永远喜爱并尊重他们,那怕他的学历真的很糟糕

 

      这些员工有价值吗?很小。以后也没有价值吗? 未必,关建看他们自己的改变。

 

       那么这些人为什么会变为那样的人?  因为他们大部分来自糟糕的学校;因为他们自身的能力有限

       这些学校为什么糟糕了,因为这些学校没有对学生真正负责人。由于我们教育的习惯,这些人很多到了大学之后完全放飞自我,而大学的老师不怎么对这些学生负责任。

或者说,这些学校,这些教师,大部分完全不具有教书育人的基本素养-他们缺乏仁心、缺乏许多教育者的基本素养。

      何以这些大学和他们的教师会变成那样? 体制负有较大的责任。注意并非说社会制度的问题。

      首先大部分的教育领导热衷的是一时的名利,并不会考虑长远,他们更在乎硬件条件,还有一些虚假的指标。其次这些领导的素质比较低下,他们的能力比较有限,当他们把精力放在教学之外的时候,对于

教育本体就没有那么多精力和能力进行了。更不用说,有些领导根本是心术不正,甚至可以说其心可诛!

      这个世界有又坏又有真本事的人,而大部分的这些学校领导属于坏而本事有限的人。

      那么这种情况怎么破解了?问题比较复杂,我觉得不适合说太多,因为一时也说不清楚。

 

     学校糟糕是一个方面,但是话说回来,不是还有其它原因吗?

     1.不知道求人不如求己!

     2.作为一个成人没有对自己负责。一个人不对自己负责,没有前途可言!

     3.子不教,父之过

     相当多的90后严重缺乏家庭教育和社会教育,而后者是更加严重的。

     我所认为的社会教育,指的是大家族、所在居住地对于人的教育。

     由于社会的剧变,物质生活好了,但是国家付出的代价是非常巨大。在某些方面,我甚至认为得不偿失,我一直这么认为。

     我们要发展生产,主要是为了吃饱,让国力强大。但为了一代人而放弃另外一代人,是不是有点过了?

     为了发展生产,我们的社会变得比较缺乏人性,年轻人没有教他们基本的礼仪,生存之道。而一些不良团体和风气对于这些年轻人的三观起到了破坏性的作用。

     他们的家庭,他们的社会环境没有教育他们基本的道理:为人处世,先在于做人。做人在于有良好的品性,和团体很好地融合。

 

     这些年轻人能够学到的,或者被灌输的都是一些愚蠢的东西。

     所以,有时候,心灵的破坏比肉体的破坏还可怕!

     破坏良好的社会人文环境很容易,有人以为可以很容易地恢复,其实不是的,那要耗费无数的心血和漫长的时间和精力--不仅仅是个人、家庭,还要包含国家!

 

     4.巧妇难为无米之炊

     有的学校也负责,但是学生属于朽木级别,老师也头痛!

 

     5.你不是这一块材料,被赶鸭子上架,难为你了!

     老师负责人,学生也认真努力,但是就是学不好,为什么? 因为他就不是这一块料。

    

      这些学校出品的也不全是差生,也有一些部分还不错的,只可惜企业未必有那么大的耐性和成本去淘宝!

      对于大型企业和国企,基本不太可能去找这些学校!

      中小企业从这些企业招聘,最好是找相熟的人内推下,或者是已经毕业被市场证明过的!

    

     三、如何解决

      有了问题,就要解决问题!

      社会层面,我无能为力!

 

      对于我们公司而言,采取以下措施:

      1.增加笔试和上机测试

      2.入职之后,适当增加培训

      3.增加考核环节

      4.尽可能不找毕业生!毕业生更可怕,因为很多一点社会常识也没有,不了解职场规矩,有的还好高骛远!

       我们找人所考虑的第一要素是品性,我们始终相信:只要有好的品性,成为一个合格的程序员还是有希望的!而且对于这些同事,我们的要求也不是那么高,只要求他们掌握基本的东西即可!

       这些基本的东西,只要个人多花费时间、死记硬背、多练习,总是可以掌握的!因为这里不存在融汇贯通、创新等方面的内容。

 

       对于个人而言,其实非常简单:

       1.端正态度,认识不足

        2.笨鸟先飞,拼命学习!强调下:是拼命,而不是一般般努力。如果只是一般努力,那么永远也不会有赶上同行的机会!因为要竞争的是同年而不是后辈!

 

        具体到技术方面,我们只要求掌握以下内容:

        1.熟练使用操作系统

        2.懂基本的网络概念和配置

        3.掌握基本的文档能力,会写简单的需求,操作手册

        4.数量掌握sql,或者说简单一些,就是mysql。此外要会安装MYSQL,做简单的优化

        5.会MVC框架,SSM

        6.会js.我认为每个程序员都应该掌握这个,无论是前端后端!应该js还是比较简单的!

        7.会安排自己的时间、具有一定的团队协作能力!

       

       四、最后一个问题-如何成为更好一点的程序员

       首先什么是“更好一点的程序员”的标准?

       1.品性过关,心智成熟

       2.前文的基本能力都要具备

       3.掌握基础技能:了解计算机结构、操作系统基本的构成和原理、网络的基本构成、基本的算法和数据结构、基本的设计原则和常见的设计模式(套路)

          构建基本的计算机世界观,理解计算机和编程是怎么回事!

          我们常常会因为无知而彷徨,因为彷徨而烦乱,大大影响和世界的交互!

       4.精通手里的工具,例如eclipse,idea,netbean之一种,精通文本编辑工具、sql客户端。。。。

          要真的精通,而不是只会打开、不是别人问你的时候,答的磕磕巴巴,甚至做沉思状!

       5.熟练编写软件开发过程的各种文档(可以不要很精通设计,有能力最好掌握)

       6.精通一门语言,这里先说java。保证熟悉变量、对象、io、网络、多线程等等

       7.了解常常使用的各种工具的原理和结构,例如jvm、关系数据库、高速缓存

       8.掌握几个常见的工具或者框架,例如spring+springMvc,netty

       9.如果您是前端程序员,万万不要沉迷于各种框架之中,那样会走弯路的,很可能工作几年都做不出一个复杂的页面,解决一些复杂的性能问题

          因为一些企业应用的页面可能比常见的电商界面复杂得多多!

 

    

       以上有一个前提:弥补基础,这个是重中之重。万丈高楼从地起!很多人听过。可惜很多人忘记了,或者不以为然!

       由于许多人的基础实在是太差,很多基本概念不懂,学习起来非常费劲,甚至是痛苦。但这个是绕不过,绕不过,绕不过!

      

      附上百度汉语,对于“精通”的解释

精通,汉语词汇。
拼音:jīng tōng
指精诚所至,通达感应;透彻通晓。
语出《庄子·刻意》:“纯素之道,惟神是守,守而勿失,与神为一,一之精通,合於天伦。”

 

     通俗一些,精通就是:别人问的时候,能够立刻答复;出些一个需求/要求的时候,立刻知道如何解决,并很快解决。

     万万不要把只会做,不会说,当作精通,错!错!错!  我希望读者某天能够明白我说的。

 

     最后,本文许多都是套话。但是套话就是接近真理。

     本文不指望每个人能够理解!希望这些有点让人不悦的文字能够对一些人起到微末的帮助!

    

    

 

 

      

      

      

      

      

      

 

      

       

         

      

      

 

     

     

     

     

     

      

      

     

      

      

     

  

  

   

  

 

以上是关于如何从垃圾变为有尊严有职业水准的程序员的主要内容,如果未能解决你的问题,请参考以下文章

如何判断哪些线程正在产生所有垃圾?

如何在屏幕方向更改时附加片段?

每个月有固定收入的程序员,银行里有一百万元的存款,生活水准如何?

从片段中的相机意图返回后屏幕变为白色

程序员的职业道路

如何从 Firebase 获取数据到 Recyclerview 中的片段?