这篇文章在去年就已经构思了,不过一直都没有整理出来,今天终于完成了这篇文章,所以发上来给大家看一看,都是一些个人的小感慨,我的观点可能不是非常的完善,大家也可以一起讨论。

找工作之难,难于上青天

五六年前,找 Java 开发工程师的工作,只要掌握 JSP 和 Servlet 并且做过一些简单的 demo,就可以获得很多个面试机会,如果面试过程中表现良好,拿到一份 offer 其实并不难。同样的,2014 年左右的前端开发工程师,只需要掌握 HTML + CSS + JS 也可以获得不少的面试机会,面试顺利的话也可以拿到 offer。

大家注意一些时间点,以上这些情况在现如今是不太可能存在的,后端会要求有一定的项目经验,多半是 SSM 三大框架或者 Spring Boot 为基础技术栈做的项目,前端也是 Vue 、React 各种框架或者组件库齐飞,如果简历中没有一定的项目经验,这次简历的投递极大的可能会杳无音信。

6 年时间,两种截然不同的境况,相信大家对于这种也多多少少有一些了解,甚至有些人已经切身体会到了。经济方面的问题加上行业人员趋于饱和是大部分行业都存在的问题,比如考研考公的人也越来越多,比如上千人争取一两个工作岗位,这些都是真实存在的社会现象。说回到我们 IT 行业,计算机相关专业的热度越来越高,想要进入行业的人也越来越多,这就导致了招聘市场上明显的“供大于求”的现象,本来我们求职者就是相对弱势的一方,现在又使得求职之路雪上加霜,招聘方在逐年的提高招聘需求,简历筛选的条件也越来越苛刻。

经常在各种技术交流群里或者技术论坛里看到关于找工作难的话题,要问很多面试题、要手写算法题、要项目经验、又要优化经验,要会用 MySQL,也要会用 ES/Redis,偶尔还要讲讲消息队列、多线程、高并发、分布式、微服务......以上这些内容不仅仅是针对有工作经验的一些朋友,一些大学刚毕业的应届生也会被问到类似的问题,所以很多时候会在群里看到一些大学生在讨论微服务和分布式之类的东西。

即使已经这样,很多工作岗位还是有着非常激烈的竞争,一两个用人需求,前前后后能收到几百份简历。

现在的大学生懂的东西太多了

现在的大学生懂的东西太多了”。

我这两年越来越感慨于次,不仅仅是通过他们投递的简历,也经常在群里或者通过邮件同他们联系,与我毕业时相比,我那会儿简直就是一个战斗力为 5 的渣渣。比如去年我写的一个开源项目,就被一个同学拿去用作小作业并且做了很大的改动,我一直以为他是大四快毕业了,后来才知道他当时才上大二,我大二刚开始学 Java,印象最深的就是 public static void main(),其他都不太明白,人家同样是大二,就可以用 Spring Boot 很流畅的开发项目了,苍天啊!!!

我上大学那会儿,计算机相关的课程里只学了基础的计算机课程,C 语言、数据结构、Java 语言入门,连 Java Web 相关的知识都没有学到,就算是 Java 程序入门专业课程也只是学到了 IO 操作那个章节,一学期下来连一本书还没学完,Java 专业课的成绩我回忆不到具体的分数了,但是也就 60 分多一点点,老师很赏脸的给了及格分。后面的 Java Web 知识也全是为了找工作在大学空闲时自学的,当时并没有很完善的学习资料,像现在各种教学平台、各种专业的专栏课程和视频课程都非常充足也非常专业,我那时根本没有这个条件,只能通过淘宝(闲鱼都没有)以及学长找一些视频资料去学习。

像是后来找工作时如果会三大框架那就很了不得,而且那时的三大框架还是 SSH(Spring、Struts2、Hibernate),并不是现在大家所知道的三大框架 SSM(Spring、SpringMVC、MyBatis),像项目经验、项目优化经验、各种 nosql 技术栈也都完全不懂,因为那时候也不会要求这些,更别提什么分布式、微服务了,近两年的面试动不动就要你设计一个秒杀系统,也不知道有什么用,但是都喜欢问,你就没压根儿没辙拒绝。

至于现在的大学生为什么这么猛,我简单的总结了一下:

  • 专业课更加完善
  • 各种线上教学课程丰富
  • 学习路径清晰

现在大学里计算机相关专业的专业课应该也在与时俱进,更加丰富和实用了。同时再加上现在各种 IT 教学平台都在做课程,所以你想学什么都能够找到对应的课程,从初学到进阶再到实战,方方面面的课程、各种技术栈的课程都有,只要你想学都可以找到,而且课程的价格也都很良心,两倍咖啡的钱就可以学到足足的干货。另外一点,就是现在 IT 人才的学习路径也非常清晰,毕业后想做什么岗位都有非常清晰的职业规划和学习路径,一点也不会走弯路。

不仅仅是个人自身的努力,身边的环境也在变得越来越完善,使得你能够更快的踏上成才的路。

冷门专业与热门专业

不仅仅是以上三个原因,之前和几个同事也聊过这个话题,今年刚毕业的一个小伙子就说,计算机相关专业现在是非常热门的专业,想进这些专业要考很高的分呢。

十年前,我上大学前填写志愿的时候,计算机相关专业都是没人看得上的专业,属于吊车尾专业,也就是冷门专业,热门专业则是金融、经济学相关的专业,我那时候报考时也对比了很久,最终还是选择了我的专业,为什么呢?因为这个专业有经济学相关的课程,目的也并不是为了计算机,个人在做选择时也会被社会背景所深深影响。

