程序员、技术领导、管理者各有烦恼,你占了几条?

  我专业从事软件开发工作已超过 10 年的时间,我热爱这份事业,希望有一天我会被人们称呼为老程序员。但这一路走来,我经历了许多可怕的事情,这些事情让我讨厌我的工作。在职业生涯早期,我曾期望有人能给我一份职场指南,这样当遇到之前未曾遇到的事情时,我就不会感到如此的孤单和沮丧。

  从某种意义上说,这篇文章就是那样一份指南。我写这篇文章有三个目的。

  一、回顾

  辨别出我们以往都曾有过的经历。这些会帮助我们建立一些理解上的共识,可以作为判断其他不熟悉的问题的参考点。

  二、展望

  辨别出一些你还未经历过的新问题,这些问题有可能在你以后的道路上发生。我希望我列举的这些事项,可以帮助你应对接下来要发生的事情,以及帮助你决定什么才是值得你自己去追求的。

  三、帮助你理解你的团队伙伴,相互尊重,理解彼此面临的问题

  也许你不具备前瞻性的眼界,尤其当你不是一个技术领导或管理者的时候。同样,如果你是技术领导或者管理者,你或许已忘记当一个程序员是什么感受,无法体会程序员日常的工作状态。我想帮助大家站到同一个立场来看待事情。

  下面列举的事项不是按优先次序排列的。这其中也包括其他人向我讲述的观察结果,并不都是我自己的亲身经历。所以如果你曾与我共事过,请不要认为某个特例就是关于你。令人感到不可思议的是,大家的经历都很相似。

  需要指出的是,还有一些其他类型但这篇文章没有提到的可怕的事情:种族主义、性别歧视、年龄歧视,攻击行为以及许多其他因素导致的敌对的工作环境等。我没有能力去写这方面的话题,你们可以从其他地方找到关于这些话题的深刻的描述和分析。

  我写这篇文章的目的是列举出以下关于团队软件开发的特性。如果你认为我遗漏了什么,请告诉我。我可以想象到,这里面提及的许多点,特别是在技术领导和管理者方面列举的事项,也适用于其他职业。请记住这些角色并不都是只有可怕的经历,我关于这个主题的下篇文章就是讲述好的方面。

  

  软件工程师(程序员)的烦恼

  程序员就是写代码的人,受技术领导或者管理者领导。

  有太多东西要学但没有足够的时间。

  代码写得很烂。

  当前的抽象不好。

  换做我,我会以不同的方式完成。

  注释没有任何意义,也从来不会更新。

  没有任何关于这个程序应该如何构建以及它是如何运行的说明。

  构建缓慢。

  测试缓慢。

  测试碎片化。

  根本没有测试。

  架构很烂,需要大量样本文件、复杂的代码或者混乱的测试。

  管理者让我牺牲代码质量来赶上开发进度。

  在没有意识到的情况下依赖关系就改变了。

  设备、测试和产品因地域而有差异。

  纠结于某个问题或者花费很长时间去调试BUG。

  我需要去修正碎片化的测试,这个程序最开始并不是我写的。

  我需要去修正其他人导致的bug或者产品问题,因为他们没有积极地去马上修正。

  需要在某些人离开后维护他蹩脚的代码或者系统。

  有些事情应该自动化地完成,但是却没能做到这一点。

  被我的队友或者上司打断。

  内容切换成本。

  我的上司要求我去处理紧急项目。

  代码审查时我的队友表现地很混蛋,我感觉这是人身攻击。

  其他人没有及时提供一个功能项但我需要它来完成工作

  其他的工程师开发功能或组件太慢。

  我总要去等待其他人。

  有些产品上的决定我不能认同。

  我只能让干什么就干什么。

  没有自主权。

  没有人尊重我的观点。

  我非常努力的完成了工作,却被要求重做。

  产品经理们改变了对我的要求因为他们过度听取了其他人的批评或反馈。

  技术领导的烦恼

  技术领导:技术领导在自己写代码的同时还要指导一个小团队程序员的程序设计和实现工作。这些程序员同时还受其他人管理(不是只听技术领导的)

  产品的方方面面随时都会出现问题。

  太多的邮件和信息要去读和回应。

  工作上有疏漏。

  一切都落在后面。

  其他人正做出我无法认同的技术设计上的决定,但我没有能力和权力来说服他们改变想法。

  实现是草率的或者忽视了现存的最佳实践。

  事情朝我预期之外的方向发展;之后性能上的要求打破了我之前的预设。

  我深切地感受到来自截止日期和从属关系的压力,即使下班在家我都没法放松。

  每个人都需要比我预期要多的监督,不管我多努力尝试去解释这个计划的细节和文档。

  公开发起一个计划总是遥遥无期,它总被一些非技术性的原因阻挠。

  在时间和质量之间做着艰难的抉择。

  我很负责任,为什么其他人不能和我一样?

  我落后于我职责上的进度,没人有帮我。

  我不理解我的上司整天在干什么,但是我觉得他在瞎忙活。

  我不理解产品经理整天在干嘛,但是我觉得他在瞎忙活。

  我感觉我团队的其他工程师尝试通过不执行我们之前协定好的计划来打击我。当我向他们的管理者谈及此事时感觉自己像是在打小报告。

  我认为是我负责的项目被移交给了别人,但我不理解其中的原因。

  我的项目团队中没有足够的工程师,以至于这个项目没法以合理的时间完成。

  当我说到某件事多难完成时,人们并不听我的,也不愿降低标准。

  管理者的烦恼

  管理者:管理者管理一个团队的软件工程师,这个人也有可能是一个技术领导,或者技术管理直接向他报告(管理技术领导)

  如果不成为一个让人讨厌的人,就很难调动其他人。

  似乎随时都处于紧急状态。

  每个人都在向我抱怨。

  没时间应对邮件。

  没时间瞎扯,即使我因为没时间社交而感觉自己像一个让人讨厌的人。

  当我回到家我感觉自己很失败,经常有这种想法。当对我很重要的人或者我亲近的人想跟我谈论事情,而我正要去工作,我没时间听他们倾诉,这时我总有深深的挫败感。

  在任何时候,我的下属工程师或技术领导总是至少占下面情况中的一条:

  想放弃。

  对团队中的某人很恼火。

  对其他团队的某人很恼火。

  对自己很恼火。

  以某个理由被某人冒犯。

  无理由被冒犯。

  因为合理的理由对代码库不满意。

  因为吹毛求疵或者无根据的理由对代码库不满意。

  对他们的项目不满意,想去做别的,即使他们正做的事情是最重要的。

  私人问题影响他们的表现,经常导致他们有消极的反应。

  厌倦,很显然如果有合适的机会他们肯定会跳槽。

  其他的管理人员的工作就是安排会议。他们不写代码,他们就是靠说来影响事情。所以我被拉进了一堆没用的会议。参加这些会议看起来就是在浪费时间。

  代码写得少感觉很差劲。我感觉我正慢慢失去棱角。有时我很难做出成绩。我不得不改变我的价值观。从帮助他们变得更富创造性上寻求满足感感觉很做作。

  我将失去做重要决策的机会,事情将朝不好的方向发展。

  这个项目就要落后或者失败了因为我把它委托给了错误的人选。

  我感觉其他管理者尝试用政策打击我。

  我面临的最大问题是信任危机,我无法从其他人那里得到支持和建议。

  工程的CTO/VP不知道在干嘛。他们似乎没有贡献任何价值。他们问些无知的问题而且通常很无礼。

  我的下属工程师把时间浪费在无关紧要的事情,但是我不敢去阻止他们因为我怕把他们推开,导致他们放弃。

  每个人都或多或少不认同我管理团队上的做法。

