程序员是不是公司地位最低的?

    相比于产品、测试、监控和运维等其它人员,程序员的工资可能相对高些,但地位看上去真是最低的。下面来通过一些例子来说明。

    1 开始了一个版本周期,前一周,程序员会被要求参加各种需求评审,架构评审会,会上会被轮番施压,不仅会被要求做尽可能多的需求,而且会被要求实现各种高难度的功能。

    还不能有讨价还价,如果一旦有,产品就会拉上更大的老板来施压,毕竟实现更多更完美的功能,产品才能挣到更多的钱,所以在这个时间点上,大老板总是向着产品,一起给程序员施压。

    2 开发阶段尚属独立,程序员还能自主些,虽然在开发过程中,不同的组之间需要协调接口,或者需要在数据库等方面相互调用,程序员之间也会扯皮,也会有矛盾,但这毕竟属于程序员内部的矛盾。有时候想想,程序员何苦再为难程序员。

    3 但在已经制定好开发计划测试计划和发布计划的情况下,产品方总会想些办法来插入些额外的需求。这时,程序员能反驳的余地也很少,大多也只能逆来顺受,通过加班完成这些额外的需求。

    4 开发好了,进入测试阶段。这个阶段,只要是测试,不管测试人员资历有多浅,都可以开bug,或者有任何性能等方面的问题,测试人员都可以提。

    可能有些bug很难重现,或者有些bug很难改,但程序员在和测试交流过程中,绝对也处于劣势地位,只要测试能通过截图证明有问题,哪怕只出现一次,程序员就得改。

    5 上线前和上线时,程序员会被运维人员叫到一边听候调遣,发布没事最好,程序员顶多就只是枯坐一段时间。但如果有问题,那对不起了,程序员就得立即排查问题。这时就会面对来自老板、产品、测试和运维人员的多重压力。

    6 哪怕就在平时,不管上班时间还是下班时间,只要线上爆出问题,或者客户在群里提了,监控人员马上就会呼叫程序员上线解决问题,如果不解决,会有更多的人介入,介入的人都能对程序员指手画脚。

    通过以上对程序员日常工作的描述,大家能看到,在项目计划、开发、测试、上线和运维等阶段,程序员经常会被各种各样的同时“呼来喝去”。但是反过来说,这恰恰是程序员工资高的原因。而且,经常被呼来喝去的程序员,反而能以较高的效率来提升能力。

    一方面,正是因为程序员职责范围大,所以看上去会被其它同事吆喝。另一方面,如果程序员本身平时摸鱼,得过且过,出了问题往后缩,那么也不会被其它同事“指使”。

    其实事情如果反过来看,每次程序员被指使,其实程序员就得到了一次能提升能力的机会,比如能参与架构讨论,参与排查解决问题,参与维护项目。而且程序员在被诸多被指使的过程中,不仅能提升技术能力,更能提升沟通、运维和产品策划等方面的能力。

    这样久而久之,程序员的身价就提升了,当公司给出的工资无非匹配程序员的身价时,程序员就跳槽了,到工资更高的公司里去“被吆喝解决实际问题”了 。

    可能有些程序员会说,我在公司里“受苦受难”很久了,但能力和工资一直无法提升,这些程序员可以从如下方面做些改善。

    1 程序员遇到的这些问题,或者程序员被指使的情况属于客观情况,程序员主观上再排斥,这些问题照样会来,而且主观上排斥了,问题反而解决不好,解决的效率会更慢。

    所以主观上,程序员应当把各种问题,甚至是各种磨难,当成提升能力和提升工资的磨刀石。

    2 在解决问题后,多复盘,或者遇到自己暂时无法解决的问题,在别人解决后,复盘下人家的方法和思路,这样下次遇到类似问题,就可以依样画葫芦,以后再多操练几次,就能熟能生巧,慢慢地,技能就上升了。

    3 程序员受到的指使会很多,对应地,遇到的问题也会很多。所以程序员更应当会区分低价值和高价值问题。比如解决线上问题的过程、设计整体架构或者用分布式组件实现高并发,这些属于高价值问题,而重复性地讨论需求,重复性地设计接口和模块等问题,这些属于低价值问题。

    区分好以后,可以区别对待,多复盘高价值问题,或者高价值问题中的每个细节都搞明白,这样也能较快地提升能力。

    4 当然,如果公司一方面无法再给予程序员提升能力和工资的空间,另一方面,还再继续变本加厉地压榨程序员,那么程序员就可以跳槽了,就没必要还在这种公司里被呼来喝去了。

 

     这是我的公众号,其中包含了大量面试文章,同时我自己出了多本Python和Java方面的书籍,会定期在公众号里发书的电子版。请大家关注下我的公众号,谢谢了。

原文链接:,转发请注明来源!