① 程序员的工资这么高,为什么还会有人离职
1.团队暮气太重,产品方向不明、市场不明,改需求改到天荒地老。
2.老板的总是跟你谈理想,画大饼,让加班,给低工资,还说这是历练,熬过去就好了。
3.压榨得太厉害,加班太厉害,一直掉头发,快秃头了。没有培训,连程序员自己自学的时间都被加班占用,身体和技术很难提升。
4.此外,不少的程序员也有年龄层面的恐慌。
因为一些程序员已经认识到,程序员过了三十几岁大部分都不好找工作,年龄太大没人要,不如趁年轻把工资跳高,总比年龄大了后悔好
② 什么仇什么怨,程序员设计师与产品经理的爱恨纠
哈哈哈,程序员和产品经理可以说是死对头啦。
1、频繁改需求
如果项目经理想要整死程序员,频繁改需求是最快的办法。特别是做了一半硬是改掉需求,scrum里的表现就是sprint内的非受迫需求变更,太狠了,技术同学表示不能忍。
2、拿老板和运营做挡箭牌
不说清需求价值,当技术童鞋问“为什么要做”的时候,支支吾吾,或者说“老板要的、运营要的”。最绝的就是说,这个功能老板说必须要做,那个功能老板说明天就得上……
3、扮用户
程序员会产品经理沟通的时候,比较经常就是听到,“关键字是用户不会这么觉得,如果我是用户。”
这种产品经理通常关注点会有问题,比如更多的时候讨论的是这个按钮是这么颜色,应该放在哪里,文案应该怎么写等,如果把这些问题当做核心,那难免会让人啼笑皆非。
4、口头禅——不就是xxx
有些产品经理口头禅:不就是xxx,这也引来一些程序员的反感。
比如“这个问题不就是在数据库里加个字段就可以解决了吗?你要是没时间,我给你写个SQL 语句,你执行一下吧。”结果程序员一脸懵逼。
其实,如果是在你的非专业领域里,最好少用这种“不就是XXX”这样的句型为妙。
5、不懂装懂
特别是对技术一窍不通的产品经理,会不停让程序员加班赶工。
“开发大哥,我代码写的不多,你可别骗我,这么简单的需求,明明一下午可以搞定,你跟我说一个星期?”
此时,想必程序员口袋里50米大刀已经饥渴难耐......这种产品经理叫程序员哭笑不得。
希望可以帮到你,谢谢!
③ Java开发程序员的一天到底能有多糟心
程序员的糟心在于:
工作时间(永远在赶进度中,加班)
工作状态(永远在赶进度中,焦虑)
工作方式(永远在赶进度中,长期坐姿,大脑高度紧张)
1.这边写着新需求,那边出bug了,bug没改完需求已经改了2次了。。。
2.遇到莫明的bug,遇到需求变更,当然很糟心!!!就像自由飞翔的时候迎面撞上一架飞机一样。。。
3.等我恢复力气再来回答这问题,没力气打字了。。。
④ 作为一名程序员,你真的理解需求吗
作为一个程序员,最重要的职责就是: 按时保质保量地完成需求开发。
像开发新业务这样的复杂需求, PM (Proct Manager,产品经理) 一般会写出详细的 PRD (Proct Requirement Document,产品需求文档) ,甚至可能会制作高保真原型。
而像调换两个按钮顺序这样的简单需求,PM有可能只会口头通知一下,最多在JIRA之类的项目管理平台上创建一条只有标题的ISSUE。
如果是有和用户交互的需求,负责设计的部门或人员一般会提供设计图。专业一点的话还会帮你把图都裁好,并准备不同屏幕分辨率下使用的多个尺寸版本。
当然,如果你在一个刚刚成立的创业公司,很有可能是创始人在白板前(或者是饭桌上)讲了半个小时,然后就问你:“需要多长时间把它做出来?”
不管提出需求的是PM还是创始人,他们的脑海中一定为这个需求设想好了一个自洽的逻辑和形态。PRD也好,口头宣讲也罢,都是在描述这个逻辑和形态。他们提出需求,就是希望程序员能够最大程度地还原他们的设想。
说起来简单,做起来难。 我们可以通过一个小实验来揭示这一点。
首先,你需要找一张长方形的纸。如果你在办公室,那就找一张A4纸;如果你在家,那就找一张纸巾。然后按照下面的步骤进行操作:
你的作品是什么样子?中间开洞了吗?边上呢?角上呢?如果再做一次,你能完成同样的作品吗?
你可以拿着同样的纸去找你的家人、同事或朋友,请他们来完成同样的操作。在你不施加影响的前提下,他们完成的作品极有可能和你截然不同。
为什么会这样呢?
如果你仔细观察他们操作的过程,就会发现:
由于每次对折都会可能产生两种不同结果,在撕第一个角时纸的朝向有四种可能性,旋转180度时有两种可能。所以仅仅两个撕角的位置,就至少有 2 x 2 x 4 x 2 = 32 种不同的可能性。
就这样,我们还没有考虑撕角的大小、角度的区别,还有极少数人是会沿对角线对折的……
上面撕纸的需求,其实是我自己拿了张纸随意摆弄,然后记录下来的操作流程。我照着这个流程,可以十分轻松地做出完全相同的作品。但是如果让别人来做,结果就完全不一样。其原因就是,我在完成作品的过程中,不光是按照流程进行操作,还隐含了自己的一些小习惯,却并没有把这些细节记录下来。
如果把所有细节都完整地记录下来的话,需求应该是这样的:
同样,PM在写PRD时,很有可能会漏掉一些自己认为应该是“常识”,无需再进一步说明的内容。比如“把一张纸对折”,我们很容易想当然地认为,应该是沿着长边对折,但事实上并非所有人都是这么理解“对折”的。
由于每个人的成长经历不同,其认知结构之间必然存在差异,因此对同一概念未必持有相同的理解。 你所认为的“常识”,我可能并不知道,或者拥有和你截然不同的理解。所以程序员在看PRD时,一定要把自己对需求的理解复述出来,跟PM确定是不是这么回事。否则就容易出现开发中、提测甚至上线后发现逻辑性错误,需要紧急修复甚至返工的情况。
此外, 很多问题在设想阶段是发现不了的,只有到了具体实施时才会暴露出来。 PRD不可能真正做到完备,也不能保证没有错误和遗漏。比如一个表单需求,很可能在做的过程中发现某个非法数据case是PRD里没考虑到的,这时的用户交互怎么做?文案怎么定?这都要和PM沟通来解决,而不能自己拍脑门决定。
PRD只是需求的一个快照性描述文档,并不是需求本身。 程序员应该对需求负责,而不是对文档负责。 只有和PM保持沟通,不断地细化需求,才能让需求真正落地。当发现PRD里有不合理或者有疑问的地方时,一定要提出来让PM进行解释。千万别视若无睹,甚至干脆将错就错,等着看PM笑话。
如果我们拿到了一份图文并茂、十分详尽的PRD,是不是应该马上照着文档开工呢?那可不一定。
一位优秀的程序员,应该在开工之前把下面这些问题想清楚:
程序员有责任对需求方案进行review,并协助PM改进设计。 要知道,PM一般不会从技术角度对需求进行考虑,所以往往提出的并非最优方案。有时只要做一点点调整,技术实现的难度就会大大降低,却不影响目标的达成效果。
比如某个业务需要用到日期选择器组件,PM为此专门设计了一个,而你知道系统中某个功能页面里有现成可用的同类组件。这时就应该和PM沟通是否可以直接复用,或者在原有组件的基础上进行功能扩展。这样既节省了开发资源,又保持了用户体验的一致。
程序员要对整个产品的可用性负责,全面评估需求可能导致的不良影响,谨慎对待有破坏性的需求。 PM由于不了解系统的底层实现和实际数据的组织方式,所以很可能无法全面地评估需求的影响面。如果程序员忽视在这方面的思考,只是机械地按部就班地执行方案,就很可能导致严重的线上事故。
比如要对某数据进行批量修改,在做的过程中时发现该数据有多个业务正在使用。这时就应该必须停下来和PM沟通,因为PM可能只了解自己负责的那一块业务,不知道修改可能会对其他业务产生影响。此类需求要和相关各方沟通协商,确认修改没有不良影响后才能继续。
程序员要有魄力去拒绝那些明显不靠谱的需求。 有的时候,PM提出需求的动机不是为用户创造更多的价值或提升用户体验,而是为了冲绩效完成自己的KPI。为此拆东墙补西墙,从兄弟业务手里抢流量入口;甚至杀鸡取卵,以严重破坏用户体验的方式拉量。遇到这种事,程序员一定要坚持自己的原则,守住自己的底线。
⑤ 小白程序员进入公司后,天天被要求改BUG有前途吗
当然有,日积月累,如果大量的改bug会对常见的错误类型一目了然,对后期的学习和技术提升还是有很大帮助的
⑥ 普通的程序员和大神级的程序员有什么区别
你好,普通程序员只能做一些重复简单的事情,大神级程序员可以解决普通程序员解决不了的难题,还可以给普通程序员建框架。