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


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

      在工作的前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
    指精诚所至,通达感应;透彻通晓。
    语出《庄子·刻意》:“纯素之道,惟神是守,守而勿失,与神为一,一之精通,合於天伦。”

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

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

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

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

        

        

          

          

          

          

          

          

          

           

             

          

          

         

         

         

         

         

          

          

         

          

          

         

      

      

       

      

  • 相关阅读:
    TBDR下msaa 在metal vulkan和ogles的解决方案
    Load store action in vulkan & ogles 的解决方案
    百度 我日你全家
    metal sample code
    NativeRenderingPlugin IOS
    ranch实现游戏服务器
    erlang游戏开发tcp
    Erlang 命令行监控工具
    rebar安装及创建项目
    erlang中如何调试程序
  • 原文地址:https://www.cnblogs.com/lzfhope/p/15203649.html
Copyright © 2020-2023  润新知