今天面了一位7年专科的程序员,有多年的项目经验,从外地来杭州不久。结合之前的面试经历说说专科起点的程序员的特点。
我职业生涯中经历的几家公司都不排斥专科学历,只要有工作经验,hr都会给到面试官,简历的区别往往体现出一个人是否在努力,有些人的项目经验越来越复杂,有些人起点是外包,过了一段时间跳到了非外包的岗位,有些人则是在小项目兜兜转转,一般团队小于5人的项目基本上不会有什么挑战,所以程序员在找工作中待遇是一方面,发展也很重要,你必须在简历中有复杂的项目核心开发经验,核心的意思是项目离开了你就很难继续运转。
所以学历对于大多数公司来说都是针对应届生的,社招的时候很少有公司介意你的起点学历,更多的是考察你在工作中的自我成长。
一、低起点起点有什么不同
在我们公司看,没有什么不同,更多的是每个人对待程序员这份职业的态度,是否打算持续学习把程序员当做一份职业,我曾经偶然看到了杭职的软件专业的课程设计,惊讶的发现课程特别贴合实际,甚至比我的学校设计更加合理,注重实际操作,基本上达到了毕业就可以独立上手开发的地步,本科的计算机相关专业理论课程多一些,偏重研究,也就是轻实践操作,导致我们专业很多毕业生毕业之后得自己参加校外培训或者靠自己参加学校的编程项目拿到实践经验,我曾经做了一个简单的CMS 系统,就是发布有些文章,文章收藏点赞,非常简单的功能,拿到了国家级大学生编程比赛 轻松拿到了三等奖,那些拿一等奖的是什么项目呢,有静态页面,有创业设计,有APP单机程序,评奖标准是什么,就是参赛者的学校,一等奖无一例外985 。
学校的区别带来的就是你毕业之后工作机会的多少,我曾经面过某大厂的岗位,带我参加面试的人闲谈的时候说,某某一个问题没回答 大厂就要了,还不是因为他的学校好。尽管我毕业的时候具备独立的开发能力,大厂当时还是没给我机会,因为大厂不缺人,应届生那么多,招聘进来需要培养,为啥不招学校好的,毕竟学校好的学生学习能力更好。
这就是这个世界的规则。
如果你毕业起点低,不要紧,只要一步一步增加自己的能力,总有一天你会超越以前你仰望的人。
毕业知我从事过一段.net 开发,曾经一位名校毕业的领导说,想我这样window系统用习惯的人,让我在服务器上打命令行很难学进去,当时我没有相信,后边我又自学了Python ,发现没有什么不可能,不能迷信权威。
我另一位同事很励志,他是普通本科学校毕业,先自学英语和国外客户沟通,后边转行数据挖掘,现在是蚂蚁的算法专家。
当时他主动降职来到我们组,跟我们一起研发个性化推荐,向同事请教算法知识,坚持这条路。
我没有选择算法,因为我了解自己,英语不够好,看不了论文,数学不够好,分析不了算法原理,尽管现在很多算法都分装好了,使用方便。
我经历过一家公司 运维部有一位年龄40多岁的员工,他最早是做网管的,没错就是网吧的网管,后来自学成了运维专家。
有同事中专毕业学习的是化工,感觉工厂太危险,转行做了程序员,现在守着.net技术也能在杭州安家。
二、实践派程序员的特点
实践能力强,很多本科生原理明白,但是你让他去写一个模块,就会遇到实践问题,不知道如何解决。专科生解决问题的时候,更加依赖经验,通过勤奋的实践来解决问题,很多时候我们程序报错,就会把报错信息贴到搜索引擎中点击搜索,专科生会逐条分析实践,通过试错的方式解决,这样虽然效率低,但是总能解决问题,我工作前几年也喜欢这样,遇到问题就想着快速解决。
还有就是绕过问题,同一个问题解决思路很多,例如有些公司做系统 浏览器不兼容,那么久强制要求用户安装某一个版本的浏览器,并发导致OOM,就设计排队机制。
实践是优点,如果能结合理论定位问题,实践会如虎添翼。
专科程序员的项目感觉很强,候选人的表述中发现,很多人对自己的项目业务非常熟悉,各种业务逻辑细节表述清楚,涉及的技术也都知道,这就是实践带来的好处。
三、怎么提升自己的能力
计算机知识点众多,怎么提升自己的综合实力呢,首先程序员的技术实力是综合能力的一部分,并不是全部,甚至不是主要的,当你达到独立解决问题的技术水平的时候,你的沟通能力,思考能力,设计能力,业务理解能力 这些非技术方面的能力提升也很重要。
在实践中成长,在我们日常工作中总会遇到棘手的问题,遇到问题可以先临时解决,但是一定要接下来追根溯源,最常见的比如OOM,
很少有程序员遇到线上OOM,遇到了就去拿dump文件,学会独立分析。解决问题。
有些疑难问题的解决最能体现一个人技术上解决问题的能力,我们需要结合自己的工作实践,敏感的学习。
例如很多程序员没有接触过分布式,可以自己本地用docker 构建一套分布式系统,简单的限流,负载均衡都亲自操作一下。
如果找工作的时候短时间积累不了那么多知识,就背诵网络上分析的八股文,背诵八股文说明一个人的态度,面试过很多候选人,面试的时候套路题目都不准备一下,靠着运气找工作,想着大家都是这样不动就绕。
这样下去路越走越窄。
计算机基础构建 盯住考研408 的专业课就好,不需要每个解析都知道,通常的套路题目要背诵,计算机三次握手,四次挥手。
http 状态码。基本的数据结构,链表遍历,数据遍历。
对称加密,非对称加密。这些日常工作中都会涉及到。
面试的时候注意引导面试官朝自己熟知的方向问,我曾经被问了MQ 的延迟队列实现电商的订单取消,当时我不知道这个场景,面试官问我知道延迟队列吗,我马上回到我用延迟队列做过MySQL的同步,为了保持MySQL 能迅速恢复到几小时前的状态。面试官也就没再追问了。