中小企业程序员应该掌握的技能与知识

简介: 对于初级开发工程师来说,可能是程序猿阶级中最低等级的了,日常的工作也比较简单,通常我会分配给该职位员工简单的接口与搬砖工作。例如在OA的项目中,编写公告的curd接口,编写日历维护等curd接口,这类接口不涉及到业务,主要考验的是否掌握接口的基本写法。

各个级别程序员需要的技能

1.初级开发工程师/实习生

对于初级开发工程师来说,可能是程序猿阶级中最低等级的了,日常的工作也比较简单,通常我会分配给该职位员工简单的接口与搬砖工作。例如在OA的项目中,编写公告的curd接口,编写日历维护等curd接口,这类接口不涉及到业务,主要考验的是否掌握接口的基本写法。

所以对于领导关注的点就是按照时间节点写完接口,并保证数据处理准确即可。

1.应该掌握的技术栈

通过以上背景,博主总结了以下是需要掌握的技能。其中标记小红旗的为重点掌握知识。

掌握java常用的技能。

掌握spring,熟练应用IOC与AOP。了解底层原理。

掌握数据库概念,常用语法,重点掌握增删改查语句。

掌握mybatis常用标签,重点掌握增删改查写法。

了解springboot概念与文件结构,重点掌握增删改查业务写法与常用注解。

熟练使用idea、navicat、postman等开发工具。

了解微服务概念。

了解redis中间件。

2.为何需要

由图可以看出以上技能都为curd做准备。首先springboot+spring+mybaits为最流行的框架,是接口编写的基石。java基础必须掌握牢靠,否则数据比较的坑就够你喝一壶的。熟练使用开发工具能够帮你提升代码编写效率规范。了解部分中间件与微服务概念为下一步的提升搭建了桥梁。Mysql语句不会???请出门右转。以上都是必须必须的技能,缺一不可。

2.中级开发工程师

中级开发工程师是一个公司的最多也是最核心的职位,因为大多数都是业务骨干,负责业务代码的堆砌,必须时也负责管理指导初级开发工程师。所以,在工作中我会分配给比较复杂的接口,如组织架构相关接口,定时任务接口,用户接口,因为这些接口涉及到权限、返回格式、日志留存、基础应用等,因为这些初级程序员很难胜任,这就需要中级工程师编写。

1.应该掌握的技术栈

相对于初级开发工程师,以下是应该提高的点。

掌握lanmda与stream流写法。

理解spring、mybatis、springboot的底层原理。

掌握常见常用的sql优化规则。

掌握springboot功能性start。

理解微服务,最低标准为独自落地demo。

使用过redis和rabbitmq中间件。

掌握常用的设计模式。

2.为何需要

中级工程师的基础是业务接口非常熟练,需要多架构、管理、整体的统筹做到提高。

首先要有良好的代码格式,注释格式。并善于使用工具类,如函数式接口、p3c代码检测工具。且适当使用设计模式重构代码,并能够将自身的原则与想法传递到初级工程师,这样项目才能有着良性的运行条件。

对springboot+mybatis+spring等常用框架的源码有这一定了解,这不是背八股文,在了解一定底层原理后能够通过日志更加快速的定位问题。同时对于springboot提供的一系列start,要有着使用的经验,如:websocket、quartz、邮件、短信,都非常常用,同时在业务难度上也略大于普通接口,可以扩展自身的能力。

然后需要对一些中间件有这基础的应用与了解,我认为至少掌握redis、mq,因为中小企业使用该中间的几率很大。同时已经内卷成必会问题了。

可能有点小伙伴会问了中小企业是否需要掌握微服务?答案是一定要,因为很多政府项目的市局领导会在竞标文件上提到要上云,上微服务。所以中级工程师起码要有微服务demo搭建的经历。

最后需要掌握sql优化的常用场景。

以上就是中级工程师需要提升的技能,有多少人终生就停留在这个阶段,而市面上所说的30岁被淘汰的也是这些人。所以这是一个培养能力的重要阶段,并尽量上升到高级工程师。

3.高级开发工程师

