开发技术都只学了点皮毛,怎么办?

对于一个即将毕业找工作的大学生来说,其实你要真实地去思考自己焦虑的根源,大学生的焦虑都在于能否能找到自己想要从事的工作,但你要清楚,那是焦虑的结果,而不是焦虑的根源,想要解决焦虑的结果就必须经历正确的过程,要是这个过程没有经历,或者经历了错误的过程,那才是焦虑的根源。

首先作为大学生们要明白,软件企业招聘技术人员有哪些强烈的意向,一种强烈的意向是希望能找到牛逼的技术人才独当一面,或能有一位带领好团队力克艰难险阻的大牛;

另一种强烈意向就是通过找到新人,用尽量少的薪资成本,解决工作中大量的初级别技术任务,理想情况下,只需要富有经验的高级技术工程师进行必要的指导就能胜任所分配的工作。

然后恰恰问题就出现在这里,大量的应届生如同白纸一般,需要磨合1-2年的时间才能逐渐胜任企业主的最低要求,试问80%的小企业主能受得了这种漫长等待的投入吗?

那么这就导致了如今的状态,企业主焦虑,人力成本降不下来,就很难支撑更多资金有限的创业公司,应届生更焦虑,寒窗苦读十多年的心血没法无缝衔接到社会创造价值与贡献。

我们了解到了这里面的矛盾,那么我们就要考虑如何去解决矛盾,解决矛盾就是要经历正确的过程,这才能化解你的焦虑。

接下来一定记好,不是说你懂一些Java,Hadoop,SQL等等这些技术,你就是走对了路,实际上压根就没上道。

很多人就爱问到底从事大数据工作还是后端开发工作,难道这就是在做正确的选择题吗?例如:Hadoop生态技术只是后端技术中面向OLAP方面的需求更普遍一些,Java Web技术又是后端技术中面向OLTP方面的需求更普遍一些,我们用Java能处理的很多大数据问题,用Python亦可,这时候你会看到,都是工具,根据业务需求的不同,它们的作用就会有所不同。

说到这里,什么才是最重要的过程?

你要系统性地训练自己去解决业务应用领域有价值和意义的需求问题,在这个过程中去深刻体会技术的作用、效率、实用性、成本和价值。

这是万变不离其宗的道理,根本不用去套,听完后我相信你对这句话有些懵,我举个例子:我现在从kaggle上下载一个上百兆的数据文件(csv格式),文件内容是一家国际公司的零售店在全球各国的销售情况,那么我模拟自己是这家店的IT主管,我要给老板呈交一份统计图,统计每个国家的产品销售情况。

我们看到了吗?这就是最普通而又实际的一个商业需求,你用程序怎么实现?用Java解析CSV文件然后输出到MySQL做SQL分组统计?好像使用大数据Spark技术读取CSV后,做批处理结果输出到Hadoop HDFS也可以。

那优缺点呢?前者部署简单,开发麻烦,后者正好相反。请问这些内容你尝试过吗?感受过它们的优缺利弊吗?

这就是去体会技术的作用和实用性。

再深入一点,为啥要用Hadoop,而不用MySQL?几百兆的数据有必要吗?若一分钟就要处理几百兆呢?是不是大数据系统的分布式并行性处理起来会更厉害。

这就是去体会技术的效率。

那么统计出来的数据怎么呈现呢?对了,我可以尝试用Python或者Java做出一个漂亮的Excel统计文件,还方便打印,这套程序该怎么做呢?

还是选择用h5+echart配合Java,生成web页面的方式?这样老板,秘书们随时都能连接互联网调阅,多方便,不过有点工程量啦;

可有些老板根本就不在乎这些华丽的过程,就是着急看,甚至自己都拿SQL去查,干脆用Python调用matplotlib写个脚本,三下五除二就搞定了。

这就是去体会技术投入的成本和价值。

希望通过这个例子的描述让你更清楚正确的过程应该是什么模样,当然在开始正确的过程前,对需要解决这些问题的必备技术的基础知识加以学习和理解也是很有必要的准备,但不能忽视学技术的目的是为了什么?要在系统性地解决问题过程中去深化技术的理解和运用,恰恰这一切是可以自学的,而且实验成本很低,连接互联网的电脑就够了。

最后简单总结一下,所有的焦虑都来自于对自己的不自信,而这种不自信就是正确的过程并没有去践行所导致的,有句话叫做:人间正道是沧桑,很多事情说起来容易,做起来难得多的多。

一是找对方法,二是挤时间,三就是坚持,但更关键的是真实地面对自己,不要回避自己的短板和即将面向社会竞争的激烈,这就是一个适应的过程,早点面对,早做准备,就能缩短这个时期的焦虑和痛苦。

你可能感兴趣的:(开发技术都只学了点皮毛,怎么办?)