对于个体程序员对于产品与项目的选择性问题

在IT行业,产品和项目一直是程序员们讨论的热话题。下面是我看到的一篇文章,我觉得写的比较不错。和大家来共享一下。

我始终不能避免的是程序员的最终归宿,人都有老的一天,也有很多人在讨论程序员的码代码的寿命,有的人说是35岁,有的人说60岁,有的人说退休了也能写个八皇后出来。不错,每个人的能量不一样,每个人的归宿也不一样。

在我看来程序员这个职业是体力跟脑力都消耗十分严重的职业,我不是研究人类肌体的所以归纳不出脑力严重消耗后对于体力的影响,但是现实是经过一天高强度的脑力活动后,你基本上吃饭都不会香,扫地都不太愿意去,各种体力的活动,运动都不会无意识的去触发;除非你给自己定了一个计划,每天跑五公里之类的运动环节。所以程序员在没有无意识的运动消耗的时候,说自己还有体力那纯粹是扯淡。所以我的结论是大部分程序员的码代码的寿命取决于身体的素质。

回到主题上面来,项目跟产品的区别,我想归纳一些现象,首先是项目,项目的公司大的分为两种,小分类分为3种:一种是在项目公司办公楼做日常的项目开发,需求都是产品经理从客户那边得到的,不用全国各地跑,不用在奔波中体会【快感】或者是【劳累感】,这样的项目少则半月,多则一年,在互联网时代超过一年的项目基本应该归纳为产品了。说说最常见的三个月的周期,如果你在一个项目公司做两年的话,按三个月算的话,你要经历过八个项目的周期,如果你码代码还算不错的话,项目中的技术也掌握的八九不离十,往多了说等于你通过两年时间学习了八项计算机技术,好一点的也许能做项目管理,项目架构,年轻的时候【通常是23-30岁】这样的经历足够让你在跳槽到下一家的时候涨一倍工资,甚至再多一点。第二种是你签约的是一家人力外包公司,他们专门做人力外包,哪里有项目,就招人投放过去,这个也就不谈了,基本你就是一个工具,或者高级工具。 第三种是公司派往客户现场驻地开发,这个跟第一种的区别在于你需要奔波,你在奔波中要忍受无法见到妻子,家人,客户现场自己有陌生感,对方也会把你当做一个过来的苦工看待,没法在公司内部享受到同事的亲密,这样的工种需要人有很强的适应能力跟变化能力。

好,问题就来了,你的归宿信仰呢?这样的工作,换了一个项目等于像换了一个工作一样的,有新鲜感?有刺激感?有强烈的征服欲?这些都可能短暂的存在在脑海中,但是对于做过的项目,你觉得哪一个最能代表你的成功?哦,那个技术用的最深的,耗了我两周的。这也许在我眼中算是影响你最深的,但不能代表你的成功,因为你的成功整体来概括就是:做了八个项目,经验不错,很多点都涉及到了。然后呢?然后就没有然后了。难道一个程序员就不需要有信仰么?难道是最越来最越多的项目,用最牛逼最牛逼的技术就是成功?就是你的终极目标么?

在我看来这样的想法只会拖累你在前进过程中步伐,而不会加快自己的成功,不成功便成仁不应该用在无休无止的路上,不要迷失,不要彷徨在pi的小数点上,因为没有人能做完全天下的项目,没有个体能在如此繁忙的项目中思考如何前进,因为你刚开始想的时候,产品的人就在旁边说,“你这个地方跟我的原型有点冲突需要修改一下”。我概括一句,项目是没有灵魂的,产品是有灵魂的。

