银行IT vs 互联网IT

本人在四大行的软件开发中心工作 2 年,以及在 1.5 线互联网工作 2.5 年。

本期话题主要讨论:

  1. 银行 IT 和互联网 IT 招聘流程
  2. 银行 IT 和互联网 IT 职位以及薪资差异
  3. 银行 IT 和互联网 IT 技术栈
  4. 银行 IT 和互联网 IT 项目发布流程

适用于:计算机专业应届生/银行 IT 想跳槽到互联网公司的工程师/互联网公司想跳槽到银行体制内的工程师。

本次对比仅限于普通开发/测试的岗位,不针对高级架构师/AI算法相关的岗位。对于人工智能的岗位,目前也是互联网大厂才有,而对于银行IT也是部分分部才有,不具有普遍性。

招聘流程

银行IT

银行IT的应届招聘更像公务员招聘。一般来说是需要进行网申的。申请时间一般在秋季,因各个银行而异,并且都是在各个银行的官网进行网申。

网申通过后,会有在线考试,一般题目和公务员的考试的类似,逻辑题,英文等等,这个期间不会涉及到技术问题。

如果在线考试通过后,你会收到onsite面试的通知邀请,去现场面试。这个时候面试一般是部门的老总,这时也不会涉及很多技术的问题,但是不排除问一些很基础的技术问题。当年我被问了一些智力题,答得也不怎么好,但是也通过了。感觉主要是考察这个人的应变和逻辑思维能力吧。总的来说,作为应届生,一般不会被问很多技术的问题,但是需要得体大方,充满自信则可。

如果是社招的话,具体要看公司有没有名额,像四大行可能会卡的比较死,譬如四六级必须通过,研究生学历加分等等。我身边也有同事是先从外包干起,后来领导赏识你,一到招聘有缺口,就会想方设法弄你进来。但是前提是你本身条件不能太差,譬如你是专科学历,可能很悬。另外,也有外部招聘进来的,总的来说一般是银行跳银行的比较多,也有互联网公司跳进来的。但是,本科学历应该是必须的,如果是研究生学历可能进来的级别会高一点,最高不会超过经理二级。

总结:银行IT非常看重学历/证书等硬件条件,社招以工作年限和学历来定级,基本技术好坏不会有很大的影响。

互联网IT

以我所在的互联网公司为例,校招流程都是和很多互联网公司一样,先是现场笔试,然后通过的同学会有电话面试,电话面试通过以后,可能会有一到两轮的现场面试。不管是面试还是笔试,题目都倾向于大学时的基础算法和数据结构,这块网上应该能找到很多资料这里就不赘述了。

对于社招其实也一样,不过还是得分面试官,有的面试官喜欢算法,可能会出算法/Leetcode的题目,但是有的面试官喜欢问你项目的经验,那可能会涉及到你简历的项目经验为主。

一般来说,社招会有四到五轮的面试,最后一面一般是hr面试,其实也是主要和hr谈薪酬。

总的来说,互联网公司对技术考核要求高,而且一般规模越小的公司越是希望你进来就能干活,因此要求你对他们的技术栈熟悉。

职位

银行IT的职称并不像互联网公司那样严格划分测试/开发工程师,我是指评级方面,但是职位分工确实异常明确的。听起来有点矛盾,其实并不是。

首先以某四大行之一的软件开发中心为例,评级分为:文员,经理助理,经理一,经理二,经理三,高级经理,再往上就是部门老总了,基本是目前年轻人一辈子可望不可以及了。

很多人很纳闷这个职称,但是这个确是和工资完全挂钩的,当然每个等级也会有每个季度的考核。以一个顶级考核的经理一为例,可能会超过普通考核的经理二,考核主要分为A/B/C/D等级。

那么会有人问,做开发和做测试是不是在同一等级工资差不多?答案是的,而且在某些业务比较坑的部门,测试升职比开发快多了。

因为很多情况下,都是结果导向性的,然后很多60后/70后领导的思维就是谁开发的程序谁负责,最后bug也是开发改的,那当然开发要承担主要责任啦。所以,如果要混日子的话,确实开发工程师会比较爽一点。但是也有一个好处,是金子总会发光的,有技术的人,最终还是被重用的,只不过,他们会告诉需要熬一定时间。

银行IT里面主要职能的职位有哪些?

  • 开发工程师(前端/后端/主机COBOL)
  • 测试工程师(其中分为开发中心的测试,以及还有一个数据中心也是做测试的)
  • 运维部署人员
  • 项目经理(一般来说只做项目统筹沟通之类的工作)
  • 办公室人员/文档管理等高职能部门(一般来说年轻人进不去)

很多人好奇为啥银行没有产品经理,可能某些银行有,但是其实开发的需求是直接来自于总行或者分行的业务人员的,他们就相当于产品经理。

但是他们都对技术很陌生,有可能提出不切实际的需求,同时开发人员只会从技术角度考虑问题,而且偏向于保守,所以有时导致银行系的产品易用性比较低。

与之相比的互联网公司的职位就是比较明确了,完全就以技术考量的,也不存在开发和测试一样薪资的情况。

大概可以划分为:

  • 开发:有分前端后端全栈等等,各种编程语言
  • 测试
  • 产品
  • Devops/运维
  • 算法工程师/机器学习工程师
  • UI设计/视觉

互联网行业的薪资差异比较大,尤其大公司和小公司,但是一般来说在一线或者二线公司工作两三年,拿到20+w税前是没有问题的,不考虑顶尖程序员(SSP除外,大家都知道现在应届生倒挂比较严重的问题)。就一般水平来说,工作3-5年在一线大厂拿到30-35w的年薪是比较正常的,是指正态分布的平均水平。

