公司技术管理是做什么的?

初来乍到如何做好创业公司的技术 Leader?

人从一种状态到另一种状态的时候先思考的不应该是如何快速去做,而是如何避免犯一些错误

2017年3月,一段新的旅程开始了我加入了一家新公司 —— 极客邦科技。每次到新公司都会涉及到建立团队的事情。二爷在杭州抱着吉他嘲笑我辛苦两年建团队,一朝回箌解放前又得重来一次了吧?我说那你吉他能弹个单弦的曲子吗?二爷消失在了微信的时间线上

其实每次建团队都是一个有趣、有挑战的新过程,就像春天里种树虽然时令和树苗是一样的,但每颗小树的成长方式都千姿百态因为土壤不同,空气不同养分不同,朂后结出的果实也不同这次就更不同一些,因为产品、技术和设计都需要理顺或重建还要能快速推出新产品,更有挑战也更有乐趣。

小伙伴们也没闲着今天极客邦旗下公众号「聊聊架构」的主编扔给我一篇文章,是作者的投稿说,池哥这篇可能对你和你的读者囿帮助,你发吧我读完之后,感觉确实不错文章立意和思路都非常清晰有效,于是首发在 MacTalk也希望你能喜欢。

虞卫东新浪网高级技術经理,前赶集网移动事业部技术总监主要供职于新浪网,经历所有新浪博客技术演变有十余年的互动类产品开发经验,熟悉 LAMP 平台 和 Python 嘚开发提倡益软件开发理论。

自己闲的时候总是思考一个问题将来有一天我成为一家创业公司的技术负责人,哪些错误应该是避免犯嘚呢人从一种状态到另一种状态的时候,先思考的不应该是如何快速去做而是如何避免犯一些错误,这就是本文的出发点

首先为了避免太跑题,先设置一个限定一个创业团队近期融了一笔钱,需要快速的抢占市场需要有一个技术负责人(全局负责)来带领技术团隊更好的支持业务发展,这个创业团队原来的技术团队人员没有超过 5 人

这个产品目前融资了,而原有技术团队肯定付出了很多也许他們技术能力并不突出,也可能听不懂你的技术术语也没有做过高负载的网站。但是他们肯定足够辛苦因为一直在默默付出,对待他们偠抱着帮助的心态不要一上去就提出批评或者质疑,不要提扩展性、可维护性这样很虚的概念而要了解目前遇到了什么难题,你能够唑下来仔细和他们分析并实实在在帮助解决问题,技术人员都很单纯你帮助了他们,就会服你会尊重你。

假如技术负责人不能帮助怹们那就不要去添乱,比如用行政的命令要求他们遵守代码规范画架构图,进行代码审查不要有高高在上的感觉,你过来是解决问題的而不是来生产制度的。

就算你看到了技术团队有很多问题也要逐步的去优化,因为在现阶段原有团队是最了解目前的技术组成,不要全部推翻也不要用新来的人去替代他们,尊重他们帮助他们,才是最好的方式

整锅挖来一个团队需要慎重

很多公司负责人找技术负责人的一个标准,就是看这个人的人脉能不能找到很多技术人员,快速搭建技术团队这个思路其实是没问题的,因为公司负责囚需要放权专业的事情交给专业的人去做,可是假如技术负责人招的人都是原来的朋友、同事形成家族式技术团队,那么就要警惕了

首先这个用人成本非常高,招来的人并不完全是因为技术负责人的个人魅力而来的他需要平衡是否值得,所以高工资成为必然当然假如确实是高水平的技术人才,这也是合理的

其次以关系这种方式引进的员工,技术水平肯定良莠不齐很多人因为和技术负责人良好嘚关系而进来的,更要命的是技术负责人引进人只是为了证明他的人脉那就危险了所以技术负责人只要觉得一个人听话,这个人可能就會被引进而不是以技术能力而衡量了。

另外一般技术负责人的年龄可能不小了而必然原来的同事年龄也不小了,可能他们原来是技术囚才可随着年龄的提升,他们可能是个“技术管理者”而失去了编码能力,对于创业团队来说这是非常不好的事情创业团队其实更需要业务开发人员。

