专注大数据培训
我们一直在领跑

过来人带你详尽分析是否适合IT,是否需要参加培训

小编电子信息工程专业出身(相信大部分人跟我一样,不知道这个专业或者自己的专业究竟是什么方向和定位),参加过Java培训学习,后从事了近8年软件开发,做过不少大型项目,也完整地走过从技术新人到大型项目技术总监的路程,并且,也从事过IT教育培训。从事培训教育的过程中,逛过很多贴吧、论坛及各类Q群,深知很多新人对是否应该投身IT及是否需要参加培训而困惑不已(其实小编自己当初在做出是否参加Java培训的决策过程中,内心也是极度矛盾,因为网上劝退的人一大把,而劝进的人屈指可数)

如果你有幸看到这篇文章,那么恭喜你,你会在这里得到一个相对客观公正的详尽分析,本文不会给你结论,但你看完后一定会有自己正确的结论。

一、IT行业是否值得进入

对于这个问题,相信不用过多解释。既然你对这个行业感兴趣,你至少应该了解过这个行业的薪资状况,也能隐约感觉到这个行业在社会发展进程中的趋势。

如果你不了解,可以上诸如智联,51job等求职平台上搜索一下java、python、大数据等开发岗位的职位数据。或者向行业内部人士求证:不管是哪类语言开发岗位,2-3年开发经验的工程师,平均月薪(北上深)基本都能处于15000-20000之间(别跟我说特例,有特别低的,也有特别高的,这些不在我们的讨论范围之内,具体见下文分析)

而且,关键的一点是,从事这个行业,达到这个层次,是一个实打实能实现的大概率事件(注意:千万不要幼稚地说某某行业的高管或者某某行业金牌销售能拿几百万年薪来与此做对比!那是另一个层次的问题,各行各业都有特别优秀的少数人!IT行业也有高管啊,也有技术大神啊,月薪上百万都有可能)。我们在做重大决策时,千万不要以小概率事件或路径作为决策依据。

二、投身IT行业是否存在难以跨越的门槛

IT行业,其实也是一个庞大的领域,行业内的工种、岗位跟别的行业一样丰富,一样需要各式各样的人才。本文仅以IT领域中的软件开发岗位为例进行说明。

软件开发,看似一个非常高端的职业,但其实,在这个职业中,也分各个层级。尖端人才所从事的尖端工作,当然是困难而有巨大门槛的。但是需要尖端人才从事的尖端任务其实很少,而大部分的工作所需要的技能并不复杂,大部分人经过一段时间的专业学习或训练都能胜任。所以,在这个职业中,人才的分布也是金字塔型的,普通人,基本上都能够进入这个金字塔的至少中间层。

如果你需要一个更加清晰的判断方法,那么,我们来做一个小实验:如果你能理解下文,那么,你就一定具备从事软件开发的基础条件。

所谓软件开发,其实就是将现实中的一个业务场景或者业务流程用一种特定的编程语言来描述给计算机听,让计算机能按照描述好的流程自动处理现实业务。

以各类系统中基本上都具备的用户登录功能为例:

假如有用户要登录进我们的业务系统,那么,我们的系统应该按照以下流程进行处理:

1.获取用户所输入的账号和密码;
2.将获取到的账号和密码与数据库中记录的用户注册时所填写的账号和密码进行比对;
3.如果比对一致,则告知用户登录成功;
4.如果比对不一致,则告知用户登录失败;

上述中文所描述的流程,在编程时,无非就是换一种编程语言(比如java、python、php)来描述,下面就是上述流程的编程伪代码:

// 1.获取用户登录时所输入的账号密码
account = getLoginAccount();
password = getLoginPassword();
// 2.检查数据库中的账号和密码是否匹配:
ex = checkUser(account);
// 3.如果匹配正确,则告知登录成功
if(ex){
  return "恭喜您登录成功";
}else{ // 4.如果匹配错误,则告知登录失败
  return "您的账号或密码不正确!"
}

综上所述,所谓编程,大部分情况下无非就是用一种编程语言来描述一个业务逻辑,并不会涉及到什么高深的知识,真的不难!

三、自身条件是否适合投身软件开发

如果你本来就是软件开发专业科班出身,那么你可以直接跳过本节。

如果你不是软件开发专业科班出身,是想转行到软件开发,那么,你可以仔细考量以下几个核心要素:

  • 年龄
  • 学习能力
  • 学历及专业
  • 意志及决心
  • 兴趣

