‘壹’ 程序员一天都在写代码吗程序员的一天除了敲代码还有做什么
程序员一天都在写代码吗?
来自我个人的感叹:如果能天天写代码,该有多幸福啊~
如果程序员的一天都在写代码,这就说明了公司的需求明确,老板的战略完美,产品经理也不会天天找人撕B,技术Leader已经把框架制定好了,大家都安心编码,安心做有创造力的工作。在这种情况之下,程序员的成长也是飞快的,心无旁骛的驰骋在代码王国。
然鹅。人生不如意事常八九。
那八九不如意的时间,大多数程序员要面临以下问题:
会跟产品经理吵架会对着搜索引擎出来的结果说卧槽,需求不明确,随意更改,架构频繁更换,焦头烂额。
测试频繁告知你各种千分之几的无法复现的bug。
各种低效会议,无形中浪费生命。
除了以上这些,可能还有:兴奋的写了半天发现编译不过。
折腾就是半天,开心的上了线,各种线上bug弄得心跳加快,血压升高。
日常情况下把每天状态最好的2-3小时拿来敲代码就可以搞定一切需求了。
因为其他时间都基本上是用来开会,跟产品经理互怼,然后就是debug整天。有bug必须赶紧找出来,如果今天没找出来,明天继续一整天,如此循环。
所以要提高水平。经常写bug的人就很忙。或者说,瞎忙。而且代码写得太多了还需要花点时间稍微整理一下文档之类的,免得以后自己都看不懂。有些东西可能也需要花时间重构一下。
但可惜,程序员的工作不是仅仅只有写代码。你得了解业务。了解功能需求。要知道代码是为了让人使用的,你需要和人打道。
真正用来写代码的时间占全部工作时间的比例其实并不高,就算是没有人打扰,也需要花很多时间去设计怎么写代码,或者是花很多时间去读懂别人的代码来找到Bug产生的根本原因。
在这个过程中看似面对的是代码,其实还是在面对人。
程序员并不是一天到晚都在写代码的,大部分程序员一般平均每天应该不超过3个小时吧,大部分时候在了解需求、各种开会、找bug、以及学习。大部分时候是在做写代码之外的事情,偶尔也会划水。
总之程序员的工作远不止写代码,花时间学习提高自己,总结沉淀一些东西来提高自己的影响力,都很重要!
最后还有句话是这么说的:栽一棵树最好的时间是十年前,其次是现在。对于学习编程的小伙伴,如果你想更好地提升你的编程核心能力(内功),在未来成为一名有为的技术人员!笔者这里或许可以帮到你~
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
‘贰’ 什么仇什么怨,程序员设计师与产品经理的爱恨纠
哈哈哈,程序员和产品经理可以说是死对头啦。
1、频繁改需求
如果项目经理想要整死程序员,频繁改需求是最快的办法。特别是做了一半硬是改掉需求,scrum里的表现就是sprint内的非受迫需求变更,太狠了,技术同学表示不能忍。
2、拿老板和运营做挡箭牌
不说清需求价值,当技术童鞋问“为什么要做”的时候,支支吾吾,或者说“老板要的、运营要的”。最绝的就是说,这个功能老板说必须要做,那个功能老板说明天就得上……
3、扮用户
程序员会产品经理沟通的时候,比较经常就是听到,“关键字是用户不会这么觉得,如果我是用户。”
这种产品经理通常关注点会有问题,比如更多的时候讨论的是这个按钮是这么颜色,应该放在哪里,文案应该怎么写等,如果把这些问题当做核心,那难免会让人啼笑皆非。
4、口头禅——不就是xxx
有些产品经理口头禅:不就是xxx,这也引来一些程序员的反感。
比如“这个问题不就是在数据库里加个字段就可以解决了吗?你要是没时间,我给你写个SQL 语句,你执行一下吧。”结果程序员一脸懵逼。
其实,如果是在你的非专业领域里,最好少用这种“不就是XXX”这样的句型为妙。
5、不懂装懂
特别是对技术一窍不通的产品经理,会不停让程序员加班赶工。
“开发大哥,我代码写的不多,你可别骗我,这么简单的需求,明明一下午可以搞定,你跟我说一个星期?”
此时,想必程序员口袋里50米大刀已经饥渴难耐......这种产品经理叫程序员哭笑不得。
希望可以帮到你,谢谢!
‘叁’ 产品经理如何找到妥协与坚持需求的平衡点
首先,这个平衡点肯定是模糊的,定性而非定量的。而且偏主观,所以大家一般都会说 “拿捏一下” 平衡。在对方提出与自己不同的意见时,妥协之前我们需要尽可能地进行一番就事论事、有理或有据的辩论。然而,并不是每个决策点都能看出不同方案的明显差距的。所以会出现双方都有一定的道理,但谁也说服不了谁的情况。说白了,就是大家的侧重点不一样,导致最终的选择也不一样。面对无法通过辩论而达成一致的情况,有以下几种解决方案:1. 双方做进一步的理论或资料调研,再次 PK2. 通过纸上原型、展示页面效果图或可交互 Demo 进行用户测试(User Testing)3. 两套方案都开发,投放至线上进行 A/B Testing4. 一方主动/被迫妥协然而,采取第 1 个方法很可能还是无法达成一致,因为双方的侧重点依然不同;第 2 个方法成本较高,适用范围也较为狭窄;第 3 个方法显性成本最高,在A/B 测试有什么局限性? - 郑坚义的回答中有讨论;第 4 个方法,即一方主动/被动妥协,是最常见的做法。但妥协也是有技巧的,最重要的一点是抓大放小。也就是说,在关键的决策点上不能够轻易地妥协,因为它决定了方案质量的 level。而对于一些不影响大局或方案效果差异不大的决策点,则允许在一定条件下进行妥协(相关回答:高级产品经理和普通产品经理有哪些区别? - 郑坚义的回答)。允许妥协决策点不意味着就要主动妥协,可以观察和猜测对方的坚持程度。如果十分坚持,则妥协,这样可以让自己在下个决策点上掌握更多的话语权,就像谈判一样。如果察觉对方态度其实也并不坚定,则可以强硬一些,尽量把方案拿下。但一定要避免大比例地进行妥协,否则将丧失产品经理基本的影响力。其实,倘若在平常的工作中已经建立了良好的影响力,遭遇到的不同意见会少很多,因为大家都选择信任你。
‘肆’ 产品经理和程序员之间如何避免矛盾
产品汪和程序猿
一、产品经理和程序员最讨厌的三句话
产品经理和程序员,就像一对情人,若即若离,有时还会撕逼,和谐的时候一切都好,撕逼的时候两败俱伤。
你知道程序员最讨厌的三句话是什么吗?
1、这个需求很简单,改一下就好了
2、你先大概弄一个,我看看再说
3、我先下班了,加油啊
我想任何一个程序员听到这样的话都会气炸了,不撕逼才怪,你作为程序员会如何回答这三句话?
1、这个需求很简单?你行你来啊!
2、大概先弄一个?请问先生(女士),什么叫大概?
3、你大爷的
你知道产品经理最讨厌的三句话是什么吗?
1、这个需求做不了
2、这个需求工作量太大了,估计要搞3个月
3、这个变更没时间做,往后排吧
产品经理在前端,有用户、有老板、有销售,版本发布的压力很大,听到这样的话估计心情也好不了哪去?
1、这个需求做不了?又不是我提的,还不是那个2B用户提的
2、要做这么长时间?养你们有什么用,还不如我自己来
3、变更没时间搞?随便,等老板来拍你吧。
二、产品经理和程序员本质上的差异是什么
奶爸干过程序员,也干过项产品经理,深知这两类工作的差异,各有各的不易。
总体上来看,做产品更侧重于创造和方案能力,不需要精密的逻辑,所以试错成本相对比较低,大不了改改原型,改改方案,这个成本是可承受的。
程序员的工作是非常精密的逻辑,一个看似很小的变更有可能对代码产生很大的影响,所以试错成本非常高,弄不好可能会因为需求的变化导致系统的重构,这时候程序员的挫败感是可想而知的。
三、产品经理和程序员友好相处的清单
1、产品经理收集需求后,在需求分析阶段,需要把一些不合理的需求尽量和用户沟通去掉,避免不合理需求造成产品发布时间延迟和没有必要的成本浪费,当然这需要产品经理去说服用户,不能只做用户的传声筒。
2、需求分析时,产品经理应该根据经验,敏锐的发现一些在技术层面实现有困难的需求,及时让研发介入,评估技术可行性,避免后续出现需求定下来,研发说做不了的情况。
当然这需要我们的产品经理对软件技术架构有一定了解和预判能力,你不能所有的需求都要在需求分析阶段让研发介入,这个成本也是极高的,所以要把握好这个度也是一项能力。
3、原型还是需求沟通的最好方式,这样是避免产品和研发在需求理解上有差异的最好手段,只靠写一些文字的需求说明书很难达到好的效果。
但这里面要注意一点,产品经理绘制出来的原型一般是非高保真原型,是为了更好的沟通需要,所以不能完全按照原型做,需要基于我们自己的前台架构进行定制。
4、需求评审的时候,研发可能会有一些不一样的意见,他们做了很多年的开发,会有很多好的经验,好的经验要虚心接受,不能觉得自己是产品就是老大,就是要按我说的做,这样很容易造成矛盾,求同存异,目标一致,这个是最好的结果。
5、研发说这个需求做不了的时候,有两种情况,一个是觉得这个需求实现起来比较麻烦,故意骗你;另外一种情况就是他的知识盲区,他可能确实不知道这个事能做。
产品经理需要有能力和研发进行谈判,比如采用类比法(类似的需求在其它项目上咱们就做过),比如去找架构师探讨技术可行性。
6、研发有时候评估的工作量会比较大,整个上线计划拉的比较长,产品经理可以要求研发出详细的资源配置清单,这样能清楚的看到一个需求被分解成了多少个研发任务,每个任务的起止时间,由谁负责完成。这样产品经理大概能看出任务的前后置关系是否合理?工作量是否合理等。
产品经理绝不能说,这么简单怎么要搞这么长时间,类似的话一出,绝对会激怒对方,还是要有理有据进行谈判。
如果实在无法压缩工作量,如果增加人力能解决问题的话,可以考虑找领导申请资源。如果还是不行就要砍需求或者改方案了。
7、在版本计划定好的情况,尽量不加需求,这样很容易打乱开发的节奏,如果一定要加进来,一定要和研发说清楚,这个是用户领导或者老板的强制要求,转移矛盾。如果可以的话,增加了需求尽量推迟上线计划。
8、开发过程中如果需求有改动,需要及时更新需求文档,同时发给我们的研发同学,否则只是靠嘴说一下,很可能研发的同事就不做了,所以一定要落到纸面上。
9、上线的时候要坚持和研发同事一起加班,这样大家才是一个团队,赢了一起狂,输了一起扛。
10、最后一点,就是要多交流,没有什么问题是一顿火锅解决不了的,大家关系好了,很多事情沟通起来自然容易,而且也会更信任对方,这样就万事OK了。
‘伍’ 程序员和产品经理相爱相杀,打完架再“牵手”,全公司都沸腾了
在某个职场论坛里,有网友发帖爆料,大方晒出自家公司 产品经理 和 程序员 相爱相杀的照片。画面中,两个大男人手牵着手,面朝墙壁背对众人,浓浓的基情感扑面而来,让人忍不住浮想联翩。
这可不是他们成功“出柜”了,而是公司对两个人动手打架的惩罚措施。因为在产品项目上沟通不顺,产品经理和程序员起了争执,两个认死理的人互不相让,一言不合就打了起来,拳脚相向好不激烈,费了老大劲才把他们各自拉开。
程序员和产品经理的矛盾,早已经不是什么秘密了,在 互联网公司 里, 要论程序员 最讨厌谁,产品经理绝对能排进前三。要求多还奇葩,反反复复变动,指手画脚叨叨个没完,让程序员们苦不堪言。只是虽然彼此间矛盾多多,但还算克制,真真动手的还是比较少的,像这种大庭广众之下互殴的,就更不多见了,也难怪公司要当众惩处了。
两人动手打架的影响非常恶劣,公司要求要么一起辞职滚蛋,要么牵手一下午。终究胳膊拧不过大腿,虽然这个要求很诡异,但为了不被辞退,也只能捏着鼻子认了。本来还剑拔弩张的两人,在众人的见证下,大手拉小手整整牵了一下午,画风都歪了!
其实无论是产品经理还是程序员,大家最终的目的都是为了整个项目能够完美交付,为公司完成这笔业务。只是两个人的侧重点不同, 产品经理 要考虑客户考虑市场, 程序员 则更关心产品本身的合理性。当关注的重点不一样,难免会产生分歧,引发彼此之间的冲突。
而且都是公司的同事,平日里抬头不见低头见,大打出手确实不应该。在有着共同目标的大前提之下,即使两人的立场不同,但也应该彼此互相体谅,只有精诚合作,才能事半功倍不是。
公司的处理决定也很机智,辞退可能只是玩笑话,要他们牵手和好才是真的。毕竟都是为了公司的产品项目才弄得这么大火气,把他们安抚好了,项目也能更顺利完成。而且这种方法虽然看起来尴尬,但也冲淡了矛盾的尖锐,尴尬总好过对立,诙谐才更容易让人接受。
这不,还有网友打算效仿呢!嗯,都是人才!