就聊聊不少小IT公司的技术总监
本文想告诉大家如下两个观点。
1 很多IT小公司的技术总监,论能力其实也就是相当于大公司的高级程序员。
2 程序员在职业发展过程中,绝对应该优先考虑进大厂或好公司。如果仅仅停留在小公司,由于小公司可能无法接触到值钱的技术,所以哪怕做到小公司的技术总监,依然可能会遇到大龄危机。
我见过不少小公司,比如某软件园里有很多栋楼,有些软件公司可能也就占一个或多个楼层,甚至只占了几个房间,这种公司一般也就十几号开发,顶两天也就一百多个开发,这类公司的不少技术总监,能力上和一般的开发有什么差别呢?
1 一定是非常熟悉业务,比如公司做的一个电商物流系统,技术总监一定会知道每个模块的边边角角细节,不过熟悉某个公司的业务知识在跳槽时对自己的帮助并不大。
2 熟悉各种项目管理和测试工具,比如git,maven,gradle,postman,同时知道项目在开发完成后如何确保质量,如何发布到产线上。这些技术点可能不少大厂程序员不会认为什么,但在不少小公司里,能做熟这些工作的人并不多。
3 知道各种组件的基本用法,比如知道微服务组件或容器的各种用法,但相比于大公司,这些小公司的技术总监真有不少只会用api,只知道基本的配置。
4 大公司的技术总监,往往需要架构方面的技能,比如能根据业务,搭建能应对高并发,能确保高可用的系统架构,同时需要搭建监控系统确保系统能正常运行,如果出了问题,大公司的技术总监往往要兜底,即别人排查不了的问题自己要顶上。但小公司的技术总监更多的职责是管人,即会多承担项目经理的角色。
下面我就说说我见到的不少小公司技术总监的一些情况。
1 本人的一个朋友,在某软件园开了一个接外包单子的公司,开发人数是20多号人。这个公司用的技术是spring boot系列,比较偏重于单机版,不怎么用到分布式组件。
其中的技术总监,平时的工作时和客户去谈需求,然后把需求拆分成若干个模块让手下人开发,由于小公司的技术栈并不复杂,也就用到spring boot+数据库,外带些logback写日志等的组件,所以一些刚毕业的程序员,只要在大公司里呆个2,3年,都能达到这个程度。
2 本人也见过在一个某开发区公司的技术总监,这个公司是做外贸业务的,开发人员大概有10个20个人,用到的是java技术栈。
这位技术总监,平时更多的承担的是产品+项目经理的角色,论java技术,一些比较普遍redis集群或spring cloud alibaba组件集群,他都认为很高深。给本人印象比较深的是,当时本人给他们系统搭建了一个基于nacos双节点的服务治理集群,一个节点失效了另一个节点能顶上去,这位技术总监就认为这是很稀奇的事情了。
3 某个开发区内某小公司的技术总监,要搭建公司的业务架构,本人参与了一些,也了解了小公司里搭建架构的具体做法。
具体包括,先搭建好git代码环境,然后为每个机器安装好IDEA+Gradle环境,找个服务器搭建Oracle数据库,同时确保每个开发人员都能用客户端连到数据库上。业务架构层面,就用spring boot控制器+service+repo层,同时写了些通用性的方法,比如连数据库和写日志的通用方法。
当然必要时再会引入redis和kakfa等组件,是先找个服务器安装好组件,然后写一些通用性的方法告诉底下人怎么用。在项目开发好以后,这位技术总监还要负责把产品部署到服务器上。
从上述的描述里大家可以看到,不少小公司的技术总监,平时干的更多是产品+管人+系统部署维护+日常修bug的活,或者说更多干的是打杂的事情。要说干的活里包含多少技术含量,这倒也未必。不过这些技术总监可能虽然在当下公司不可或缺,甚至是威风凛凛,但如果要跳槽,会发现自己真可能缺乏必要的竞争力。
1 按21年22年的行情,我见过的不少小公司技术总监,年薪基本没有过40w的,一般也月入3w就不错了,毕竟小公司盈利能力有限,抗风险的能力也有限,一般给不了高薪,但如果去大公司,一个30岁的程序员要个月薪3w问题不大。
2 要做到技术总监,哪怕是小公司,一般也要35岁左右了,这样的年纪再去跳槽,技术上又没核心竞争力,虽然掌握些管人和产品方面的技能,但要去大公司真不容易。
3 再说这些技术总监跳槽时能展示什么技术呢?大公司所要的云,容器,高并发或集群等,由于小公司基本上没有必要花钱使用,所以有些小公司的技术总监论技术真没什么竞争力。
写到这里,本人想说的是,程序员在职业发展过程中,固然要走技术路线,比如要多掌握架构或其它方面的的值钱技能。但是如果只在小公司之间辗转,薪资也能会提升,职位也可能会慢慢累积到技术总监的级别,但如果只在小公司发展,薪资和发展空间一定会受限。原因也好理解,小公司未必有值钱技术的使用机会,而小公司更加会偏重业务。
所以,比如有3年工作经验的程序员,当下公司的规模不大,在跳槽时,如果遇到小公司高级职位和大公司低级职位的选择时,应当毫不犹豫地选大公司,甚至在选跳槽公司时,应当目标就该定位大公司。至于怎么选,怎么准备大公司的面试,怎么过大公司的面试,本人有太多的文章,这里就不想继续展开了。
本人最后想说的是,大龄程序员,比如35岁以上的程序员,跳槽时对方优先看大公司经历,再看值钱技术在项目里的使用情况,再看有没有值钱技术(比如集群架构云等)的排查问题搭建环境方面的能力。而哪怕在大龄时做到了一些小公司的技术总监,如果缺乏些大公司的经历,遇到本公司有变故时,跳槽找工作时真可能不仅仅是薪资大减的问题,真可能是连简历都没人收了。
就聊聊不少小IT公司的技术总监的更多相关文章
- CTO、技术总监、首席架构师的区别
2016年11月30日13:22:26[转] CTO.技术总监.首席架构师的区别 提升自已的能力,比如专业技术,行业发展趋势,技术发展趋势,协调能力,组织能力,管理能力等[技术总监] 需要从技术总监和 ...
- [转载]CTO和技术总监区别
原文地址:http://blog.sina.com.cn/s/blog_6024cfa90101cb0h.html 技术总监(Chief Technical Officer)与CTO(Chief Te ...
- 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)[转]
我一直在思考软件公司如何开源节流.当然,老板也在思考开源节流.当然,老板思考的开源节流在公司运营层面上,而我作为CTO,我考虑的则是在产品运营角度上来思考这个问题.否则,一个软件公司,它的生存与发展就 ...
- 《王者荣耀》技术总监复盘回炉历程:没跨过这三座大山,就是另一款MOBA霸占市场了
如今已经大获市场成功的<王者荣耀>一直是业内各方关注的对象,而我们也知道这款产品在成为国民级游戏之前,也遇到过一段鲜有人知的调优期.也就是在2015年8月18号正式不删档测试版本推出之后, ...
- 【转】《王者荣耀》技术总监复盘回炉历程:没跨过这三座大山,就是另一款MOBA霸占市场了
如今已经大获市场成功的<王者荣耀>一直是业内各方关注的对象,而我们也知道这款产品在成为国民级游戏之前,也遇到过一段鲜有人知的调优期.也就是在2015年8月18号正式不删档测试版本推出之后, ...
- CTO(技术总监)平时都在做些什么?
目前创业,最后一家公司任职医疗科技公司的研发中心总经理,之前也在几家公司的任职研发/技术总监岗位,在我理解的范围,目前国内中小企业对于CTO/技术总监的岗位区别没有那么明确的职能区分. 1. 先总结 ...
- Atitit.cto 与技术总监的区别
Atitit.cto 与技术总监的区别 1. 核心区别1 2. Cto主要职责1 3. 如何提升到cto1 4. CTO五种基本的必备素质:2 5. 2 1. 核心区别 技术总监(Chief Tech ...
- IT软件技术人员的职位路线(从程序员到技术总监) - 部门管理经验谈
以前写过一个文(IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章),主要介绍笔者的职业发展之路,不过该文需要后续了,因为笔者现在从事的是“产品经理”一职.从笔者的导航文([置顶]博文快 ...
- [转]CTO、技术总监、首席架构师的区别
经常有创业公司老板来拜访我,常常会拜托给我一句话:帮我找一个CTO. 我解释的多了,所以想把这个写下来,看看你到底需要的应该是啥. 一.高级程序员 如果你是一个刚刚创业的公司,公司没有专职产品经理和项 ...
- 【转】】CTO、技术总监、首席架构师的区别
经常有创业公司老板来拜访我,常常会拜托给我一句话:帮我找一个CTO. 我解释的多了,所以想把这个写下来,看看你到底需要的应该是啥. 一.高级程序员 如果你是一个刚刚创业的公司,公司没有专职产品经理和项 ...
随机推荐
- C++编程范式(函数)
1 // 2 // main.cpp 3 // test 4 // 5 // Created by Shaojun on 30/5/2020. 6 // Copyright 2020 Shaojun. ...
- MyBatis的各种查询功能
1.查询一个实体类对象 /** * 根据用户id查询用户信息 * @param id * @return */ User getUserById(@Param("id") int ...
- C++之值传递&指针传递&引用传递详解
C++之值传递&指针传递&引用传递详解 目录 C++之值传递&指针传递&引用传递详解 1.函数基础 2.值传递 3.指针传递 4.引用传递 1.函数基础 一个函数由以下 ...
- Linux进程间通信(二)
信号 信号的概念 信号是Linux进程间通信的最古老的一种方式.信号是软件中断,是一种异步通信的方式.信号可以导致一个正在运行的进程被另一个正在运行的异步进程中断,转而处理某个突发事件. 一旦产生信号 ...
- day03-CSS
CSS 1.css介绍 css指的是层叠样式表(cascading style sheets) 官方文档:https://www.w3school.com.cn/css/index.asp 为什么需要 ...
- 实验6:开源控制器实———RYU
一.实验目的 1.能够独立部署RYU控制器: 2.能够理解RYU控制器实现软件定义的集线器原理: 3.能够理解RYU控制器实现软件定义的交换机原理. 二.实验环境 Ubuntu 20.04 Deskt ...
- 基于案例分析 MySQL Group Replication 的故障检测流程
故障检测(Failure Detection)是 Group Replication 的一个核心功能模块,通过它可以及时识别集群中的故障节点,并将故障节点从集群中剔除掉.如果不将故障节点及时剔除的话, ...
- Sprint产品待办列表的优先级要怎么排?
在梳理产品待办事项列表的过程中,产品负责人需要先做优先级排列,保证我们 在一定的时间盒内能够交付需要优先级最高.最具价值的用户故事. 那这个用户故事的优先级要怎么排列,我们怎样选择用户故事的实现顺序? ...
- JVM运行时数据区域详解
参考文章: <Java Se11 虚拟机规范> <深入理解Java虚拟机-JVM高级特性与最佳实践 第3版>- 周志明 本文基于Java Se 11讲解. 根据<Java ...
- el-select实现下拉框触底加载更多
当下拉框需要展示的数据有很多时,几千甚至上万条,一次性全部请求回来再按照特定格式比如 id-name 去处理数据的话,不论是从接口还是前端,这个性能都不是很好,会造成下拉框初次打开时响应很慢,影响用户 ...