聊聊非科班转IT

我这算是妥妥的非科班转计算机的了,先介绍下自己的情况吧。
14年大专毕业,学的汽车运用专业。(什么?你说啥是汽车运用专业?那机械设计总知道吧,这个专业接本后就是机械设计了。)
毕业后服役,没考上军校,就回来了。计划学一个“可以改变世界”、“对世界有贡献”的技术。(兄弟们别笑我)
17年,报了IT培训班,学习编程(java、mysql、html、css四件套),因为非科班出身,属于完全的行外人事,学习很吃力,理解能力也很差。
出培训班,找了很久都没找到工作,最后有家公司“收留”了我。人家看上的不是我的技术,是因为当过兵。(记得当时要我的那个领导说,技术可以再学,言行举止可不是那么容易改变过来的;)
在第一家公司接触了linux,引燃了兴趣(类黑客的操作方式,瞬间爱上),开始自学linux,放弃了培训班学习的java。经过一年考取了RHCE(后来又学了华为数通HCIP)。

方向一:如何规划才能实现转码?

两个关键词吧,兴趣和厚积薄发;
能支撑我这么长时间,搞IT不腻的只有兴趣了, 没有哪次上班不是开开心心的;玩完centos玩ubuntu,玩完ubuntu又玩各种服务,乐此不彼;对编程、网络或者系统之类的不感兴趣,就怕学一段时间就放弃了。之前也有朋友想和我一样转IT,我就直接说的:要是真喜欢,报班、自学都行;要是为了IT的高薪资,那大可不必。
另一个就是厚积薄发,别想着报个班学完课程一出来就能找个高薪工作,python、java开发也是需要至少几个月的时间来验证你的能力的,网工和linux运维的沉淀时间就更长了;

当时自学linux时,计划3年内没想过拿高薪。自己几斤几两,自己最清楚。我不反对面试超长发挥或者假简历拿高薪的,开发人员拿了offer就拿了,网工和运维,靠吹上去的,真让你搞个项目,你敢操作?搞出问题来,不是网络崩,就是系统崩;

方向二:计算机岗位发展前景?

计算机高薪早就是公开的秘密了,很多学生也是为此学计算机专业。
看网上帖子之类的,说互联网高峰已过,各大厂也是年年裁员。事实也是这样的,只是可能是我没有体验到,所以这方面还是少发言。
没经历过裁员,跳槽工资越来越高、工作也越来越好。但是也可能有一天,我也会遇到中年危机或者裁员之类的吧;

但是学计算机总归是没错的,计算机+任何行业,都是无敌的存在;现在不会计算机,将来AI普及也大概率不会,久而久之,多年以后,我们就会像我们的父母一样,不会用智能手机;

方向三:现阶段转码的建议

现在很少看招聘了,和外面的行情略有脱钩了。不过,种一棵树最好的时间是十年前,其次是现在;
综合自身的条件吧,但是不建议超过30岁的再转行了。
做好自己的规划,比如:一年入行,两到三年扩展、实践,三年的IT经验,不管在哪个城市,薪资方面至少不会拉后腿了。

关于IT行内的分类

IT里也分很多专业,不过大的类别基本就是开发、网络、运维了,当然,还有测试工程师、安全工程师、实施工程师、DBA(数据库工程师)之类的,这个放后面讲。
安全工程师:开发的app、服务,一旦对外开放,总是要面临各种攻击的,安全工程师检查漏洞、防范攻击;
数据库工程师:也称DBA,专门维护各类数据库的;
开发工程师:包括后端开发、前端开发、安卓开发等,开发电脑软件
测试工程师:开发出来的软件需要经过测试才能上线,测试各个功能是否正常,是否有bug等;
运维工程师:这个工种比较杂,桌面运维、系统运维、linux运维…这个我们后面慢慢聊;
网络工程师:掌握市面上常见的网络设备,如:华为、思科、H3C等,会配置、调试、组网等;
实施工程师:主要是去客户现场操作,如:去现场安装服务器硬件、安装软件、布线、光缆;

上面的三个“工种”,网络工程师和开发工程师,他们的界限是非常明确的。
开发工程师编写自己的项目代码,如:前端web界面、手机app、电脑软件、后端服务等;
网络工程师保障网络的通畅、高可用,还需优化线路等;
开发和网络,他们的工作交集少,所以这两家基本是很少吵架的,相反,运维工程师是比较杂乱的。在对接开发发布应用程序的同时还要保障服务的正常运行(高可用、高并发等),还要搞好服务器的网络,有承上启下的作用;