时间: 2025-01-15 23:39:36

程序员、技术领导、管理者各有烦恼,你占了几条?的相关文章

转载 程序员技术练级攻略

转载 程序员技术练级攻略 博客分类: 转载 本文转载自陈皓(http://coolshell.cn/articles/author/haoel) 博客: http://coolshell.cn/articles/4990.html 月光博客6月12日发表了<写给新手程序员的一封信>,翻译自<An open letter to those who want to start programming>,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的

6月30日云栖精选夜读:程序员技术与文艺的PK_来首届阿里巴巴研发效能嘉年华

原文地址 阿里云RDC(其实我也叫Aone) 阿里云云效 阿里云云栖社区 联合举办的 [首届阿里巴巴研发效能嘉年华] 线上直播活动 马上要开播啦 是时候让技术大拿和专家们 出场撒干货啦~~ 资深技术专家,十年敏捷教练 一线的实践专家,带你飞! 热点热议 程序员技术与文艺的PK,来首届阿里巴巴研发效能嘉年华 作者:rdc鼓励师 阿里云前端周刊 - 第 13 期 作者:houfeng 自学的程序员如何找到好工作? 作者:琴瑟琵琶 知识整理 Java基础入门 - 变量 作者:达摩老祖 Stack Cl

关于PHP程序员技术职业生涯规划

关于PHP程序员技术职业生涯规划 看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些,然后就直接上手搭环境.做项目,中级就是学习各种PHP框架和类库,高级阶段就是MySQL优化.PHP内核与扩展.架构设计这些了. 这些文章都存在一个严重的缺陷,不重视基础.就好比练武功,只求速成,不修炼内功和心法,只练各种招式,这样能高到哪里去?我所见过的PHP大牛每一个都是具备非常扎实的基础,他们之所以能成为大牛,是因为

程序员技术练级攻略

以下全文来自http://coolshell.cn/articles/4990.html 前言 你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发) 建议: 不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用. 回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样. 一定要动手,例子不管多么简

关于PHP程序员技术职业生涯规划[转]

看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些,然后就直接上手搭环境.做项目,中级就是学习各种PHP框架和类库,高级阶段就是MySQL优化.PHP内核与扩展.架构设计这些了. 这些文章都存在一个严重的缺陷,不重视基础.就好比练武功,只求速成,不修炼内功和心法,只练各种招式,这样能高到哪里去?我所见过的PHP大牛每一个都是具备非常扎实的基础,他们之所以能成为大牛,是因为基础足够好.基础不稳,面对技术复杂

关于PHP程序员技术职业生涯规划 转自 韩天锋

转自 http://rango.swoole.com/ 看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些,然后就直接上手搭环境.做项目,中级就是学习各种PHP框架和类库,高级阶段就是MySQL优化.PHP内核与扩展.架构设计这些了. 这些文章都存在一个严重的缺陷,不重视基础.就好比练武功,只求速成,不修炼内功和心法,只练各种招式,这样能高到哪里去?我所见过的PHP大牛每一个都是具备非常扎实的基础,他们之

程序员技术练级攻略(经典)

前言 你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发) 建议: 不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用. 回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样. 一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节. 一定要学会思考,思考为什么要这样,

