为什么你只是个码农

时间:2023-01-13 20:38:06

实际上IT行业在中国并不是特别差的行业,而程序员的工资也并不低,但为什么中国的程序员总被称作码农或者说是苦逼的程序员?
为什么他们常常自嘲为码农,搬砖工?

为什么你只是个码农


来料加工,缺乏创造力

我们生活在自己那个小小的加拉帕戈斯泡沫中(与全球化隔绝),对世界上其他的事情置若罔闻。撇开科学软件不谈(仿真系统、开发工具等等),我不认为我们对学术充满热情。

在大学初学计算机的时候,我们常常研究算法、数据结构、计算机系统等。

但是在实际工作中,公司所要求的与技术人员的想法相差很远(特别是一些中小型的公司),业务线要求我们快速迭代,产品要求我们迅速上线。这就会导致,技术产品会依赖于一些开源的框架或使用一些框架进行简单的修改。这做并非不好,而是在使用的条件下,大多数程序员并不了解其中的架构与原理。导致了后期的修改异常困难。

其实,就是一个习惯的问题,大多数程序员不喜欢写文档,不喜欢写注释。看似很小的一个习惯,往往会导致整个开发团队没有自己的技术积累,没有自己的系统构建与长期发展的能力。


很难跳出自己的圈子

程序员是一种奇怪的生物,他们很崇拜新的技术,新鲜的事物。但正真的去研究它们的人却很少。

死循环就是不停的循环,没有循环终结条件。我们写代码的时候我们都知道,书写while(1)会造成程序的死循环。

但是,在实际工作生活中我们却没有意识到自己就生活在while(1)的循环体中。

撇开技术无法进步来说,我们就看看程序员的生活中存在的问题。也许不是特别准确,下面三个例子生动的说明了,为什么程序员为什么 穷,加班多,没有女朋友(笔者深度体会总结):

穷 -> 需要努力工作 -> 没有时间去交际 -> 人脉越来越狭窄 -> 工作越来越难做 -> 越需要努力去工作 -> 越没有时间去发展人脉 -> 越穷

加班 -> 没空学习 -> 老是写同等水平代码 -> 无法提升代码质量 -> 老是出BUG -> 老是需要修改 -> 加班 -> ….

没有女朋友 -> 寂寞无聊 -> 写代码(or看苍老师or打游戏) -> 更寂寞更无聊 -> 和基友一起写代码(or看苍老师or打游戏) -> 屌丝 -> 更交不到女朋友

循环不可怕,可怕的是一个人在一个循环里呆久了,会习惯,会麻木,最终会喜欢留在循环里(>﹏<)。


难以与人沟通,脾气暴躁

内向,是众人对程序员的一个大致感觉。总是听到有人说程序员不擅长与人打交道、不擅长沟通和交流,更有甚者还提到程序员不太明白人情世故。

不是我们天生内向,而是工作的性质决定,我们面向计算机的时间远远多过于面对人。这就决定了我们,常常以一个思维非常严谨的太多看待一切问题。一旦,但觉别人无法交流,就觉他他们是SB。无法忍耐的人,

如常见到的一下几种问题:

  • PM不懂编程,无法沟通
    之前看到一个视频,说是商家要求我们画一个7条直线相互垂直的图形。PM想都没想就答应,让程序员去开发了。我们学过数学的都知道,平面内两条直线是可以垂直的,3条就做不到了,更别提7条。

    其实现实工作中,这类的无脑需求,我们并不少见。所谓的:“伪需求”、“无脑产品狗”等辱骂也大多数出于此。笔者,基本与合作过的产品经理都撕逼过。

笔者认为,“产品经理”是这个时代门槛最高的职业,同时也是门槛最低的职业。

  • 需求频繁改动
    如同建筑业、医学业一样,计算机行业也是一个工程。凡是工程性问题,那必然有它*的一个项目周期性问题。所以项目必须在前期做好一个良好的规划与调研。

    在一个楼房的建造中,我们不会去要求工程师,有事没事把地基改一下。但是,在应用程序的开发过程中,功能需求经常性的修改以如同家常便饭。

  • 各种打搅
    不是每个公司都能够提供FB这样的优良写码环境,如同笔者之前呆过的公司。我们技术部对面就是客服,客服小妹整天噼里啪啦,弄得我们无法安静思考。自然,bug一堆,思路混乱,心情不好。

很多情况下,环境因素我们都无法直接的适应,特别是刚换了一个工作环境的同学。既然,我们觉得环境或者同事那里做的不好,我们就应该尝试去与他们沟通、改变。

干IT行业的,特别是北上广深城市,我们这个行业里面最不缺的就是人才,清华、北大、海龟都多了去了。对于我们这些背景没有这么强大,技术没有这么厉害的人来说。我们能做的就是,想法设法把事情做好:

“需求频繁改动” 我们就给予PM需求改动的风险说明
“同事不了解技术” 我们就耐心的给予他们科普。

暴躁解决不了问题,只能显得我们是一个素质低下的程序员(码农)。


频繁跳槽

站在统计角度来看,中国企业的平均寿命是2.9年,IT企业的平均寿命我估计可能更短。考虑到大企业拉高平均值,多数IT中小企业或许能活过1年半,但是能活过4年可能不多。而作为技术人员,与业务关联原本就不大,这就造成了程序员跳槽相对简单的很多。

两年一次跳槽不算频繁,问题不要都归结于应聘者身上。愿意为公司效劳无非三个原因:

  1. 公司氛围(领导和同事)
  2. 技术的成长

当然,很多人跳槽也是因为上述三个原因。IT行业人才紧缺,各企业高薪挖人,所以企业也助长了行业人才较为频道跳槽的氛围。

但是,作为一个靠技术吃饭的IT人员,笔者觉得,钱是我们都想要的东西,但是我们不能仅仅因为高薪水而跳槽。

IT技术人员的待遇虽然高,但是我们还是能够看到它的瓶颈所在。如Android高级开发工程师,市面上目前最高的也就是能够开到35K每月了。而能够拿到这个数的人员又是少之又少,如果只凭靠猎头、跳槽帮助的薪水提升,是很难达到的。而高薪是与个人的能力相挂钩的,而不是跳槽的次数。

作为技术人员,个人技术的成长是更为重要的。以前我也常抱怨:
“这领导TMD就是一个SB,完全不会编程”
“这SB公司仅招一些2B 产品经理,开发伪需求”
“这B是培训机构出来的,完全没经验”
……

相信进来一家公司,我们大家毕竟是看中了公司的某一点,当然也是希望公司的优势能够帮助我们成长。而不同的公司都会有自己的“公司病”,找到我们最初的目的,让自己得到成长才是最重要。频繁的跳槽会浪费时间,而在选择与被选择中浪费掉自己的宝贵青春。


PS . 本文没有抨击任何人的意思,笔者本身也是一个码农,文章皆为自身的经验所谈,只是希望众多码农们在学习工作的路上作为参考,少走弯路。

/*
* @author zhoushengtao(周圣韬)
* @since 2015年7月21日 20:40:22
* @weixin stchou_zst
* @blog http://blog.csdn.net/yzzst
* @交流学习QQ群:341989536
* @私人QQ:445914891
/
为什么你只是个码农