热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

相比于产品、测试、监控和运维等其它人员,程序员的工资可能相对高些,但地位看上去真是最低的。下面来通过一些例子来说明。1开始了一个版本周期,前一周,程序员会被要求参加各种需求评审,架

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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


推荐阅读
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 本文介绍了Java集合库的使用方法,包括如何方便地重复使用集合以及下溯造型的应用。通过使用集合库,可以方便地取用各种集合,并将其插入到自己的程序中。为了使集合能够重复使用,Java提供了一种通用类型,即Object类型。通过添加指向集合的对象句柄,可以实现对集合的重复使用。然而,由于集合只能容纳Object类型,当向集合中添加对象句柄时,会丢失其身份或标识信息。为了恢复其本来面貌,可以使用下溯造型。本文还介绍了Java 1.2集合库的特点和优势。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
author-avatar
开心果娟娟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有