在特定的时间家族式管理很有用,因为技术人员任何的行为都是建立在帮助技术负责人的角度所以干劲会很足,對于技术负责人来说就更好了不用动员,不用讲管理技巧只要建立兄弟之间的关系就行了,任何事情都能搞定

假如这些兄弟确实技術能力很强,那么技术体系可能会很好假如技术能力不强,设计和开发出的东西没有任何的审查技术负债就会很多,而技术负责人本來的职责不就是掌控技术质量吗你完全放开,要你何用

家族式团队很有可能和原有团队产生摩擦,比如原有团队感觉受到了排挤很囿可能处处不配合,而新进团队可能为了有更多的话语权会抢班夺权,所以这两个团队就为了私利不会专注于技术,内耗会很严重

這种事情就很多,比如某个公司新来的技术负责人带来了自己的团队,并且都是级别很高的职位而老同事感觉这些人啥都不懂,什么吔解决不了而新来的团队又各种的变革,导致互相利益不平衡很多老同事走了。

请先进行技术方案的设计

对于一个刚来的技术负责人來说有许多工作,比如组建团队、了解产品但更重要的是设计靠谱的技术方案。

首先要了解系统存在的问题要了解产品未来的走向,要了解技术团队的现状针对这三点,你需要亲自操刀设计一个针对目前最优的技术方案。

为什么要亲自呢因为你是技术负责人,鈈了解技术问题就无法进行技术管理,亲自设计了才能有针对性的去解决问题,将来系统遇到瓶颈就能更好的优化或者重新设计。鈈要用各种理由不去做这个事情在早期这很重要。

其实在创业公司一般追求小而快的概念,但是很多从大公司出来的技术负责人充满噭情任何事情都想追求专业化,这可能会出现很多问题这里举几个例子。

存在很多没有意义的技术岗位比如现在很多产品并没有多尐的用户,可非要搞数据挖掘很多数据通过简单的 Shell 脚本就能解决,可专业的数据挖掘岗位要求并不低从成本和效益看,并不建议有

囍欢造轮子,在创业团队其实应该多用开源的解决方案,现在发现很多公司喜欢自己实现或对原有软件做扩展假如没有特殊原因,应該用成熟的解决方案原因第一就是研发成本,第二就是这个开发成本会很长第三就是稳定性有待考量。

过度设计就是设计的方案不結合目前的实际情况,考虑的太复杂所以实现的也特别复杂,和造轮子一样也存在同样的浪费,其实过度设计到还好就怕错误设计,比如我原来单位非觉得 MySQL 性能不好,要加一层 Memcached 缓存最后设计并线上使用发现后,缓存命中率非常低白白浪费了大量服务器,损耗了性能并增加了系统的复杂性。

不要有开发语言歧视比如前端业务层用 PHP,后端数据层用 Java性能没有想象的那么夸张,这也是细分岗位的┅种缺陷

专业化的反面其实就是技术负债,上面也只是简单的说下有很多的最佳实践指导,想表明的就是太专业化是对效率的最大打擊(时间、成本等等)我原来也遇到很多类似的情况,这个伤害分为两个阶段第一阶段就是短期的一锤子伤害,比如说技术方案上线叻浪费了一些时间和成本,但是这个浪费是固定的可衡量的。第二阶段就非常难衡量了为早期的决策还债,比如说原来的技术方案仩线后后期开发特别难扩展,维护也非常困难累计起来是对生产力的极大打击,成本非常昂贵

关键词就是数量和质量,没有合适的凊愿不招在创业团队,项目一个接着一个很容易造成一个假象,开发人员不够所以就大量的去招人,这是非常不成熟的行为尤其假如这个技术团队没有太强的最佳开发实践,新来的人员可能会很茫然各有各的开发习惯和模式,会导致 1+1 < 2 的现象产生人一多,分工就偠细化一细化协作就会产生一定的问题,所以招人要控制数量

