我与java--一眼定终身

323 阅读5分钟

入行小记

27届软工菜鸟,思来想去,还是决定学java,卷成麻花也得卷。

学校教学以c++为主,平常学习程序设计、刷算法题、写玩具都是用c++,作为编程母语本人对C系语言也是有天然好感,但可惜学校课程所学甚浅,平时杂乱事物一堆加之各种课程考试,真正研究技术的时间很少,本人由于转专业缘故有落下一些课程。开学大二下,若是按照学校安排只会一些c++和python基础语法,加之数据结构本人考试不到80分,属实有些汗颜了。

目标是本科毕业能找份开发工作,入学至今都是老老实实跟学校课,想着打好基础再做应用,但按这个进度连估计入行都难。换打法吧,先入行再谈发展。

本人是比较喜欢计算机的,对相关内容也是凭着兴趣广泛涉猎。但想靠这行吃饭似乎远没有我想的一般简单。想尽早入行并拿到不错的薪资,还是得早做准备,选定方向走下去。

学习期间断断续续收集网上的信息,良莠不齐且混乱,在此整理一下思路,作为互联网炮灰民工企图入行的依据吧。整理一些思绪,算是对这个专业的一些认知。

计算机专业特点

为何人人唱衰互联网

互联网作为计算机应用层最火热的方向,基础开发岗既容易入门又高薪(以前),无疑涌入大批从业者,结果就是卷麻了。

专业与前景

计算机作为工科,学习研究并操作设计大规模集成电路为人类服务,本质目的落到为人类服务上的具体行业自底向上无非:

  • 硬件
  • 驱动
  • 嵌入式
  • 操作系统
  • 开发工具(包括语言)
  • 业务实现
  • 研发

这个分类并不严谨。虽然计算机的本质是一层层的封装(世界是一个巨大的接口);但层层之间也并非泾渭分明。当系统足够大时,它一定也足够复杂。

本人所就读的软工专业,天生便倾向于应用层,完美的对口岗位也应该是各类开发工作,这也正是我读这个专业的原因。其实本科阶段计算机类的各个细分专业大同小异,我校三个专业(计科、软工、物联网)的课程设置重合80%,招聘要求也都是计算机相关专业,故也不必严格区分。

学生所面临的困境

基础教育和工业需求:

基础教育的目的主要目的仍是全民综合素质的提升,大学虽然划分专业但仍未完全脱离基础教育的范畴,同时教授一些专业知识开阔科研视野,其目的离不开四个大字:全面发展,但绝不是培养工业生产的螺丝钉。大学毕竟还是科研机构而不是培训班。

而企业作为生产单位,天然的逐利性让它只会选择最高效的生产方式。集体生产相较于个体生产的优势便在于扩大个体的某个方面的技能与优势为团队服务。企业招聘时自然也更多考量个人的相关专业技能的熟练和匹配度,至于你烟酒不沾,有意识注意垃圾的位置,会真诚对别人说谢谢等,好像都不重要了,毕竟人家要螺丝,还必须按批发价。

任何时候,量化的考核都是反人性的,虽然这也是不得已为之,但也不该责怪曾经有人把我们完整的去培养。

我也在为日益严峻的环境和毕业以后的去处发愁。我也想埋怨教育的失败让我连打工的资格够没有。可惜我学的是计算机,最不愁的就是学习资源。想找开发工作是吧,培训班放出来的引流课够我学一辈子,稍微花点钱就能买到一套保姆教程+源码。各种基础开发的技术都是框架,说白了就是搬砖修改配置参数调调接口,没啥技术含量,多练。

行业考量

硬件是玩不明白的,计算机不是电子通信(也未尝不可)。 算法是玩不明白的,自己的脑子自己知道,算法不是计算机是数学。

剩下便都是计算机的的主场。

这些内容的核心知识都是相通的,即计算机四大件:数据结构与算法、操作系统、网络、计算机组成原理(考研408)。

方向考量

开发,那就web,java后端。无他,岗位多,教程多而已。先入行,在谈发展。

原则上是无需纠结语言的,本质都相通。既然有点c++基础为何选java?对于不同的语言来说,语法是基础,大同小异;难点是特性,各种花式用法同时也拷打使用者的逻辑思维、工程能力和对计算机的理解;重点是生态,应用场景不同生态千差万别。

先前的c++基础有但不多,很容易转换为java基础。

私以为web开发是入门开发最简单的,java更是其中入门最简单的方向。还是那句话:先入门,再发展。 c++不容易入门开发,是因为其应用领域篇偏向底层硬件,岗位更少。

一些后端岗位,(不一定是web)要求掌握一名后端编程语言即可。而许多要求必须是java,这个需求量的差别显而易见。


后面再整理一下学习的规划和一些笔记。

加油吧。