在中小企业来说,高级工程师已经是技术的带头人了。对于高级开发工程师来说,更多是解决问题的能力。

什么是解决问题能力?我的理解是无论遇到什么问题,无论你是谷歌百度搜索,还是请教业界大佬,只要能解决就ok。

也要求你无论在技术深度还是广度上都有一定的积累。对于源码与底层原理也有一定的涉足,适当时机需要更改源码解决问题。同时在架构方面也有一定理解和建设,能够根据公司条件优化和建设符合场景的优化。同时善于利用开源解决问题。

所以博主认为高级工程师需要掌握以下技能:

1.技术掌握

起码阅读过spring、mybatis、springboot源码,并充分理解。

对分布式有这一定了解。(ps:虽然使用场景不多)

掌握explain语句,熟练优化sql。

能够根据公司情况制定代码规范与代码检查机制。

掌握常用的linux语句。

掌握架构的设计能力。能够落地常见的架构配置。

了解和掌握一种安全框架。

对微服务有这自己的见解。能够针对环境选型。

了解热门的开源框架,并能通过开源解决问题。

相关文章
|
机器学习/深度学习 算法 架构师
哪几种程序员更容易走上管理岗位
  也许你早已决定做一名管理者,又或者你刚刚有这个打算,不管哪种情况,你是否已经和你的上级交流过这个问题呢?   在我调研过的几百位新经理中,只有15%左右和上级表达过管理意愿,我自己培养的几十位新经理中,明确表示自己想做管理的,也只有大约20%左右,这个比例很低。所以,如果我猜你没有跟上级表达过你的意愿,大概率能猜对。   你可能会说,如果上级觉得我能干,肯定会给我机会的;如果觉得我不行,表达也没用。而事实上,这个问题往往不会这么绝对。对于明确表达自己意愿的工程师,即便不能立刻满足他们的期待,但在有合适岗位的时候,他们的确会被优先考虑。因为对于做管理来说,个人意愿很重要,没有意愿就没有主
116 0
|
8月前
|
缓存 NoSQL Java
提升职场竞争力,掌握高级开发面试知识!
提升职场竞争力,掌握高级开发面试知识!
|
Android开发 开发者 UED
创业开发团队的9个误区
如今的创业公司面临的最大问题就是服务交付的速度,创业公司的开发者也与创业团队的其他成员一样,整天忙于救火,因此往往搞错重点和优先级,并最终为公司带来大麻烦。
240 0
创业开发团队的9个误区
|
人工智能 物联网 程序员
十年职场人教你选专业:不知道自己兴趣在哪,该如何选合适专业
作为十年职场人,能否指导下我选专业,我也不知道自己兴趣爱好在哪,之前都是听父母安排,现在我想自己为以后的人生做主,我该选什么专业呢?
|
前端开发 架构师 关系型数据库
架构师速成5.2-如何掌握综合性技能
买菜、洗菜、切菜很多人都会,但是把几种菜混在一起做成一道可口的佳肴就不是一般人能掌握的。 今天就讲解一下如何学会做一道好菜。 举个例子,做网站,其实跟做菜一样。 先看菜谱,看需要哪些配料,做网站,当然需要html,css,js,java,mysql这些菜,当然还需要设计模式、面向对象、框架这些调料,eclipse这样的刀,另外还需要tomcat这样的锅。 磨刀 基本工具
1335 0
|
开发工具 开发者 UED
五种关键的软技能可以让软件开发人员脱颖而出
五种关键的软技能可以让软件开发人员脱颖而出
122 0
|
10月前
|
架构师 程序员
为什么35岁的问题在程序员这个行业中尤其突出
为什么35岁的问题在程序员这个行业中尤其突出
|
程序员
提高程序员职场价值的10大技巧
开发技巧No. 1:博客   建立自己的博客,每月至少发布一篇文章。做点研究,因为只有自己亲身经历过,才能言之有物,不会听上去像吹牛皮。学会如何写文章,像以前你的老师教的那样:列大纲,描述情节,最后检查语法和错别字。
799 0