不仅仅是我,有几个同班同学也说,其他专业招收满了才被调剂到这个专业。

而十年后的现在,电子信息科学和计算机相关的专业已经成为了热门专业,很多同学填写志愿时闭着眼都会选择计算机,现实一点讲,这个专业毕业后就业前景比较好,我也问过很多我自己群里的大学在校生,答案非常接近:好找工作、工资高。

认同度高,也会让人更加有学习的欲望。

时代在进步和改变,行业在进步和改变,行业内的人也在进步和改变。

总结

前后也就是十年的时间,虽谈不上沧海桑田,但是改变也是非常非常地大,写这篇文章也是小小的感慨一下。

当然,大家还是要好好学习,好好看面试题。

推荐一下本人近期维护的开源项目

Spring Boot 开源电商项目(含商城端和后台管理系统)https://github.com/newbee-ltd/newbee-mall

Spring Boot + Vue 前后端分离商城项目https://github.com/newbee-ltd/newbee-mall-vue-app

除注明转载/出处外,皆为作者原创,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

6 年前,只会 JSP 和 Servlet 就可以找到工作的更多相关文章

  1. 查看JSP和Servlet版本+

    如何查看JSP和Servlet版本 找到jsp-api.jar和servlet-api.jar ,分别打开META-INF下的MAINMEFT.MF文件,查看对应的版本. 例: JSP版本: Mani ...

  2. 面试之jsp、Servlet相关知识——生命周期, 区别等

    1.servlet生命周期 所谓生命周期,指的是servlet容器如何创建servlet实例.分配其资源.调用其方法.并销毁其实例的整个过程. 阶段一: 实例化(就是创建servlet对象,调用构造器 ...

  3. 图解JSP与Servlet的关系

      Servlet是Java提供的用于开发Web服务器应用程序的一个组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容.Servlet是平台独立的Java类,编写一个Servlet, ...

  4. jsp、Servlet相关知识介绍(转)

    1.servlet生命周期 所谓生命周期,指的是servlet容器如何创建servlet实例.分配其资源.调用其方法.并销毁其实例的整个过程. 阶段一: 实例化(就是创建servlet对象,调用构造器 ...

  5. Java之JSP和Servlet基础知识

    JSP基础 JSP起源 JSP,JavaServer Pager的简称.由SUN倡导并联合其它公司创建. JSP是一门脚本语言 JSP可以嵌入到HTML中 JSP拥有Java语言的所有特性 面向对象. ...

  6. JSP和Servlet那些事儿系列--HTTPS

    原文:http://qingkangxu.iteye.com/blog/1614053 <JSP和Servlet那些事儿 >系列文章旨在阐述Servlet(Struts和Spring的MV ...

  7. jsp和servlet的问题收集.... 答案有部分是自己理解的,可能有点差异

    如何创建一个动态工程? File ---->  New ---->other ---->Web ---->Dynamic Web Project  选择动态WEB 项目工程 W ...

  8. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  9. jsp引用servlet生成的验证码代码演示

    此演示代码主要包括以下三部分:1.checkCode.java:用于生成验证码2.checkCodeServler3.check.jsp 验证 下面是checkCode.java的内容: 复制代码代码 ...

随机推荐

  1. 移动物体监控系统-sprint2摄像头子系统开发

    一.摄像头使能驱动 1.1 摄像头软件系统构架 摄像头采集系统按照上图,硬件(摄像头)->摄像头驱动 ->V4L2接口规范 ->图像采集(应用).V4L2将不同类型的摄像头设备按照统 ...

  2. CF1349F 【Slime and Sequences】part1

    由于本文过长,\(\LaTeX\) 炸了,分两篇,part2 题目描述 定义一个正整数序列为好序列,当且仅当如果某个数 \(k\) 出现过,那么一定有 \(k-1\) 在最后一个 \(k\) 的前面出 ...

  3. “随手记”开发记录day10

    今天完成了各个demo合并,并进行测试,中间出现了一些bug, 例如再点击主页面预留的菜单按钮时会出现闪退 在手机上运行更新页面时会直接崩溃 还有发现的问题有,不能查看往期的记录

  4. “随手记”开发记录day08

    今天完成了关于统计页面中的关于每月支出和每月收入的页面

  5. 您能解决这3个(看似)简单的Python问题吗?

    尝试解决以下问题,然后检查以下答案. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识 ...

  6. Python 面向对象之高级编程

    7.面向对象高级编程 7.1使用__slots__ python动态语言,new 对象后绑定属性和方法 Tip:给一个实例绑定的方法,对其他对象无效.可以通过对class绑定后,所有对象可以调用该方法 ...

  7. C#算法设计之知识储备

    前言 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/669 访问. 算法的讨论具有一定的规则,其中也包含一些不成文的约定 ...

  8. c++ sort函数三个参数解释

    第一个参数 一般为 排序的起始点 vector.begin()(起点) 或者其他位置 第二个参数 一般为 排序的终止点 vector.end() (终点) 或者其他位置 第三个参数是排序函数 对于一些 ...

  9. leetcode刷题记录——哈希表

    1.两数之和 可以先对数组进行排序,然后使用双指针方法或者二分查找方法.这样做的时间复杂度为 O(NlogN),空间复杂度为 O(1). 用 HashMap 存储数组元素和索引的映射,在访问到 num ...

  10. C++ IO的一些注意点

    读入这个坑一直以来都深受其麻烦,把遇到一些注意点记一下吧. 1.getchar读入 以前练线段树的时候做到Acwing#246 Interval GCD(原题在CodeHunter上,人懒就在Acwi ...