这段时间部门做了很多项目,我也有幸负责了其中的一个项目。
谈谈我这段时间的感受吧,或许能给各位新晋项目技术负责人一点启示。

初做大型项目技术负责人犹如修炼,我提炼了技术负责人应该具备的以下能力:

自动化思维

将能想到的重复劳动做成自动化,比如自动化生成代码,自动比对分析项目中多个版本的区别。
我们的项目模式为:按月作为版本迭代的期限,也就是没到月底就会要求上线一个新版本,而在这个月的新版本开发过程中,还需要对老版本的新需求进行迭代和修改老版本的bug,那么此时就存在老版本bug修改了,但是新版本还是有对应的bug,老版本迭代的新需求需要做到新版本里面去等等,所以势必需要一个比对多个版本区别的程序。
在这个过程中,我大致解决了下面的问题的自动化

新老版本的数据自动化割接
自动化打包 私网工作流
数据库层代码自动生成
配置权限,维护权限
对接自动化及更新
比较多个版本代码的区别
编写格式化的接口文档
任务流程

后续的博客中我会挑有技术含量的部分详细说说实现原理。

极度抽象的逻辑思维

本质上讲就是对一种场景做技术抽象,提炼成算法模型或者设计模式的模型,然后再实现。
思考以下需求:
1、项目中所有的查询,和编辑(除修改密码)等要求去除用户输入的前后空格
2、当需要导入大量的数据的时候,如何提高导入效率,而导入的模块众多,如何做到统一?
3、对于一个系统,需要调用外部接口,当你的接口需要调用外部接口而相应又很慢的时候,如何去统一处理?
4、系统的各类关键操作需要存储操作日志,如何处理?
5、系统的某些模块遵循一定的数据权限(用户具有不同的角色拥有不同的可视范围)
上面的四个问题,都有一个共同的简单解决方案,即哪里需要做,我就去哪里写。这会带来一些问题:
1、对于同一个功能,不同的人写法参差不齐,后期维护升级的成本会很高。处处编写,处处维护。
2、开发人员会写很多业务无关的代码,而且会写掉,造成测试成本上升

所以,此时更好的方案是对这些通适需求进行抽象,然后形成统一的解决方案,尽可能的让开发人员感知较少或者无感知,排查问题也会比较简单。

以上面的需求为例,我想到了如下的解决方案:
1、去除前后空格,可以在请求拦截器中对请求的参数进行拦截,根据一定的策略拦截到那些需要去除前后空格的url的参数,如果是字符串类型,就去除前后空格。同时在数据库层查询和入库的时候,也对这些参数的值进行处理,一般的orm框架都提供了拦截器用于增加操作。
2、实现一个线程池组件,自动将导入任务拆分成小的导入任务,然后利用多线程的模式去提交任务。
3、暂无方案
4、由于日志是需要记录成功或者失败和上下文资料的,所以不能在请求拦截器里面处理,考虑利用切片编程,对所有的controller响应做处理。
5、在jwt里面放置一些权限信息,由于jwt不可更改的特性,就算用户解析到了自己的权限,也无法篡改,同时也无法造成越权,然后再利用请求拦截器对jwt里面的内容序列化成java对象注入到请求参数中,开发人员只需要在controller层接收一下这个参数并且放置到数据库层的查询中就行(数据库层是自动生成的)。
等等

极限编程的思维

这里说的极限编程狭义上是指的技术负责人自身应该具备高强度编程的能力,需要在极端压力的情况下也能保证写出的代码没有太大的问题。这里主要需要锻炼了逻辑思考能力,代码力和抗压能力。
广义上是一种敏捷开发的思维,要求项目团队保持加强沟通,勇敢反馈的态度,我总结就是不惧测试的bug,勇于修复bug;不惧新需求,勇于分析新需求;不惧批评,勇于弥补团队缺陷。
在极端环境中也能积极的去发现问题,解决问题。

丰富的编程底蕴

技术负责人要有广阔的技术眼界,对编程基础知识的强烈认知,对各种编程问题的丰富经验。
这一点,要做到,很难。人嘛,总是会沉浸在自己构想的虚拟世界中,总觉得自己什么都会了。

绝佳的动手实践能力

想到就去做,不要成为空想主义者

基本的运维知识

包括但不限于:服务器的各类命令,计算机网络的原理,安全领域相关的基础知识(漏洞产生的原理,解决方案)等等

应急响应方案-未雨绸缪

提前准备好各类场景的解决方案,避免临时需要快速寻找解决方案的问题。

海纳百川有容乃大

项目组成员技术水平参差不齐,无论出现什么情况,都要心平气和的跟团队成员进行交流,因为他们才是利益共同者,你们是需要一起战斗的。有句话叫兵来将挡水来土掩,没有过不去的需求或者批评。(ps:以前做纯开发的时候还真没面临这么多方来的压力)。一定要及时给予项目成员真心的称赞和鼓励。

心有猛虎,细嗅蔷薇

粗中有细,做技术负责人一定要胆大心细。包括:仔细读各类文档,仔细观察产品原型,仔细了解用户需求等等。
细节决定成败。

合理的项目控制

项目文档,需求管理,缺陷管理等等,推荐一个工具:语雀的缺陷管理,用起来简单好管理,刚好与它的知识库相结合。

抗压