同样地,银行与银行之间的差异也非常大,譬如同样是经理二,税前年薪差上10w。这些信息需要因人而异。但是不管怎么样,经理二是一定有20+w的,但是很多人基本职业瓶颈也在于此。极少数能突破从经理二升到经理三的。

总结

就个人总结,大家都知道高斯分布,大部分的人都是相对平凡的,针对于绝大多数人来说,如果能体制内的话,裁员风险会更小的,并且心态放好,安安稳稳,不要过于攀比的话也是挺舒服的。但是需要在银行IT里面相对舒服的部门,就算是同样的开发部门,也有人累的要死,有的人闲的要死。

而且如果本身对技术追求不太高的话,去银行IT的职能部门性价比非常高,起码职业发展是稳健的。

如何定义职业发展是否稳健?

我们定义一位普通人在互联网公司,升迁的评比主要是技术能力,带队能力等等,首先开发技术发展是很快的,不信可以看看APP开发,由原生到React/Hybrid再到现在flutter才多少年?更不用说前端。这个时候就意味着你需要不断跟着技术发展走,并且还要跟着公司业务走。一旦整个行业的这方面业务不行,公司个体必受影响,如果转行也会导致之前的积累前功尽弃。

银行IT相对不会有这个冲击问题,如果行业受到冲击最多是福利减少一点,或者年终少一点,总不会逼着你转行。尤其是职能部门,总体来说是会资历越老越吃香。

所以对于银行IT或者互联网IT大家可以根据上述信息自行判断。

技术栈

总体来说银行IT的技术栈比较保守,首先说一个重要方面。估计很多互联网公司的人转去银行IT都会面临的。

好的互联网公司是可以选择自己的开发机器的,你可以选择WIN或者MAC,甚至可以自带自己的机器。但是银行IT基本不可能,肯定都是用WIN,而且开发机器是绝对不可能能连外网。(可能在研究人工智能或者比较前沿的银行实验室可以,但是普通开发岗是不行的)

以前都是通过一个网吧机或者手机查资料,现在据说有外网WIFI,但是你办公的机器无法连,只能自己带设备。

为什么我觉得这点很重要呢?因为我从离开银行IT以后基本就没用WIN做主力开发了,用惯MAC的人是回不到WIN的,这点懂的人自然懂,所以我必须要强调。

银行IT开发栈:

  1. (IOE体系)这个大家应该都是IBM的主机,Oracle的数据库,EMC的存储。IBM的主机是大型机,用的是COBOL语言,一门过程式的语言。但是现在银行都在争取去IOE,因为以前分布式技术并没有发展很好,银行主要业务就是赚钱啊,直接购置了IBM大型机。现在去IOE的话,可能会用上mysql/java等技术吧。而且像主机的话也是四大行用的多,小银行基本用不起。
  2. 后端:基本都是java web/SSM(Spring、SpringMVC和Mybatis)为主。我记得那会老的项目还是用JDK1.4,稍微新的都是JDK1.6,不知道现在的情况了。
  3. 前端:以前是直接写原生用JQ的,现在会用VUE或者Reactjs,这块其实和互联网公司比较靠近了。前端变化太快了,我只是全沾工程师,我就不多赘述了。
  4. GIT/Jenkins: Git做版本管理,有的部门会用Jenkins做持续集成

整体架构我了解到的:基本都是去IOE的架构处理外围数据,最终都是由主机处理核心数据。

互联网技术栈:

  1. 前端:和银行IT一样基本就是VUE或者Reactjs,部分是angular
  2. 后端:基本啥都有了。但是有的公司,会转型用Golang(不得不说Go的开发速度真的快),有的用Java,或者Python,Ruby,PHP甚至C等等。其实是很碎片化的,譬如腾讯,马爸爸当年就是用C的,所以很多项目都是取决于当年leader使用的语言,除非是完全新的业务线或者产品。这里问题就是,虽说编程语言都是相似,但是一些具体的特性,和你想要用得出神入化,还需要时间积累的,这就给跳槽的人加上无形的壁垒。
  3. 持续集成及部署:我知道的有是Jenkins持续集成,普罗米修斯做监控,K8S/Docker做部署。
  4. 数据库:基本Mysql,redis,MongoDB都用过

整体架构:load balancer-》nginx-〉应用服务。可能会有两层LB。

项目发布流程

银行IT:

1.开发工程师开发好
2.测试人员测试功能
3.版本人员发布到测试服
4.另外一批测试的人员测试整个流程
5.发布到模拟真实环境的测试服测试
6.运维人员正式投入生产

上述过程,5,6开发人员都接触不到服务器了,只能通过查询系统查询数据回来分析问题,一旦出现问题都是很烦的。这无可厚非,毕竟是银行,数据为贵!不可能让你直接接触生产环境。

互联网IT的话就不必多说了,相当灵活。

  1. 开发功能
  2. jenkins自动构建生成Docker-compose的包,测试人员下载直接测试
  3. 测试通过直接通过K8S把APP部署

如果发现问题,一般来说都可以通过跳板机链接到服务器取数,也有可能有查数系统,让你执行SQL,这个具体因为公司而异。

结语

第一次码了快4k的字,希望对大家有所帮助,后来我会出一系列的gitchat关于,怎么由后端开发转入机器学习,以及机器学习如何从小白入门的文章。由于机器学习的知识相对稳定,理论变化没有各种开发框架那么大,门槛也高,相对来说前景是好的。如果后面我进入相应的岗位工作,我也会第一时间分享给大家的,欢迎继续关注我,可以关注我的公众号:faith写字的地方。

谢谢阅读。# 欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值