① 程序员的职业发展方向:业务技术
程序员职业生涯发展到一定程度都会面临一个选择,是走业务+技术方向,还是选择纯钻研技术。程序员职业生涯发展的问题,这是所有程序员都在关心的问题,未来究竟要怎么走,30岁之后还能不能再做程序员。绝大多数程序员最终的职业目标可能都是CTO,做到CEO的人估计会比较少,也有一少部分人自己去创业去当老板,也有部分人转行了,当老板的人毕竟是少数,转行的人都不在这行做了,自然没什么好说的了。一般来说,程序员的发展基本上都会经历这么几条路径。程序员-系统分析员-架构师-技术经理-CTO,程序员-项目组长-项目经理-项目总监-CTO,程序员-产品设计师-产品经理-CTO。当然这只是一个大致的路径,不是所有程序员都必需要这么经历的,有些人可能跳过其中的一些步骤,也可能有些人会把中间的很多职位都做了。而最终做到CTO的程序员,也是非常少的一部分,原因很简单,这个世界上不许要那么多的CTO和CXO。也就是说,许多的程序员最终可能是做技术经理、项目经理或者项目总监之类的,那么到底我们职业生涯要选择哪一种呢?我觉得这个问题没有一个统一的答案,因为每个人的性格不一样,际遇也不一样,就像你从小希望当贪官,可是命运却偏偏让你做了一个程序员。所以应该根据你的兴趣、性格与际遇选择一条道路,比如说你正好有机会带一个项目,而你又不是很讨厌项目经理这个位置,那么你就可以选择向项目经理方向发展。实际上很多时候,有些公司并没有明确的技术经理、项目经理、产品经理之分,在许多的公司里,他们经常是由一个人承担。在外包公司里,通常会有项目经理和系统分析员(也可能是技术经理)。在一些非IT公司里,可能会是部门经理,而做自己产品的公司可能会分得比较详细一些。我大致说一下这三个职位的区别,让正在徘徊的程序员有一个大致的了解。项目经理是项目的直接负责人,这个角色相当于一个中间接口,不管是团队成员还是需求方(客户),或者是上级领导,有事都直接找他,所以这个职位着重于管理与沟通。一般来说,项目经理的工作重点在同客户沟通需求、项目进度的把控、团队的沟通方面,有些公司也会需要项目经理承担团队建设的工作,不过貌似很多国内公司都忽略了团队建设这个工作了。对于项目经理来说,重点会要求沟通能力、协调能力、危机把控能力、执行力、团队管理能力,着重于沟通、管理与计划。当然也有些公司还要求项目经历要参与招标谈判,这就要求项目经理有一定的商务谈判能力。技术经理有时候也可能叫系统分析员,一些小公司可能会整个部门有一个技术经理。技术经理承担的角色主要是系统分析、架构搭建、系统构建、代码走查等工作,如果说项目经理是总统,那么技术经理就是总理。当然不是所有公司都是这样的,有些公司项目经理是不管技术团队的,只做需求、进度和同客户沟通,那么这个时候的项目经理就好像工厂里的跟单人员了,这种情况在外包公司比较多。对于技术经理来说,着重于技术方面,你需要知道某种功能用哪些技术合适,需要知道某项功能需要多长的开发时间等。同时,技术经理也应该承担提高团队整体技术水平的工作。1143448846
② 都说程序员的职业生涯很短。老司机们能谈谈自己的感受吗后悔选择这个行业吗
这要看人了,有些人本身就不修边幅,喜欢专研,对于他们来讲当程序员还是很开心的。对于那些注重外表,贪图享乐的人实在不适合当程序员。程序员工资是比较高,当时收入和劳动是成正比的,你很可能没有花钱的时间。
③ 技术总监不懂架构,不懂代码,什么也干不了,面试什么的都要我帮他,老是
哈哈哈,咱俩相似的经历,我在上家公司也是从一名程序员一步步走到管理岗位,最后做到技术总监,后期因公司经营出现问题,被迫解散。
跟你讲讲我遇到的大神!
2020年疫情稳定后加入现公司,现公司主要是做健身体育拓展业务想做信息化,技术部是新成立的,老板对技术也是一无所知,最开始想提拔我负责技术团队,但因个人对上家公司的影响(感情太深,非矫情)一直没走出来,所以婉拒公司的好意,毕竟在初创公司做技术总监管理岗位是一件很累人的活儿(在上家单位也是跟着老板、公司一步步发展壮大的,做的第三方支付,4年时间做到了本省三方支付最强,没有之一。加班常态、技术攻关、团队协作、业务对接、商务对接等等都要去抓,典型的初创团队和工作节奏,从最初的三个人技术团队发展到50人左右)
婉拒现公司好意后,只能通过招聘渠道进行社会选拔,终于20年6月 入职了一位顶着北京归来、十余年架构师经验的大神加入,当时我还有点期待,毕竟架构师也算是业内的天花板存在,在人家身边能学不少东西呢~
可是之后的这位大神一系列骚操作,让我对“架构师”信仰崩塌的开始。。。
1、大神初来乍到,第一次部门会议(团队加上他10人规模)跟我们介绍自己,从初级程序员到中级到高级再到技术总监,然后做架构师和CTO,就差迎娶白富美走向人生巅峰了。刚接触对人家不了解,不好做评价,不过通过这次的演讲 能感觉到此人喜欢晒“光辉履历”、言语表达能力很一般,思维混乱,说话没重点。。。也许是位技术宅呢?
2、接下来两三个月大家相安无事,基本没什么沟通,大神没有做过任何技术指导,也没写过一行代码(截止目前2021年6月12日12:45分 没写代码),期间单独找过我沟通,问我想不想做他的分封的技术主管,负责后期项目的技术推进,还问我 了解springboot 和 分布式之类的,我只问了一句:涨工资吗?他说不涨,我说不干。
3、然后大神的表演正式开始,公司健身系统长久以来定时任务会重复执行,定位找原因发现是tomcat加载了两次路径配置导致,大神网络了一天,各种删除项目里的配置文件来定位问题,web.xml、spring配置统统惨遭毒手!基本没有不删的,最可怕的是 他不是在自己本地调试,而是在其他同事本地环境调试!至于为什么?因为入职三个月了,大神本地环境还没搭好!项目一片红叉,运行不起来。。此情此景,我内心是崩溃的!卧槽!卧槽!卧槽!
4、你以为结束了吗?不。。这仅仅是传奇的开始。大神刚入职那会从我们手里收回了生产权限,对比我们表示理解支持。之前我也向公司领导提议,只有技术负责人或相关岗位才有权动生产环境,其他岗位是没有资格的。结果这大神说的比唱的好听,把收回来的权限 没过两天就交给了一位新入职的技术支持工程师(类似技术客服,配合业务部门查询导出数据),技术支持工程师只会最基本的SQL增删改查(嚯!能力比大神还强!),对服务器基本一无所知。。这位兄弟按大神要求安装某些监控软件,一顿猛如虎操作 生产环境nginx当晚挂掉,下班后全体加班找原因,最终发现是端口冲突(其他人根本不清楚生产环境安装软件)。。大神惊出一身冷汗
5、大神曾经在周会上炫过自己的履历,其中有几个事迹印象特别深,其中之一是大神自称写过2万余行的存储过程,运行效率、后期维护的问题咱先不提,单单是这逻辑足以让人叹服!最强大脑不过如!然鹅,当我们向他虚心请教存储过程基本写法时。。大神自称只写过sql server数据库的,mysql不会。。 反手网络了一个基础入门教程送给我们。 你品 你细品。。
6、由于现公司系统是外包开发,所以框架免不了偷工减料,最恶心的是没有事务管理。在大神来之前我就有想法把事务加上,可是因系统业务长期迭代导致代码冗余严重,底层jdbc使用的三方dbutils,不受spring管理,改造相对麻烦。。当我给大神详细解释这个问题的前因后果及工作量,大神貌似听不懂我在说什么。只是反问我 工作量大是吗 你能改吗?要不自己写一套事务吧。。。心累
7、前面提到的技术支持工程师对SQL不是很了解,只会最基本的语法,聚合函数也不会用,所以大多数时间是需要我们给予支持的。一些有难度的SQL脚本都是我们替他写。时间久了大家也有自己的工作忙,只能敷衍他或者干脆不理。他也是没办法找大神帮忙,大神二话不说把他叫到办公室手把手教学。。半小时后技术支持回来了 一脸的茫然。我们问他 大神帮他解决问题了吗?技术支持说。。没有,大神在那吭哧了半天SQL写不出来,还告诉我回来不要告诉你们 他写不出来。。。噗~至此技术支持正式加入我们团队
8、时间来到20年底21年初,过完元旦石家庄再次爆发疫情,全市戒严,我们公司更是首当其冲收到严禁营业的通知。等3月复工后,有些人选择离开去寻找新的工作机遇,大神选择留下来继续自己的传奇故事。在前不久的周会上,大神提出了一个颠覆行业的开发测试解决方案,目前我们团队只有一位测试人员,对接3-4名开发,平时工作量挺大,需要根据任务优先级测试工作,尤其每个开发都认为自己的工作是优先级最高的,所以一直覆盖测试环境代码,导致测试人员没办法正常工作,这时大神很骄傲的宣布:以后每个工作任务完成后开发人员都要部署一套测试环境,这样就可以解决测试环境代码被覆盖的风险了!我不知道你们之前的工作是不是这样做的,但我们之前公司就是这么做的!我擦 再次震惊了 ,我急忙提问 那一个人同时有100个任务难道要部署一百套测试环境吗?大神用很白痴的目光看着我说 对 有什么问题吗? 我难以相信的再问 就算这样做,可只有1个测试人员啊!她忙不过来啊!! 大神蔑视的说 那不是你们的问题,是公司招人的事了。。 这就是我们的技术总监,一位传奇 一位行业标杆~
9、我只是简单的把印象深刻的牛逼写了出来,还有很多经典牛逼没写,诸如:大神自称一个月内 同时开发十套项目(银行系统)、大神曾经一个人负责70多台生产服务器(linux都不懂)、大神入职后写SQL 基础语法都不会。select * from xxx where left join xxx 。。。简直辣眼,人家理直气壮的说自己岁数大了,好长时间不做开发 忘了。。一位架构师的健忘真可怕啊!!!
10、以上内容绝对真实不浮夸,这种人真的存在,有些人吹牛逼是真的牛逼,有些人吹牛逼把自己吹成了傻逼,他们自己都信了 活在了幻想里。。
技术总监的职责:
1、搭建公司技术平台部,统一技术栈;
2、建立产品研发体系,让技术团队可持续性地快速交付;
3、管理和协调多条产品线,打造明星产品;
4、建立技术壁垒,形成技术竞争力;
以上内容统统与我们技术总监无关,我们总监吹牛技术第一人!