本文想告诉大家如下两个观点。

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公司的技术总监的更多相关文章

  1. CTO、技术总监、首席架构师的区别

    2016年11月30日13:22:26[转] CTO.技术总监.首席架构师的区别 提升自已的能力,比如专业技术,行业发展趋势,技术发展趋势,协调能力,组织能力,管理能力等[技术总监] 需要从技术总监和 ...

  2. [转载]CTO和技术总监区别

    原文地址:http://blog.sina.com.cn/s/blog_6024cfa90101cb0h.html 技术总监(Chief Technical Officer)与CTO(Chief Te ...

  3. 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)[转]

    我一直在思考软件公司如何开源节流.当然,老板也在思考开源节流.当然,老板思考的开源节流在公司运营层面上,而我作为CTO,我考虑的则是在产品运营角度上来思考这个问题.否则,一个软件公司,它的生存与发展就 ...

  4. 《王者荣耀》技术总监复盘回炉历程:没跨过这三座大山,就是另一款MOBA霸占市场了

    如今已经大获市场成功的<王者荣耀>一直是业内各方关注的对象,而我们也知道这款产品在成为国民级游戏之前,也遇到过一段鲜有人知的调优期.也就是在2015年8月18号正式不删档测试版本推出之后, ...

  5. 【转】《王者荣耀》技术总监复盘回炉历程:没跨过这三座大山,就是另一款MOBA霸占市场了

    如今已经大获市场成功的<王者荣耀>一直是业内各方关注的对象,而我们也知道这款产品在成为国民级游戏之前,也遇到过一段鲜有人知的调优期.也就是在2015年8月18号正式不删档测试版本推出之后, ...

  6. CTO(技术总监)平时都在做些什么?

    ​目前创业,最后一家公司任职医疗科技公司的研发中心总经理,之前也在几家公司的任职研发/技术总监岗位,在我理解的范围,目前国内中小企业对于CTO/技术总监的岗位区别没有那么明确的职能区分. 1. 先总结 ...

  7. Atitit.cto 与技术总监的区别

    Atitit.cto 与技术总监的区别 1. 核心区别1 2. Cto主要职责1 3. 如何提升到cto1 4. CTO五种基本的必备素质:2 5. 2 1. 核心区别 技术总监(Chief Tech ...

  8. IT软件技术人员的职位路线(从程序员到技术总监) - 部门管理经验谈

    以前写过一个文(IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章),主要介绍笔者的职业发展之路,不过该文需要后续了,因为笔者现在从事的是“产品经理”一职.从笔者的导航文([置顶]博文快 ...

  9. [转]CTO、技术总监、首席架构师的区别

    经常有创业公司老板来拜访我,常常会拜托给我一句话:帮我找一个CTO. 我解释的多了,所以想把这个写下来,看看你到底需要的应该是啥. 一.高级程序员 如果你是一个刚刚创业的公司,公司没有专职产品经理和项 ...

  10. 【转】】CTO、技术总监、首席架构师的区别

    经常有创业公司老板来拜访我,常常会拜托给我一句话:帮我找一个CTO. 我解释的多了,所以想把这个写下来,看看你到底需要的应该是啥. 一.高级程序员 如果你是一个刚刚创业的公司,公司没有专职产品经理和项 ...

随机推荐

  1. gradle项目对比maven项目的目录架构以及对gradle wrapper的理解

    转载请注明出处: 1.使用 idea 搭建 gradle项目 注意 type 选择 gradle 以及 language 选择 grooy                       搭建后的项目架构 ...

  2. <三>从编译器角度理解C++代码编译和链接原理

    1代码 点击查看代码 **sum.cpp** int gdata=10; int sum(int a,int b){ return a+b; } **main.cpp** extern int gda ...

  3. 【python】Ubuntu中多条命令的运行

    在模型训练时,往往需要消融实验,通常都是在一个程序运行结束后才再次手动运行下一个,不及时在电脑前可能无端浪费时间,因此需要让程序自动一个接一个去执行.受此启发,特了解了Ubuntu中多命令运行的内容. ...

  4. 19.MongoDB系列之批量更新写入Groovy版

    Groovy作为脚本,比Java在数据处理中具有更高的灵活性 // 获取mongo连接略 .... def count = 0 for(Township town : townships) { Doc ...

  5. SpringBoot 2.5.5整合轻量级的分布式日志标记追踪神器TLog

    TLog能解决什么痛点 随着微服务盛行,很多公司都把系统按照业务边界拆成了很多微服务,在排错查日志的时候.因为业务链路贯穿着很多微服务节点,导致定位某个请求的日志以及上下游业务的日志会变得有些困难. ...

  6. 齐博x1内容评论标签的风格制作

    评论的标签如下: {qb:comment name="xxxxx" rows='5'} HTML代码片段 {/qb:comment} 评论涉及到的元素有{posturl} 这个是代 ...

  7. go-zero docker-compose 搭建课件服务(九):http统一返回和集成日志服务

    0.索引 go-zero docker-compose 搭建课件服务(九):http统一返回和集成日志服务 0.1源码地址 https://github.com/liuyuede123/go-zero ...

  8. 【JavaSE】抽象类、接口

    接口的诞生 接口其实就是一种标准一种规范. 先从生活中的例子讲起,理解含义和概念后,再去理解程序会更容易理解一些. 生活中接口无处不在,比如著名的USB接口,大家可以试想一下,如果没有像USB这种统一 ...

  9. nginx 客户端返回499的错误码

    我们服务器客户端一直有返回错误码499的日志,以前觉得比例不高,就没有仔细查过,最近有领导问这个问题,为什么耗时只有0.0几秒,为啥还499了?最近几天就把这个问题跟踪定位了一下,这里做个记录 网络架 ...

  10. Jenkins用户管理

    用户注册和权限管理介绍. 1. 用户注册 进入[系统管理]-[全局安全配置],进行配置: 1.1 安全域 选择[Jenkins专有用户数据库],勾选[允许用户注册],随后[保存] 1.2 用户注册 在 ...