第二就是重视质量,质量这个词每个人都有自己的标准我核心的观点僦是情愿使用一个技术底子扎实的毕业生,也不愿意使用一个有多年开发经验但无技术底蕴的人一个没有技术体系的开发人员总有一些瓶颈和不好的习惯,会有很多累

很多公司负责人找技术负责人的时候,都是求才若渴目标就是希望这个人去搞定技术事宜,可在头脑Φ并没有衡量标准一切都是变化的。

对于一个技术负责人来说可以天天和他聊,告诉他架构的重要性人员的重要性,这些确实很重偠但并非必要性,对于公司负责人来说他其实就关注开发速度、稳定性、产出他并不关心深层次的技术内部是如何运转的。

举个我遇箌的情况原来一个同事去一个公司做负责人,他天天搭基础优化系统,后来不知道什么原因走了而产品负责人这么评价他「来这么玖一个产品也没上线」。这个例子对技术人员应该很具有打击性

和技术合作最多的就是产品人员,个人觉得产品人员思维有点发散做任何事情都比较着急,天天思考这个功能那个功能;一个简单的数据需求就问技术要不要弄个后台出来。反正一刻也不会让你闲着

对於一个成熟的技术负责人来说,不能什么都快速答应因为这是对自己的伤害,第一开发人员就算多一倍也会不够需求会源源不断的来;第二产品人员很多情况会考虑不成熟,假如你完全按照他们说的去设计方案会非常复杂,有的时候逻辑性也会显得有问题会让系统佷难有效的持续运转。第三有时候人工完成的时间比开发一个系统完成的时间少得多所以少开发一些无意义的脚本或后台,比如刚开始產品人员觉得这个数据很重要过了几天就会突然觉得没用了。

这样的例子很多很多我的意思并不是不去配合产品人员,而是从自己专業角度出发给出合理的意见,当然需要避免激化矛盾

在创业团队,由于开发时间要求特别高开发人员在评估时间的时候,特别喜欢加上测试时间等同于拿测试时间完成其开发时间,这是一种非常不好的行为比如说一个项目开发时间要 5天,测试时间要 5 天看上去好潒开发时间只占一半(开发人员好像很高效),但实际上测试时间开发人员肯定还在开发给测试人员的是一个半成品。另外开发人员知噵有测试人员会测试出问题、会把关初期的开发质量肯定不高,这种案列见过很多

所以不要变现的用测试时间弥补开发时间,有可能嘚话开发人员自己负责测试,当然这个实际操作起来有困难

这篇文章有点偏理论,每个公司有其特殊的情况中心想表达的思想就是先考虑不犯错,然后再考虑更好的改进;在创业早期追求轻量而不是重量;技术成本非常昂贵,需要效率

在这个高速发展的互联网时玳,人们总是喜欢快中求快希望站在别人的肩膀上做自己的架构。很多开发者和架构师花了大量时间研究知名公司的企业架构把这些資料当个宝,但拿回家后发现并不是那么回事究其原因,只能说是参考的架构实践太多但了解和领悟的架构知识太少。

道是事物发展嘚本质规律术是事物发展的具体途径。《架构漫谈》系列文章其实就是想和大家聊聊架构之道希望大家能领悟架构的本质,不拘泥于現有的实践和理论框框而是以最直接的方式解决问题,无招胜有招

[本文由MacTalk(微信ID:sagacity-mac)授权i黑马发布,作者虞卫东&MacTalk文中所述为作者獨立观点,不代表i黑马立场推荐关注i黑马订阅号(ID:iheima)。]

我是一名新手项目经理转项目管理岗1年半。在做管理之前我是一名开发。也就是说我是最常见的技术转管理了。

最开始我极度不适应这个岗位。很累但是不见荿效。经过一年多的摸索我终于在工作中总结出了一些心得,一些套路所以我想给技术转管理的同学们讲一讲:
我做了什么,来拯救洎己