关于PHP程序员技术职业生涯规划 2017年3月5日韩 天峰

看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些,然后就直接上手搭环境.做项目,中级就是学习各种PHP框架和类库,高级阶段就是MySQL优化.PHP内核与扩展.架构设计这些了. 这些文章都存在一个严重的缺陷,不重视基础.就好比练武功,只求速成,不修炼内功和心法,只练各种招式,这样能高到哪里去?我所见过的PHP大牛每一个都是具备非常扎实的基础,他们之所以能成为大牛,是因为基础足够好.基础不稳,面对技术复杂

一直在做业务的程序员技术会进步吗?程序员如何跳出舒适圈

我是一个前端程序员,在刚开始工作的时候,在原来的部门,有一段时间一直在做各种活动,比如双十一.双十二.端午节活动等等.这些活动的模式基本差不多,我在做这些活动的过程中,有收获吗?有,当然有,但大吗?并不大. 转岗之后,我陆续接触过一些项目,还有的项目很重要,用部门老大的话来说:是我们部门历史性的项目.做这些项目我有收获吗?有,比如说我之前没有用过 Vue,在新项目里我就接触了 Vue.然后呢?然后就没有然后了. 在我至今为止做业务的过程中,我越来越意识到[一直做业务,技术进步慢,甚至没有进步]这

程序员技术月刊

以下是宝宝巴士的技术月刊,欢迎大家阅读(下面链接点击可跳转至下载页面): 2015年04月 2015年05月 本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士) 转载自[宝宝巴士SuperDo团队] 原文链接: http://www.cnblogs.com/superdo/p/4551080.html