不只是linux,包括windows,系统本身就涉及很多的开发知识,而且底层通信也是基于网络的,你说你不懂java环境?那jar包别发布了;你说你不懂路由?那服务器网络不通,你都不知道是排查服务器还是排查交换机。

个人的发展历程

运维出身,早期玩centos5、centos6,后来centos7、ubuntu、debian、kali;
系统玩得没意思了就玩各种服务,负载均衡、高可用、消息队列…

拓展的技能——python开发
几年前在北京的时候玩炒股,某天有了新的想法,需要数据的支撑,于是知道了爬虫,为此学了python。之后又相继用上了自动化、多线程、数据处理等;
linux+python,在linux上写个脚本、自动化程序,无敌的感觉!

想学python的同学,通过爬虫这个方向入门python是个很不错的途径;但是爬虫不用学太深,也不要学太深!

拓展的技能——数通(华为数通)
在玩linux时,偶然发现了一个路由套件服务frr(前身项目为quagga),路由套件可以让isis、ospf、bgp等网络常见协议运行在linux上,让linux变成一个网络交换机、路由器,运行了ospf的服务器再配合交换机、路由器等网络设备,就可以搭建出更高级的高可用架构,对需要三高的系统架构有很大的提升!
这种技术太吸引我了,但是对isis、ospf、bgp这些网络工程师们才精通的协议,咱是一窍不通的,也正是为此,拿下了华为数通初中级课程,linux+网络,那种感觉全身通透!像是打通了任督二脉,整个的知识网络都是连贯的!

瞎聊,想说的话
有些技术人员是高精尖,是某个方向上的大佬,比如:专攻虚拟化,是容器虚拟化方面的专家;研究数据库,是数据库方面的大佬;…所谓“一招鲜吃遍天”便是这个意思;
我是恰恰相反的,尽可能多的扩展知识范围。我知道,这样不少人会说:“啥都会,啥都不精通”;
额…我不认同(技多不压身,知识范围广,没有技术短板,局限性就很小),但也不反驳(每个方向都需要有尖子来带动、引领,推向一个更高的水平);
讲个故事吧,前段时间,很火的脑机接口。想想一下,将来很可能出现这种场景:人的头上有个usb接口,可以连接脑子,继而通过数据线连接机械设备,控制机械就跟控制自己的手臂一样,效率大大提升。但是!听好了,这是需要至少“两个人”来完成的,一个脑专家(生物),一个计算机专家;他们协作,需要将人脑的“想法”,也就是脑信号,转变为计算机的信号(二进制),这个工程项目才可以实现。
再讲一个,之前在IT界出现过的“笑话”,产品经理让程序员开发出一款可以改变手机壳颜色的app,大家应该都听说过。这个和上个故事类似,需要程序员(开发app)和材料方面的专家(能改变颜色的材料和方法),单一的一个及时很厉害也不行的。
这个时候还是有人会抬杠:“你这说的都是两个不同行业的”,别慌,我只是举例,下面接着说实际点的;
linux系统上的一个服务:keepalived(高可用),linux运维肯定都知道,它的核心是vrrp协议。当你学完网络交换技术,里面的vrrp协议就是这个,keepalived就是把这个协议包装写成服务的,frr路由套件也是如此。再加持一些开发技术,要想再写一个类似的高可用服务就变得容易了许多(别信我,我只是吹吹牛),至少写个脚本程序去实现类似的功能(服务器的高可用、浮动IP)就很简单了;
再者,搞完路由交换系列,再回头看docker的网络,什么nat、iptables之类的,理解的就很透彻了。
注意,我并不是抨击单一技术方向不好,而是在解释多方向发展并不是不好,优点也是很明显的。
当然,回归现实,单一技术方向的薪资是比多方向的高的,他们多在大厂,因为大厂需要这样的人;而多方向的一般在中小企业,一人当做顶梁柱,啥都懂、啥都会、万能人;

像我,以运维身份入职,一年后接管网络,后来又负责公司数据爬取、清洗、处理,自动化,服务器监控开发等;有时候员工的手机坏了都TM来找我!

最后,回归正题,非科班转IT;一句话吧,别只看到IT的高薪,也要看到人家背后的付出。如果确定转行,那就做好规划,厚积薄发,千万别半途而废!
祝,所有IT人,升职加薪,越来越好!

你可能感兴趣的:(职场和发展)