如何从垃圾变为有尊严有职业水准的程序员
2021/9/2 1:06:29
本文主要是介绍如何从垃圾变为有尊严有职业水准的程序员,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
我这里要说的主要是基于个人这几年的一些感受!
在工作的前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 指精诚所至,通达感应;透彻通晓。 语出《庄子·刻意》:“纯素之道,惟神是守,守而勿失,与神为一,一之精通,合於天伦。”
通俗一些,精通就是:别人问的时候,能够立刻答复;出些一个需求/要求的时候,立刻知道如何解决,并很快解决。
万万不要把只会做,不会说,当作精通,错!错!错! 我希望读者某天能够明白我说的。
最后,本文许多都是套话。但是套话就是接近真理。
本文不指望每个人能够理解!希望这些有点让人不悦的文字能够对一些人起到微末的帮助!
这篇关于如何从垃圾变为有尊严有职业水准的程序员的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南