下文对每一个核心要素进行客观阐述。

1.年龄

说真话,这行的年龄挺重要的。因为能力相近的情况下,年龄越小代表潜力更好,用人成本相对较低,公司对该类应聘人员的要求也就相对较低,因而求职更容易!

而年龄越大,公司对应聘者的能力及经验要求就越高。假如一个30岁的初级开发人员去应骋,公司是肯定不要的;但一个30岁的高级人员去应骋,只要能力不是假的,公司基本会抢着要。

所以真心劝说,有些兄弟,二十八九再转行,如果学出来是快30岁的初级,不敢说肯定找不到工作,机会真的不大,一定要慎重。如果学出来后在二十七八岁以内,倒是可以拼拼。

所以想干开发,越早越好。在这个行业,年轻就是资本。千万别犹犹豫豫的,等过几年再想转的时候,岁数大了,真是机会渺茫了。

不过,如果你真到了30来岁的年龄,也不是完全不行。我以前有个学生,在电网上班的,30岁才来学开发,学完后就拿到了某知名互联网企业的大数据平台架构师岗位,月薪35k,并且一年14薪。

当然,这是一个特例,不能作为普遍参考。如果你要跟他比对,那么请知晓:

  • 这个兄弟的学历背景是211本科;
  • 这个兄弟的沟通表达能力属于普通人中中等偏上层次;
  • 这个兄弟的形象气质符合典型的it气质;
  • 这个兄弟在学习过程中能够玩命学;
  • 这个兄弟的学习能力处于一般人中的偏上水平;
  • 这个兄弟的相貌看起来也就个二十七八岁;

2.学习能力

搞开发学习能力很重要,因为技术和环境不断的发生变化。开发和传统工作不同,比如理发、厨师、技术工人等,这些工作环境变化小,工作相对单一,所以是一招鲜,吃遍天,不需要天天琢磨学新东西,把一二招练熟就能谋生。

而lT开发工作不是这样,时时处于行业高速变化中,一旦不能适应这种变化,就得处于淘汰的边缘。开发思想、开发语言、各种工具、框架、组件,业务知识,每年呈爆炸式发展,没有良好的学习能力,是无法适应环境高速变化的,也就难混了。

所以学了SSM,能找到工作吗?类似这种问题,真得没太大意义。因为你去工作的企业,可能不用SSM,也可能是源代码修改过的SSM,或着用其一部分,用法跟你培训中所学的有类似地方,但不会完全一样。这就是问题了,你只能去适应企业的架构,企业肯定不会去适应你。所以你如果能通过原有的SSM基本知识+自学能力,能快速适应,完成交给你的任务,才会有机会留下。否则,即使面试过了,也不见得通过试用。

3.学历及专业

如果搞业务应用软件开发,只要有一定英语及逻辑思维能力(就像前文第二节所求证的),什么学历、什么专业没太大关系的,努力学都能达到初、中级工作标准,真得没多难。

但现实情况中,也还存在一个尴尬。就算你能干,市场却不一定给机会让你干。现状就是,大部分公司在招聘时,是学历之上再看能力,对初级工程师及应届生更是如此。也许你能力超越了比你学历高的,但是大部分公司可能连个面试机会都不给你,你都没机会展示自己。所以说学历、专业是敲门砖,这些决定了你能不能敲开企业用人大门、敲开什么级别企业的大门。

其实也没必要骂这种看重学历的社会现像。换位思考一下,你是企业HR,拿到100份简历,第一步肯定是要筛掉一部分呀。用什么标准筛?肯定是学历呀。正常情况下,肯定是一本比二本强,二本比专科强呀,计算机专业比非计算机强呀。不排除专科、非专业有强的,但简历都差不多,你让HR拿什么鉴别?除非你简历上真的有硬货,而且人家HR还发现了(这还得靠运气)。

我以前在一家跨国大企业做技术总监时,我招人第一就是看学历:名校的,高学历的,我肯定优先考虑。因为我不可能有那么多精力去大海捞针从一堆简历中去寻找那个以小概率存在的学历不怎么好但高能力却超强的千里马。

4.意志和决心

好多朋友刚学了几天,就发贴学蒙了,学不下去了等等,这种浮躁的心态体现了意志薄弱,这种人是很难学出来的。学习从来就不是一件轻松的事!!! 如果学习像玩游戏一样轻松,像躺着吃瓜一样安逸,那这个世界上的人怎么可能