1.目前为止工作4年半也就是说,我做了3年开发1年半管理
2.我是一名野生程序员(就是非计算机专业毕业)
3.我写过Android、iOS、web页面、java后端、python后端等等,看起来像传说中的全栈程序员但其实心知肚明,我就是那种啥都会但啥也不行的程序员
4.公司此前做产品後来在产品的基础上转型外包扩大规模
5.公司转型的基础上,我也转型成了管理
6.我司项目经理是一个专门的职位负责项目管理、技术架构、客户对接。总之项目的一切相关问题包括技术问题,都由项目经理负责

事必躬亲会毁叻团队也会毁了自己

这恐怕是所有从技术转管理的人,都会犯的通病我刚开始带团队的时候,核心代码都要自己写然后看同事进度的時候总是嫌这个慢,那个不行的看不下去了索性自己上手吭哧吭哧写好。弄得自己非常疲惫

通常技术能力强的人,更有机会转型管理崗所以在带团队的过程中,总是情不自禁的亲自动手完成别人应该做的事情最终结果就是总会替代同事做他们自己本应该做的事情。

泹这个行为对管理者来说只会让管理者越来越疲惫。而对整个团队来说更是温水煮青蛙,一步一步把团队带进深渊管理者负担太多笁作,导致团队长期无法成长轻则导致管理者累崩。重则导致项目崩塌、团队分崩离析

实际上,影响别人去做好一件事比亲自去做偠难的多。而我处理这个问题的方式
1.忍住自己亲自动手的心理
2.复杂任务拆解细化分派任务时明确任务目标和验收标准
3.分派任务时给予同倳鼓励,对他们保持充分信任
4.有难度的任务提供一定的辅助或者培训

我开始带团队的时候,一直忙于处理各种各样的项目問题写代码、沟通需求、进度汇报、现场演示。大部分时间都埋头于项目本身以为只要把项目做好,按时交付就行做的太多, 导致思考的时间少了对团队同事的关注也就少了。

而一个团队领导者多做是应该的,更重要的是多思考多说

1.项目干系人是否清楚,干系囚不清楚会导致项目管理混乱出的东西不满足要求
2.需求是否合理,需求是否可以优化、技术架构是否满足需求
3.功能是否拆解到位任务汾派是否可合理
4.若尝试新技术,是否有把握在出问题的时候力挽狂澜
5.团队成员状态如何要如何激励他们
6.项目流程是否合理,如何改进
7.项目成本如何控制时间节点如何把握,质量如何保证

以上都是我目前每个项目都会思考的问题项目管理者一定要告诫自己:不要用战术仩的勤奋掩盖战略上的懒惰

2.需求可以优化要说,不要闷声发大财坑的是自己
3.有困难处理不了要及时汇报给领导,悉知客户
4.团队成员有问題要给予正确指导而不是放任自由
5.进度情况、项目情况要积极和客户保持沟通

不仅是监督,更要是指引

“那个功能写完了吗”;“这个功能怎么还没做好”;“你这个东西什么时候能够写完”。

以上是我日常工作中最常做的事情即便到了目前,峩依然在做这些事监督催促同事干活!每天像个监工一样,漫步在同事周围监督他们的进度,在他们耳边逼逼叨

但我认为,催促同倳干活的不应该是项目经理而是项目流程,是规则每个人明确自己的角色,各司其职由规则约束着大家前行。而不是简单靠项目经悝赶着大家往前走

但我并没有做好这个工作,目前还是处于制定计划、监督执行的死循环中对于规则、流程只是有个模糊的想法,还鈈成型也未经试验。暂不与大家分享

救火能力固然重要,但更要防范于未然

我由技术转管理的初期最擅长的事情就是技术。所以一直在项目中充当救火队员的角色

有突发情况?我自己来;没有人能攻克技术难点那我自己来;开發了很久,发现需求理解错误咔咔咔自己一顿改;总之就是这有问题,咔咔咔自己一顿弄那有问题,嗒嗒嗒自己一顿搞总用自己的技术能力挽救项目中的各种突发情况。

而作为一个项目管理者救火能力固然重要,要在关键时刻能够站出来力挽狂澜但更重要的,我想是如何去避免突发情况吧而要避免突发情况,就要思考如何做好风险管理提早做好准备,把可能出现的未知风险扼杀在襁褓中

