① 程序员不喜欢什么,在广州蓝景做开发的朋友说,他不喜欢加班改别人的bug,你们呢
程序员最讨厌不确定性。
Debug的时候,在怪异再棘手的问题,只要可以稳定重现,都迟早可以解决。“稳定重现”的意思是只要按一定的步骤做下来,问题就可以重演。
最讨厌的就是那种时有时没有,不知道什么时候出现的bug。改了代码不知道有没有效,也不知道是否引入了新问题。可以把码农逼疯。
引入到生活中对人对物的态度也是一个道理。无缘无故发脾气又不说为什么的女朋友,言而无信说到做不到的人,约好的事情被放鸽子... 这些都是不确定性。
程序员对不可控的不确定性因素也是有解决方案的。在代码里头把异常try-catch-finally一下,做好补救收尾,在加上几行注释警醒后来人这里别乱动。对随机发生的问题,对应方案就是假设这里永远都会有问题,把随机的行为转化为降格的确定行为。就比如随机发脾气的女朋友吧,就会放弃研究发脾气的原因,不求治本,而是假设她永远会发脾气,专注“哄”的工作也就是catch里面的内容。
② 为什么程序员最讨厌BUG呢
bug对程序员来说就是无休止的代码和加班,还有无数的测试和改进,是牵一发而动全身的一种状况
③ 为防被程序员“砍”,产品经理需要注意这些场景
互联网行业中,众人热衷于讨论“程序员砍产品经理”。虽然,“砍”更多是调侃的意思,一种消遣工作的方式;但是,这不是一个饭后笑话,侧面反应了产品经理和程序员间的对立关系。很多时候,产品经理和程序员间就像对手,产品研发过程就像打仗,总要争个你死我亡。“砍”的本质,是程序员表达对产品经理的不满,也是一种情绪的宣泄。
在产品研发的过程中,产品经理与程序员对立关系,会严重影响项目的推进。一旦产品经理和程序员对立关系公开化,很容易导致团队人心涣散。这种对立关系,经常滋生出一些极端的事情,骂娘、打架已屡见不鲜。
下文就列举一些程序员想砍产品经理的场景。这些场景都是我过去和很多程序员朋友交流时,他们遇到的对产品不满的场景。这些场景,都会以产品经理的沟通话语表现出来。通过这些场景,去解析这种对立关系产生的原因。以及,作为对照,产品经理应该如何规避和处理这种对立关系。
这样说法是程序员们最不喜欢的,最容易惹毛程序员的。这句话,在程序员们看来就是削减工时、加班的代名词,他们当然不喜欢。而且他们也非常讨厌,一个非技术人员为技术人员做技术难度的定论。简不简单,都需要技术人员做了技术评估,才能下结论。
这种言语,会让程序员们觉得产品经理不靠谱。大家通常都是比较排斥借鉴。借鉴你也得有合理明确的理由。以我某程序员朋友的话来说:微信怎么做的,你就怎么做,那你不如去微信做产品算了。
每个产品,在表面的UI下,都有其背后的复杂的业务逻辑。如果产品经理只是叫程序员照着某个产品做,很多时候技术们是很难实现的,因为他们也需要弄懂背后的逻辑和流程。当然,这应该是产品经理的工作。
这就是抬杠。产品经理虽然名字里面有“经理”二字,但并没有经理的权利,当然不能命令合作的技术们。这句话,言下之意也是拒绝了商量和讨论。而程序员也需要参与感和团队感。
这就是质疑他人能力,是人都不会喜欢。如果产品经理提出的方案,程序员们没有理解。那就说明产品经理的解释说明和文档,做的不够优秀,不够简洁易懂。让程序员们理解需求,是产品经理的基本工作内容。
在互联网产品开发中,修改需求和插入新需求都是挺常见的。对于程序员们来说,这是非常不爽的事情。这种操作通常会打断程序员的思路,思路被打断是非常痛苦的。当然,这样也会影响他们的开发效率。更可怕的是,反复的修改需求,会使他们有种劳动成果不被尊重的感受,同时也会对项目的未来抱有怀疑的态度。反复的更改方案,也说明产品经理设计是未经过严密的论证,或对细节的把控是不够。
程序员都比较讨厌反复的催促。当项目的节点确定后,技术们会严格遵守节点,产品应该信任他们。当然,时间比较紧凑时,反复催促也会加大程序员们的压力,使他们变得非常烦躁。在这种时候,催促就是添麻烦。
甩锅会导致团队分崩离析,人心不齐。不管任何问题,都是团队的责任,不要将责任指定给某人。特别是在项目复盘时,如果心态不好同事,这是非常难堪的。所以,我们要尽量以原因和结果为导向,而不是责任为导向。
程序员也是也是团队的一份子,有权利知道知道需求的背景。同时,了解需求背景也利于程序员们更好的开发程序。
产品经理给程序员们画饼是最不切实际的,只会引起大家的反感。程序员都是喜欢偏实际的东西,虚的东西只会招致白眼。
任何传递给程序员的需求,都是需要有计划和规范的。如果口头传达一个需求,很容易导致开发出的功能与需求不匹配。同时,因为缺乏相关的记录和文档,可能会造成需求流失。这对于程序员们来说,可能就是延迟、加班、返工、担责等等风险。这是团队合作的大忌,也是项目管理不专业的体现。
以上的这些场景,可能出现一次,程序员们都会顺着我们的想法做。但是,这会渐渐改变程序员们的心态,最终会使产品经理与程序员间产生隔阂和矛盾。如果出现这些场景,作为产品经理都需要小心的处理好,以免影响项目的正常推进。当然,最好是不要出现这些场景。作为产品经理,我们的最终目标,都是要保证我们的产品,准时、保质、保量的落地。
产品经理在与程序员们合作时,产品经理需要讲究合作共赢、互相体谅。在产品经理的相关工作中,最要避免的就是抬杠。抬杠是一切矛盾的根源。很多时候,产品经理要站在程序员的角度考虑问题。比如,对于产品来说可能就是改改需求,但对于程序员,他们更在意的可能是因为改需求而导致的加班。
产品经理在工作中,经常会追求产品上的极致。追求极致本身是好事,但是切忌过分偏执。我们也需要考虑团队的现状和资源,在极致和现实间寻找均衡。毕竟,如果没有乔布斯的团队,要像乔布斯一样做产品,只会拖垮团队。
在产品开发的过程,改需求、改方案等项目异常,都是不可避免的。这是项目管理的第一部分。如何进行项目异常的处理,考验的是产品经理的沟通能力和项目管理能力。产品经理需要在保持技术们高效工作的情况下,完成项目异常的处理。
当然,在产品经理工作中,矛盾的根源也并不总是产品经理。有时候,也可能是某些程序员的性格或者对该工作的态度导致的。这时候,产品经理要明确,作为团队的润滑剂,有责任推动和协调大家的工作。如果,矛盾不可调和,我们需要尽早提出问题、控制风险,避免“勉强”行事。
有时候,程序员在私下评价一起工作的产品经理时,总是会补加一句“我感觉我也能做产品经理”。这句话的背后,是产品经理没有让程序员们感受到产品工作的价值。在这种背景下,产品经理是很难获取程序员们的注重,也会为很多争论埋下诱因。那如何感受到我们工作的价值那?其实很简单,就是保持工作信息的透明。将我们针对需求和产品做的相关工作,体现在我们的沟通或者文档中。
导致程序员想“砍”产品经理,本质是产品经理工作方式的问题,也有情商的问题。在我的产品经理工作经验中,我总结下了以下四点,我们需要注意和避免的。这四点,都可以和上文的场景相对应,是最容易慢慢改变程序员的心态的。
④ 作为程序员你在工作中最讨厌听到的话是什么
布置任务,理解需求,团队协作等相关的工作中,良好的沟通和信息同步有利于减少甚至消除团队成员理解差异。
然而有些项目经理/产品经理/业务,喜欢说“这个需求很简单的,我只讲一次”,在他们眼里一些“简单的功能“无需多讲或者讨论,其实领任务的程序员没有context,很难做需求分解、评估开发工作量,比如某个web应用要做个权限管理模块,初看起来这个需求很常见且简单啊,基于RBAC来设计开发呗,还可以用这些现成的框架技术(例如shiro)。
但是对于程序员来讲这个看起来常见的功能需求,context很重要,比如:用户数据哪里来?以什么方式登录?怎么校验登录基本信息?怎么维护用户信息(例如OA同步过来的数据之后有些账号冻结了,不同的数据源之间咋同步?同步频率?),登录跨应用吗?这个权限管理功能给谁用?(不同角色使用对功能的要求不同,基于shiro等框架开发的权限管理模块受限于框架技术,如果想要有个完整的操作界面或者做更细节/复杂的权限配置,那么类似shiro的框架往往不适用)。
仔细想想,自己有时候接了任务,评估工作量进入详细设计、开发状态后往往需要中后期增加沟通、协调资源、加班赶进度,很多次是因为当初需求未做充分沟通了解清楚,致使需求拆解不够清晰(小),导致评估量化很不准确,要靠加班来赶进度
⑤ 大部分程序员都讨厌人事吗
一般是不会的。
一,请不要人为的给某个群体打上某种标签,你遇到的不论让你喜欢禅销的还是讨厌的,都只是一个群体里的少数个体。他们可能有某种共性,但这种共性可枝袭高能并不普遍适用,这种喜欢或者讨厌的感觉也应该是归属于某个个体而不是这个群体。
二,同在一个公司里,分工不相同,隔行如隔山,但猛尺是都是给老板打工的,没有本质的不同,没有天然的对立,大家都很忙。
⑥ 产品经理在工作中的哪些不足最容易引起程序员的反感
1.自以为是
2.没有很好的把产品的理念和规划传递给程序员,让程序员感觉不到其存在的价值
3.需求不明确
4.沟通主观性太强,总是以客户就是这么说的为借口,忽悠程序员
5.前后不一致
⑦ 者调查告诉你:程序员最讨厌什么编程语言
作为一个多面手的程序员来说,也许他最讨厌汇编语言。因为汇编语言毕竟是仅仅高于机器语言(即:使用真正的二进制机器代码编写程序)的编程语言,然后通过汇编语言的编译器,将程序员编写的汇编语言源程序,翻译成机器可执行的二进制代码(机器语言)。
但是由于汇编语言从整体结构、以及程序语句上来讲,它毕竟还是不如其它高级程序设计语言(例如:C、C++、JAVA、Python等)来得容易阅读和编写、它还是毕竟比较抽象的。故程序员最讨厌的还是汇编语言编程。但是如果从和计算机硬件底层打交道、或者是确实需要提高计算机软件的性能的角度上来讲,确实又离不开汇编语言的功劳。