这是最沉重的话题,压力这种东西,是自发产生的,而抗压这个主题要解决的事儿,就是需要发现自己压力产生的原因,然后分析怎么去解决。
这段时间,我通过以下分析和调整,压力有所减少:
1、压力来源于对未知的恐惧:那么解决方案就是尽可能减少未知
2、压力还来源于突然之间的紧迫感,解决方案就是深呼吸,减少这种紧迫感,同时在平时有时间的时候,增多应急预案,避免突然之间面临一些复杂的情况而又没有参考解决方案而带来的紧迫心情。临时找解决方案是对未知结果的恐惧,解决方案就是提前编排好各类场景,然后找到对应的解决方案并形成文档。

绝佳的自律

中午和晚上的时间安排,根据自己的生物钟调整,让自己处于恒定的学习周期中。

等等

大型项目技术负责人应该具备的能力相关推荐

  1. 专访蒋宇捷:技术管理者应具备哪些能力?(转载)

    摘要:近期,本站记者采访了CSDN社区活跃用户.百度技术经理蒋宇捷.他认为一个合格的技术管理者应该具备深度认知产品.冷静决策,以及良好的沟通能力,还要秉持着技术源于一线,永远不能脱离一线的观念. 蒋宇 ...

  2. 优秀工程师应该具备哪些素质_想成为一名合格的技术工程师需要具备哪些能力?...

    今天小编要跟大家分享的文章是关于想成为一名合格的工程师需要具备哪些能力.技术人员追求的也不仅是知识点,而是在专业领域正确做事的方法及达成目标的能力.两个同时入职的员工,一段时间后技术好的那个就发展得好 ...

  3. 技术管理者应具备哪些能力

    作为技术管理者,要做好以下3个核心能力 1. 自我驱动是基本能力,没有自动驱动的人不能当管理层,不能带人 1.  架构上把握设计的大方向,技术架构不会走偏 2.  每个人的职责明晰,目标管理,每周定期 ...

  4. 优秀的技术管理者需要具备哪些能力?

    今天的分享主要针对技术团队管理者品质.团队管理的四个维度.产品开发过程管理.系统架构理念等几点内容,时间有限,不能针对各个方面深入介绍,请大家见谅.其实我们作为技术团队管理者,每天都需要关注技术.产品 ...

  5. 专访蒋宇捷:技术管理者应具备哪些能力?

    编程初体验 CSDN:你何时开始接触计算机,又如何走上编程道路的? 蒋宇捷:小学的时候,父母单位的苹果机.386和586都可以让我在空闲时候使用.而在那时代彩色显示器非常少见,即使一个小小的黑白屏幕的 ...

  6. CSDN专访蒋宇捷:技术管理者应具备哪些能力?

    CSDN:谈谈你是如何不断提高自己编程技术的? 蒋宇捷:编程技术的提高需要不断的学习.总结.提炼.分享,这是一个环,也是一个迭代的过程.大学教给我们很好的学习能力,编程技术领域发展又快,日新月异,这要 ...

  7. 技术管理者应具备哪些能力?

    近期我接受了CSDN的采访,分享了对于技术人才成长.技术管理的一些经验和想法,下面我把全文发表在博客上,以飨读者. 编程初体验 CSDN:你何时开始接触计算机,又如何走上编程道路的? 蒋宇捷:小学的时 ...

  8. 项目经理最应该具备的能力是什么?

    首先明确一下,PM不包括做系统的.coding.数据库.网络等等的,如果你做这些,只是说明你身兼数职了,这里说的就是PM本身的能力. 一.沟通能力. 好像所有的人都会赞同沟通能力最重要,可是什么是沟通 ...

  9. 【运营学习】项目运营经理所具备的能力

    项目运营经理最起码有以下运营能力: 1.制定整体运营策略 2.结合产品,根据需求节日热点事件 策划运营方案,吸引客户购买产品,提升转化率. 3.分析用户的属性,挖掘用户潜在需求,提出促进用户交易的营销 ...

最新文章

  1. R语言tidyr包spread()函数实战详解:数据裂变、从窄表到宽表
  2. EndNote 高校_【工具】EndNote使用小记
  3. 在IIS上建立WAP网站的图文方法
  4. android XMl 解析神奇xstream 四: 将复杂的xml文件解析为对象
  5. 【Linux网络编程】无连接和面向连接协议的区别
  6. 当你和你女朋友闹矛盾时......
  7. Metasploit--后渗透(一些基本操作方法)
  8. 【ruby】ruby学习笔记之--环境搭建
  9. Linux 环境下安装 MySQL,各种踩坑、疑难杂症 | 原力计划
  10. 暑假练习:uva12563(01背包问题)
  11. 一个简单的二层系统分析全程
  12. Python查找中国城市、省份
  13. 如何查询OS、CPU、内存、硬盘信息
  14. 每日一题【56】导数-公切线问题
  15. HTPP的请求方式有哪些?
  16. 使用debussy出现的问题
  17. Java学习——类和对象(上)
  18. 年薪30万只是中游水平,算法工程师是一种怎样的存在?
  19. LeetCode 61-70题 这是动态规划合集啊?受宠若惊
  20. 浅提计算机未来的想法,浅述未来计算机的发展趋势论文

热门文章

  1. elementui——el-input取消边框
  2. 19年 考研究生 过程
  3. 转 postfix邮件服务下mailq、postmap、postqueue 、 postsuper等用法
  4. Android 阿里推送实现自定义铃声以及8.0以上横幅通知提醒
  5. MATLAB学习之积分(三)
  6. 膜拜大佬!Android岗面试12家大厂成功跳槽,使用指南
  7. matlab时间字符串相减,Matlab中时间字符串处理总结
  8. hadoop中使用MapReduce编程实例
  9. 对于就业而言,嵌入式有前途吗?
  10. Hadoop2 MR-JobHistory服务介绍