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

找工作之难,难于上青天

五六年前,找 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. Qt数据库 QSqlTableModel实例操作(转)

    本文介绍的是Qt数据库 QSqlTableModel实例操作,详细操作请先来看内容.与上篇内容衔接着,不顾本文也有关于上篇内容的链接. Qt数据库 QSqlTableModel实例操作是本文所介绍的内 ...

  2. 013_go语言中的函数多返回值

    代码演示 package main import "fmt" func vals() (int, int) { return 3, 7 } func main() { a, b : ...

  3. Nginx实现静态服务器+https+负载均衡

    #user nobody; # 进程数=CPU总核数 worker_processes 2; #error_log logs/error.log; #error_log logs/error.log ...

  4. 简化RESTful开发,Spring Data REST让你少掉发

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! 前言 Springboot + Spring MVC大大简化了Web应用的RESTful开发,而Spring Data RE ...

  5. Vue组件通信之父传子

    一般情况下,子组件中无法直接使用父组件的变量.借助子组件的props选项可以实现这一点. 这里我将一个vue实例作为一个父组件: const app = new Vue({ el:'#div1', d ...

  6. Flutter 容器(6) - FractionallySizedBox

    FractionallySizedBox 用法与SizedBox类似,只不过FractionallySizedBox的宽高是百分比大小,widthFactor,heightFactor参数就是相对于父 ...

  7. ElasticSearch 7.X版本19个常用的查询语句

    整理一篇常用的CRUD查询语句,之前这篇文件是在17年左右发表的,从英文翻译过来,现在采用7.x 版本进行实验,弃用的功能或者参数,我这边会进行更新,一起来学习吧. 为了演示不同类型的 Elastic ...

  8. 基于OpenSIPS 实现分机注册服务服务器

    呼叫中心平台中坐席是不可或缺的一环,而坐席打电话自然需要使用办公分机.通常情况下我们通过软交换平台FreeSWITCH.Asterisk即可搭建分机注册服务. 但单台FreeSWITCH或Asteri ...

  9. powerMock和mockito使用

    powerMock和mockito powermock和mockito都是做mock的框架,powermock在mockito的基础上扩展而来,支持mockito的操作(也支持别的mock框架比如ea ...

  10. 基础知识、DOS命令

    一.信息安全 1.信息源认证   https 访问控制   ACL   :不能有非法软件驻留   :不能含有未授权的操作等 2.2017-OWASP-TOP5 注入  :失效的身份认证和回话配置 :跨 ...