码农从职业理想到面试落地
一直以来,作为一个老码农,笔者总是尝试来写一份关于码农的职业规划的文章,然而每每提起笔来,总是无法找到切入点。今天,我们尝试从码农的职业规划的必经之路“面试”作为切入点,来聊聊职业规划吧。
1. 职业理想
1.1. 理想分布
码农的职业理想,无非有几大块(各种猿):
-
程序猿:做一个标准的搬砖的程序猿——DEV(Developer)
-
测试猿:做一个验收砌砖质量的测试猿——QA/STE(Quality Assurance / Software Testing Engineer)
-
项目猿:做一个承包砌砖工程的项目经理——PM(Project Manager)
-
产品猿:做一个制定砌墙方案的产品负责人——PO(Product Owner)
-
需求猿:做一个落地砌墙标准的需求分析师——BA(Business Analyst)
大体上的这些,包含了码农从职业类型上划分的职位,当然,林子大了,这些职位也都会有小组长、中队长、大队长咯,常规操作嘛。不过,从实际操作入坑的可能性来看,测试猿和程序猿是靠谱的入坑方式。
1.2. 入坑指南
首先我们从一个入坑流程图作为开场。
入坑指南根据上图,可以得出下面的入坑指南。
如果是全日制本科,并且计算机相关专业,包括专业中带有“计算机”、“软件”和“信息”的名字,那么你入坑做一个码农的基础是不错的。其中非985、211在大学班级的 TOP 10% 基本上可以直接入坑,剩下的 90% 需要进一步提升可能才有入职的机会;985、211的童鞋,争取 BAT 的校招职位吧。 这里的入坑,基本上是“程序猿”。如果是全日制专科,那么对应的大学班级的 TOP 10% 也是基本上可以直接入坑,剩下的 90% 需要进一步提升,这里的入坑是指“测试猿”。
1.3. 发展方向
到这里我们应该可以看到,码农入坑的门槛应该最低的就是“测试猿”了,然后才是“程序猿”。剩下的坑事实上对于没有在一线大厂实习过的应届毕业生来说,比较渺茫了。当然个人建议本科入坑“程序猿”,专科入坑“测试猿”。而入坑之后的发展如下:
程序猿入坑程序猿可以有两大方向:技术和业务。
-
技术上,可以做到架构师,专门专研技术的学习与运用,作为资深研发,当然也有机会做到公司的CTO职位。
-
业务上,可以做到项目经理,这也是很多程序猿的首选发展方向,毕竟包工头和苦力是有截然不同的。此外有一个新兴的职位:敏捷教练,也叫Scrum Master。
-
曲线救国:
-
如果你发现你无法理解开发框架,也没有足够的沟通协调能力和项目专注能力,并且还是希望搬砖写代码,可以转做“测试猿”,这样类似于降维打击,你可能不是一个很出色的程序猿,但是或许你是一个很出色的“测试猿”,尤其在编程能力上面,目前的市场上你会拥有“维度优势”;
-
另外就是做运维开发,主流的 DevOps 其实也不错的。
测试猿同样可以有两大方向:技术和业务。
-
技术上,同样可以做到架构师,这里是测试架构师;
-
业务上,可以做到业务专家,这个是业务层面的,精通系统架构和系统的业务逻辑,数据上下游,无论任何一个节点,均能够准确的确定测试方案;业务上还有一种方向:产品负责人。这两个在业务上有差别,前者追求的是整体业务逻辑准确与可验证;后者追求的是业务本身的正确性。
-
曲线救国:
-
第一是转开发,越早越好,测试的思维,会帮助你做一个高水平的程序猿,前提是你的编程能力和框架理解能力;
-
第二还是转运维。
程序猿的入坑方式:Java 后端开发,Web 前端开发两种方式居多。
测试猿的入坑方式:手工测试、自动化测试和测试开发三种方式。
2. 面试落地
接下来要提到的就是码农的面试。对于绝大部分的码农,任何的职业梦想,都是从面试开始的。如果说职业规划是职业生涯的蓝图,那么面试就是实现蓝图的第一步。不可否认的是,无论是程序猿还是测试猿,无论应届生、自学、参加培训转行哪一种方式,都是通过面试这一个落地的方式,从而入坑的。
2.1. 面试准备
面试准备这里,首先要做的并不是写简历,更不是找人推荐职位,而是想好自己的职业发展,具体落地来说,就是确定是入坑哪一个:程序猿,还是测试猿。这个要结合自身的优势劣势,以及职业理想来确定。
-
如果想成为技术专家,专科入坑测试猿,本科入坑程序猿。
-
如果想成为项目经理,入坑程序猿,后续转项目经理。
-
如果想成为产品负责人,入坑测试猿,后续转程序猿(技术) / 需求猿(业务),再做到产品经理
-
如果是转行IT行业,入坑测试猿。
确定目标以后,结合自身的优势,来确定简历的设计思路。可以使用的优势如下:
简历优势教育背景:从以下几个方面来说
-
学校,好的学校当然可以帮助简历提升价值
-
专业,由于是入坑IT是要与各种猿交道,计算机相关专业有优势
-
学历,全日制比非全日制好,本科比专科好
相关经验:从以下几个方面来说
-
测试,手工测试经验,能够带来测试思维和测试方法。
-
开发,编程经验是IT行业最宝贵的能力,没有之一
-
硬件,软硬件结合是一个趋势,做软件行业需要硬件经验
-
运维,在服务器层面的能力,非同小可。
思维能力
-
逻辑,很多时候,逻辑能力决定了码农的上限
-
沟通,凡事都有沟通,好的沟通能力是成功的保证
-
分析,良好的分析能力给学习和总结都会带来好的基础。
在简历中突出优势,重点描述优势带来的经历和总结。
2.2. 面试回答
回答问题,一句话就是“展现自己的优势”。这里与上一部分是一脉相承的,回答面试的任何问题,都需要刻意或者无意的围绕这一主题。
具体的方法是:做过的具体内容,以及从该内容中的收获和积累,可以从以下三个方面作答:
-
技术:用到的技术,解决的难题,收获的方法等
-
业务:处理过哪些业务,以及通过业务抽象出来本质
-
项目:项目管理的经验,例如 Scrum 敏捷,Kanban 或者通过项目管理工具进行描述。
2.3. 常见误区
怀疑面试官的目的,其实这个是误区之一,尤其是遭到了“压力面试”的时候,便更加明显,此时往往会怀疑面试官在针对自己,故意让自己难堪。其实需要放平心态,一般来说面试也同样花费了面试官的时间和精力,大家更多的时候目的是一致的:你要工作,他要招人。
处理不擅长的领域,这个是常见的操作了。毕竟别人问你,问的内容和出发点只能基于他本身的能力经验,以及你的简历。这里需要补充一点:不擅长的内容不要在简历中吹牛。被问到不擅长的领域内容,请不要继续下去,不如大方的承认并将话题引向自己擅长的部分。
缓解面试中的紧张,这是必备的能力。任何人都可能紧张,但是如果紧张的情绪不去加以制止,那么将会蔓延到整个面试的过程中,你的表现将会差强人意。正确的办法:深呼吸,深呼吸,深呼吸。此外可以向面试官交代自己的紧张情绪,有良好经验的面试官也会帮你平复情绪,此时也可以进一步观察面试官的水准。
2.4. 如何观察
判断面试官的身份,需要判断出来面试官是HR,还是技术主管,或者是总监(老板)等角色。对症下药,这个很重要。
观察面试官的反应,很多个问题的回答,请立刻关注面试官的面部表情以及肢体语言,到底是赞赏你的回答,还是否定你的回答。
观察面试公司的雇员,雇员的状态,便是公司大部分内容的呈现。
观察面试公司的环境,这个就不加以赘述了。
3. 职业发展
本篇重点讨论了如何入坑,以及坑位区分。发展的部分并不会花大量篇幅。尽管如此,笔者还是建议码农们以3-5年为一个技术周期来思索和学习。码农是一个逆水行舟的角色,在搬砖的过程总需要时时刻刻保持饥饿感,对新的技术加以学习,并且思考。学习新的技术只是一个过程,在这个过程中的思考,才能给你的提升带来质变。
建议思考两个方面:
-
必要性:为什么会有这个新的技术,新的技术解决了什么问题
-
合理性:新的技术并不是万能的,那么旧的技术如何才能进一步趋于合理
无论什么方式入坑,无论入坑哪里,都希望能够在入坑的3-5年以内进入一个正规的厂,增长知识见地,学习企业文化。有这样的经历,方可做到进可攻退可守,进可坚守大厂,发挥平台优势;退可寻找小店,发挥经验优势。
今天先写到这里吧,对文章有任何疑问,或者您有不同的见解,建议,意见等,随时欢迎与笔者进行交流(邮箱: liu.tingli$qq.com),共同进步,为码农们尽我们的微薄之力。