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

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. PHP全栈开发(八):CSS Ⅱ 创建

    CSS一共有三种创建方式,分别是 外部样式表 内部样式表 内联样式表 外部样式表顾名思义,是将HTML文件与CSS文件分开,形成两个独立的文件,CSS文件以.css结尾. 我们可以在HTML的头部里面 ...

  2. 快速上手Spring项目

    通过maven依赖管理导入所需Jar包 注 : spring 需要导入commons-logging进行日志记录 . 我们利用maven , 他会自动下载对应的依赖项 . <dependency ...

  3. day49-JDBC和连接池05

    JDBC和连接池05 11.BasicDAO 先来分析一个问题 前面我们使用了Apache-DBUtils和Druid简化了JDBC开发,但仍存在以下不足: SQL语句是固定的,不能通过参数传入,通用 ...

  4. 成功解决Initialization failed for ‘https://start.spring.io‘ Please check URL, network and proxy settings

    文章目录 1.问题描述 2.问题的解决方式 2.1 查看网络连接问题 2.2 设置代理 2.3 直接连接阿里云下载模板 1.问题描述 建立springboot项目的时候发现不能初始化成功,我真的栓Q ...

  5. javascript编程单线程之异步模式Asynchronous

    异步模式Asynchronous 不会等待这个任务结束才开始执行下一个任务,开启之后立即执行下一个任务,后续逻辑一般会通过回调函数的方式定义,异步模式对js 非常重要,没有异步任务单线程的 js 语言 ...

  6. 恭喜磊哥喜提n+1

    昨天下午两点多磊哥突然喊我下楼,第一反应是"这孙子,抽烟就直说,还说个事,你以外你是吉祥村大姐啊". 心里骂完以后我慢慢悠悠下楼了,见他在打电话我先默默点上一支,准备待他结束以后对 ...

  7. 23种设计模式之自定义Spring框架(五)

    7,自定义Spring框架 7.1 spring使用回顾 自定义spring框架前,先回顾一下spring框架的使用,从而分析spring的核心,并对核心功能进行模拟. 数据访问层.定义UserDao ...

  8. JavaScript之数组高阶API—reduce()

    一文搞懂JavaScript数组中最难的数组API--reduce() 前面我们讲了数组的一些基本方法,今天给大家讲一下数组的reduce(),它是数组里面非常重要也是比较难的函数,那么这篇文章就好好 ...

  9. 部署redis集群

    1.redis部署 redis单实例部署参考:https://www.cnblogs.com/silgen/p/16537299.html 版本:6.2.7 集群:6个节点(redis集群至少3个节点 ...

  10. 1.python基础使用

    1.git简介 git是一个免费的开源的分布式版本控制系统,可以快速高效的处理从小型到大型项目的所有事务 在实际工作中可以保留项目的所有版本,可以快速的实现版本的回滚和修改 git整体可以分为4个区域 ...