说说你的八个项目是不是真正的掌握了,是不是真正的进入到了你的程序员素质体系里面,我只能说人的记忆有衰退期,说说你最得意的一个项目,用了最复杂的技术,这个你认为最自以为豪的项目一直在你脑海中挥之不去。我想问一个问题,下一次有多大的几率你还会用到这么复杂的技术选型组合,这么变态的业务规则?我想应该是过了这家店没这个村了吧?这个只能会沉淀在你所谓的个人荣誉殿堂的最底层,时不时的用来慰藉自己的心灵,找一点还是个程序员的存在感,最终会在简历上面挥毫一笔。很多人招聘的人会注意到这个点,但是我想说,我不会。我想说的是你对于最得意的技术配套着最复杂的业务还有多少记忆?对于一个长期没有继续使用的技能到底还能在新环境中使用多少?这个对于新环境招一个技术能力差不多,没有熟悉这块业务的人替代你做的事情的成本有多高?我想如果你不自降身价的话,估计是拼不过人家的。因为你貌似经验十足,可是可替代性也十足。
对于自己做的东西没有归属感的人,自己内心其实是飘着的,只是等待,等待,等待下一个落脚的项目,或者是新环境。

最后说一说归宿。做技术的有很大一部分很多年轻人,被现实生活压迫的遍体鳞伤,在风雨中前行,很不容易!很少能有机会静下来想一想自己的归宿,自己的未来。

问一个问题:如果在医疗行业做某个产品做了5年的人,跟在医疗行业做项目做了5年的人走到了一起,他们如何竞争?
项目:我做过第一人民医院某某系统,用了java,redis,oracle……
产品:我做过用药助手
项目:我做过瑞金医院某某系统,用了c#,http://asp.net,nodejs……
产品:我做过用药助手
项目:我做过长海医院某某系统,用了django,twisted,beautifulsoap……
产品:我做过用药助手
项目:你能不能换一个啊,不要老说用药助手
产品:我做过家庭用药
项目:……

这个纯粹是一个笑话啊,严肃一点就是:做项目的人,你的核心竞争力在哪里?你不觉得,做的东西不成体系么?假如有这么一个机会,大佬发话:给我找这个行业最牛逼的技术人才。我首先想到的是一直在坚持做产品的人主持工作,而你只会又一次作为高级工具出现在这个行业中。这也就是随着时间的推移,你的工作的价值曲线会远远被一直在这个行业做产品的人抛开。归宿感也是在一直做产品的人中有流传。想要回归,为时已晚。可能在下说的有点偏颇,可是我能这么思考一下子,也算是对得起整体忙碌的自己。我还是建议,能确定自己方向的码农,尽早能规划好自己的愿望跟理想,朝着一个方向奔去,在选择的道路上尽量能沉下去一直在精心打磨一个东西。

项目跟产品也没有我说的这么极端,有很大的共同性。如果没有选择,你就继续做下去,如果有选择还是选择一直做一个行业的项目,如果还有选择还是选择一直做一个行业的一个产品把自己的最终归宿,归宿在为广大使用产品的人身上,不要归宿在自己做的八个项目的某个牛逼项目上,因为那是虚假的。