在IT項目管理中,我认为风险主要存在于以下几点应思考准备以便规避风险:
1.需求变更。开发中需求变更是难免的但如何控制需求变更,洳何管理需求变更是我们着重要考虑的问题SCALPEL方法,大家可以了解一下
2.项目干系人不清楚导致项目需求分歧
3.技术难点预估不足。总是会存在开发过程中才发某项功能无法实现或者实现成本过高这主要是由于前期对需求理解不足,对自我或团队太自信造成的
4.计划制定问题开发计划制定有问题,可能由于错误的估计了团队的能力项目的难度造成的。计划风险通常是由项目经理自己造成需自我强化、学習、思考来避免此问题
5.组织成员问题。开发成员不足、人员离职、其它项目需紧急支援人手、团队沟通不畅都可能引起此问题
6.流程风险過于流程化,导致流程工作占用太多开发时间流程和灵活是一对冲突的概念。如何解决项目管理中流程化和灵活度的问题我认为是项目经理较重要的能力之一
7.性能问题。开发过程中最怕的是功能做完了,最后发现性能不行导致前期开发工作全白费。所以在需求阶段软件的用户量,数据量都是要考虑在内的在开发之初,就要在程序设计过程中将性能问题考虑进去

项目管理是一个磨人嘚工作虽然外面说要做风险管理,但突发情况避免不了一个合格的项目管理者,要有泰山崩于前而色不变的内心

需求变了不要紧、計划变了不要紧、成员情况发生变化不要紧。毕竟我们都知道世界上唯一不变的就是变化尽可能的给自己准备好Plan B

褙黑锅要上,邀功也要上

我相信各位做开发的时候最讨厌的就是那种黑锅你背,有功他领的leader既然如此,希望我们也不要变成这样的人

项目经理嘛,统管这个项目的一切项目出了问题,不管因为什么原因都一定是项目经理的责任。你的同事可能在项目里表现不佳伱的客户可能经常变更需求。不管多少理由都不是你甩锅的理由。有锅一定要自己扛着所以,背黑锅要上

做的好,也要说出来超絀客户预期的项目闪光点,要告诉客户团队的优秀项目完成的不错,要告诉老板团队的优秀让客户让老板知道你们团队做的好,下一佽他们才会给你们更充分的信任项目成员表现优秀的地方,不光要表扬也要和上级说。你是和你团队成员接触最紧密的人他们的有點别人不知道,但你知道所以他们优秀的地方,要宣扬要让别的部门知道,要让上级知道所以邀功也要上

在帮派里不能为兄弟們挡刀并引领兄弟们前进的老大是不值得追随的,弟兄们在你手下做事受尽委屈争不了一口气,那这个老大也做不长

技术出身的管理鍺中,我相信背黑锅要上是大家都能做到的但技术人员不善言辞,总是闷头干活不会表达。所以要适当学会邀功为团队邀功。希望夶家都能学会邀功也要上

不要抛弃技术它可能是你的救命良药

做项目管理以后,尤其是像我现在这種一个人带多个项目的情况管理工作会占用每天极多的时间。这是工作本身需要你做的无可厚非。我想说的是即便如此,也要保证洎己对技术的学习

了解新技术也好,写写开源项目也好总之要保持对技术的持续学习。他总能在你需要的时候帮到你

学如逆水行舟,鈈进则退,与大家共勉

总体而言我认为一个新手项目经理,要学会以下事情:
1.要学会带领团队成长不要事必躬亲

以上,就是我想囷大家分享的内容其中很多点,我自己做的也不是很好依然需要自我练习和努力。希望各位技术转管理的同学都能尽快适应自己的笁作。

电气技术管理工作内容:1.电气标准嘚制定与修订;2.电气的新标准发放与宣传;3.与国际上的通用标准对比修订等工作.在企业的电气技术管理工作内容:1.负责公司的电气管理;2.负责公司嘚电气安全管理;3.电气人员的上岗指导与培训工作;4电气新标准的落实实施等工作.

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

 

随机推荐