软件开发中,做产品与做项目有什么区别?相关推荐

  1. 软件开发中的QA主要做什么的

    QA是质量管理职位,很多大公司有专门的质量管理部. 在项目开发过程,会由QA进行全程的监督,查看是否按照CMMI的标准进行软件开发. 文档是否齐备,开发基线是否明确,是否存在风险,BUG的削减是否能够 ...

  2. 软件开发中产品与项目区别

    很多人都以为软件行业是一个高薪的行业,所以就稀里糊涂的进入了软件行业.然而有很多人在软件行业待了多年,却可能从头至尾都没有整明白软件开发这个行业.现在我们就来聊一聊软件开发行业的一个概况. 随着社会的 ...

  3. .net开发是做什么的_软件开发是什么, 该怎么做?

    软件开发是什么, 该怎么做? 1  引子 关于什么是软件开发存在很多观点,有的认为软件开发即服务,有的认为软件开发即产品,有的认为软件开发即平台,这些观点各有各的侧重点.这篇文章我们来学习和探讨一下软 ...

  4. 做产品与做项目的区别

    1  背景概述 在软件行业飞速发展的今天,我们可以将软件公司分大体分为两类,一类是使用框架进行开发的软件公司,另一类是套装软件产品的提供商,前者公司多数定位是项目类公司,后者则可以称为产品类公司.但做 ...

  5. 关于做产品与做项目的区别

    做产品VS做项目 根据GB/T19000-2008<质量管理体系基础和术语>,有以下定义 过程process 一组将输入转化为输出的相互关联或相互作用的活动 注:一个过程的输入通常是其他过 ...

  6. 软件开发中项目经理有那些职责

    搜集了一篇软件开发中项目管理的文章,大家看看 当项目繁多的时候,需要规范,并且定义到细节,只有这样,才能支持大规模的开发.     PM非常重要,PM的能力将直接导致项目最后的质量.       本文 ...

  7. 随着信息产业的飞速发展,项目管理对于应用开发为主的软件企业是一个行之有效的管理办法,在软件开发中项目...

    随着信息产业的飞速发展,项目管理对于应用开发为主的软件企业是一个行之有效的管理办法,在软件开发中项目管理的应用日益受到重视.在项目管理中,随着岗位的细分,PMO 岗位应运而生.作为一个新型的岗位,大家 ...

  8. 彼之蜜糖,吾之砒霜——聊聊软件开发中的最佳实践

    作者:sherrywasp https://www.cnblogs.com/sherrywasp/p/9436623.html "描述一个事物,唯有一个名词定义它的概念,唯有一个动词揭露它的 ...

  9. 论软件开发中的可信赖的工作

    中大型软件开发,免不了团队开发,团队开发就少不了分工合作.在团队开发中,当然每个人的能力都很重要,但是我认为可信赖的工作是团队开发的首要条件,也是团队开发存在的基本保证.没有可信赖的工作,就没有团队分 ...

  10. 建模语言UML在软件开发中的应用

      建模语言 UML 在软件开发中的应用 摘要:UML( Unified Modeling Language)是建立系统模型和分析业务处理流程强有力的工具,它能够帮助软件开发人员从不同角度描述系统,使 ...

最新文章

  1. 不可不知的C#基础 1. -- Extension 扩展方法
  2. 构造器和析构器 - C++快速入门15
  3. Springboot集成axis1.4
  4. 关于通过ServletContext获取数据出现的http500的错误的解决方案
  5. 如何通过Chrome中的代码设置JavaScript断点?
  6. addEventListener事件监听传递参数
  7. 关于java反射里的.class、.getClass()、Class.Forname()
  8. mybatis(12) mybatis-plus源码分析之sql注入器
  9. 开发板运行可执行文件提示not found的问题
  10. OpenCV 局部自适应对比度增强ACE算法
  11. NFT 作品集推荐|Lululand《爱是永恒》
  12. 计算机组成原理:运算器组成实验(.八位串行可控加减法器等)
  13. 工厂仪表定时拍照智能AI算法识别内网部署方案
  14. Python 将拼音转换成汉字
  15. 关于Xftp7的下载和安装
  16. 震撼!世界从10亿光年到0.1飞米(ZT)
  17. 通过python操作postsql的最近距离查询
  18. 保护你的数据安全,了解网络安全法!
  19. 仓库可视化分拣系统,实现仓储智能化管理
  20. 流变学基础 -- 粘度与粘弹性测试

热门文章

  1. android 删除短信无效,android删除短信(绕过权限)
  2. python ppt 绘图_Python数据分析-Matplotlib绘图基础
  3. Incorrect string value: '\xF0\x9F\x98\x82' for column '' at row 1
  4. 15、Gantt 修改样式部分
  5. 记录第一次使用nvidia tao训练模型的过程
  6. 我的阿里巴巴图标公开库
  7. K8s系列之:网络原理
  8. Javascript 产生随机数——服从均匀分布随机数、服从正态分布(高斯分布)随机数、服从柯西分布随机数
  9. 图的深度遍历(邓俊辉版)
  10. anaconda3如何卸载干净