03.04 为什么程序员不自己写程序去卖而要去公司上班领死工资呢?

段宝君


作为一名从业多年的老程序员,我来回答一下这个问题。

大部分程序员需要到公司工作主要是基于以下几个原因:

第一,一款成熟的互联网软件产品不仅仅需要程序员,还需要产品经理、主策、设计师(交互设计师、视觉设计师)、产品经理以及测试等岗位。程序员作为整个团队的一员,并不能完成所有的事,尤其是随着互联网的发展,用户对软件使用的体验度要求越来越高,自然需要一个成熟的团队来保障软件的质量。

第二,软件产品后续服务比较多。软件产品往往需要很多后续服务,最常见的就是功能升级、数据维护、问题调整等等,所以软件编程很难做到传统产品的售卖方式。对于买家来说,很难跟个体程序员合作,因为后续的服务风险较大。

第三,交易市场和行业分工都不够成熟。如果有一个成熟且规范的交易市场,同时能有一批分工明确的程序设计人员,其实程序员也是完全可以成为一个自由化职业。

相信未来随着软件市场的逐步发展,程序员职业自由化也是一个发展方向。目前在一些特定领域也出现了一批自由程序员,比如为电商客户做程序开发服务等。

对于程序员来说,在一起工作对交流来说还是比较方便的,也有利于程序员的成长,尤其是对初级程序员来说。

我的研究方向是大数据和人工智能,我目前也在带相关方向的研究生,我会陆续在头条上写一些相关的科普文章,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。

如果有互联网方面的问题,也可以咨询我。

谢谢!


IT人刘俊明


写了十多年的代码,也接触过很多程序员,确实很少有程序员可以开发出自己的产品去销售,其实原因很简单,我给大家分析分析。


会写代码,不一定能开发软件产品

  • 最主要的一个原因,对于大部分程序员,都几乎没有能力去开发一款产品的;单单就说程序开发,如果要开发一个产品(一套程序),需要从前端到后端多方面的知识,也就是我们经常说的全栈工程师,但是大多数程序员的技术水平是达不到的。(当然可以几个各有所长的程序员合作)


  • 开发一款产品,不单单需要技术人员,产品经理也是重要的一个角色,还有运营推广,都是必不可少的。如果这些角色都由一个人做,还是有些难度的。


移动开发是个不错的选择

智能手机的流行,程序员可以选择进行App的开发,这个相对来说比较简单,也有不少程序员,选择作为独立开发者进行移动App的开发。

  • IOS平台:得单独学习Swift或者Object-C,最好拥有一台Mac(感觉黑苹果不好用),开发完成放在苹果市场上进行销售。

  • Android平台:如果有Java基础的话,再学习Android会简单一些,拥有一台任意型号的电脑即可,开发完成后的销售比较麻烦,因为安卓市场太多了,可以选择几个大的市场。

  • 开发的App不一定收费,大部分是通过广告盈利的。

  • 这几年App开发也不好做了,不过有兴趣的程序员可以尝试,我在今年前做过一段时间的Android开发,挣了...不到500块钱,早已经不维护了。


有能力的程序员,会选择一些威客网站“接活儿”

实话实说,我没有做过,但是我研究过,当时我研究的结论:国内的“活儿”不好接,主要是少,竞争激烈,国外的“活儿”多,但是...我的英语也很令人“捉急”,这个需要和外国人进行交流的。介绍几个国内国外的威客网站,大家可以了解了解:

  • 国内最有名的就是猪八戒了

  • proginn:程序员客栈

  • codemart:码市

  • yingxuan:英选

  • freelancer

    :接活儿会员免手续费,非会员网站抽10%
  • upwork

  • sologig

    :不仅仅有IT方面的,还有法律、金融等,比较全面


希望我的回答,能够帮助到你!我将持续分享Java开发、架构设计、职业发展等方面的见解,希望能得到你的关注;另外,关注我后私信【资料】两个字,可获取架构、大数据、面试等相关资料。


会点代码的大叔


先问有没有,再问为什么。

独立开发者有很多的,APP Store就有很多收费的软件,都是一个人开发的。

比如这个评分很高,售价3元的软件就是单人开发的。

想自己开发一款能赚钱的产品,除了要会写代码,更重要的是要有一个好点子,解决哪些的痛点。

往往一款产品上线,背后需要很多很多人的努力,产品经理,设计,开发,测试,运营等。程序员只是其中的一环。

而且一款产品还会有多个版本,常见的苹果系统,安卓系统,仅仅手机版的都需要两个工种,还有电脑版呢。

开发下面还细分,iOS工程师,安卓工程师,前端工程师,后端工程师,后端工程师又分很多,比如JAVA工程师、PHP工程师,网络安全工程师,还有架构师,技术总监也就是CTO。

这只是开发这一个环节需要参与的角色,其他的产品,设计也会有很多细分工种。

一个人的力量是有限的,独自开发一款能赚钱的产品是很难的。就算拉上一帮人去创业成功率也很低。所以大部分人选择去上班,去给别人打工,还挤破头的往大公司进。



Hfyjbg


这个问题就好像,设计师为什么不自己造房子卖,工程师不自己造车,而要去公司上班。

首先程序员未必没有自己写程序卖的,而且不少。但这多半是作为兼职炒单,很少作为主业。技术和销售是两码事,做的好技术未必做的好销售。能做好程序,未必找得到稳定的客户资源,不然早就可以跳出来自己开公司自己干。偶尔接个几单提高生活质量未尝不可。

另外,除了一些小程序,大部分软件程序都是需要团队合作完成的。举个例子,Windows 10拥有大约40-45个Feature团队,每个团队里有大约32个工程师(这还不包括测试者,产品经理等等)。它从大约2013年开始开发,到2015年7月末正式上线,开发时间在两年半左右。假设先前的代码库重写了50%,这就意味着我们还需要另外两年半来写之前的代码。那么我们就可以进行计算,如果这些由一个人完成,并且这个人具备所有知识:5年*32名工程师*40个团队,相当于6400年的开发时间。这还不包括系统测试,构建实验室,用户界面开发,全球化/本土化工作等等。虽然实际操作中,Windows是个特例,但绝大部分软件都是很难靠个人去编写并且需要极大的人力物力来实现。


第九街区08


互联网的普及让程序员这个高薪职业慢慢走入大家的视野,每个月上万元的薪水让很多人羡慕不已,既然写程序这么赚钱,为啥程序员不单干自己去卖软件,而要在公司领死工资呢?

1、术业有专攻

现代社会与原始社会最大的区别就是现代人懂得分工合作,做自己最擅长的事使得社会的整个生产效益最大。人的精力是有限的,很少说会有一个人在各个方面能力都是出类拔萃。

程序员最擅长的事当然是写程序,但如果想把程序卖出去,写出来才只是第一步而已。

第一,你要解决产品定位的问题。你是否有好的创意,也就是你写的软件解决了用户什么痛点,用户为什么要用你的产品而不是其他公司的产品,软件的人机交互流程是否合理,是否符合用户的习惯,这都是需要考究的,而这属于产品经理的范畴工作,程序员通常是很难做到仔细深挖的。

第二,假如你的产品定位问题解决了,那么你是否在美学设计方面有天赋呢,人类都是视觉动物,你做出来的产品不好看,奇丑无比,你觉得会有用户愿意买单么?

第三,假如产品定位问题和 UI 设计都解决了,产品也如期上线了,后期的产品运营怎么做呢,怎么获取第一批种子用户,怎么获取更多的用户,让他们留下来,然后把他们转化为你的付费用户,这里面都有很大的学问。

好比我们大家所熟知的微信,作为一个日活十亿的 APP,其产品价值不可估量,但你觉得这是张小龙一个人的功劳还是某一个程序员的功劳,都不是,这是产品,运营,程序员,市场推广,UI 设计等整个微信团队所有成员共同努力的结果。

2、稳定还是冒险

刚才说了,一个好的产品走向市场是需要各方面人才共同努力的,假设你把以上所有人员的工作全包了,然后推出一个超级颠覆时代的产品,最后却因为某些不可抗力因素导致产品失败,血本无归。你是否能承受的了这个打击,因为没有谁能保证产品一定能成功,用户一定会接受。所以说自己来卖是由极大的风险的。

但是在公司上班就另说了,只要你技术流弊,完成自己的编码工作就可以了,这对你来说真是太容易了。而且还有非常可观的薪水,何乐而不为呢?


stormzhang


首先,你需要清楚的一点,每一个应用程序都不是简简单单的几行代码就可以实现并使用的。

一个产品在开发前需要经过一定的市场调研,了解整个市场的需求,就光这个紧靠个人短时间就很难完成。

其次,在产品进行开发阶段,其架构、模型设计起码底层的程序员是很难进行直接设计的,因为一般产品在设计的时候必须是可迭代,可维护,可移植的,其次在设计完成后仅靠个人实现十万百万行的代码并且熟悉所有本次开发所需的编程语言、设计的工具或者其他环境的使用也对个人能力有更高的要求。

其次,在产品设计完成之后,产品的安装部署,涉及的环境,需要维护的人进行实施,当然,你自己开发你来搞这个应该问题也不大。

再然后,你需要大量的测试用例来对你产品的功能、性能、稳定性、安全等方面进行验证测试。自己开发的东西自己是很难发现自己的错误点的。

好了,现在东西有了,你还需要告诉客户这个产品如何使用,起码一个简单的产品文档,部署文档,维护文档你是必须要有的,并且根据你所发布的版本进行更新和发布。

现在连文档也有了,好了现在就得去销售啦,你需要去自己拉客户、打广告、去找市场,跟客户拉关系,跟其他的所谓的友商进行竞标。

现在竞标到了,客户使用中又发现你产品的BUG了,或者觉得你的产品某些地方不好用,得进行更新,于是你的产品又得进行迭代更新二次开发,开发又有的忙活了。

到后来产品做大了,客户也多了,整个流程都得加人才能争夺更大的市场。

所以个人能完成的仅仅是编程,最多做出个小产品,没有别人的加入基本很难做出一个改变行业的东西。



天晴不忘雨伞


原因很简单:不是每个程序员都具备单干的能力、魄力和机遇。

虽然在整个产品线程序员是非常重要的一环,但是只有产品需求和定位明确、功能实现条理清晰、市场分析准确、运营推广到位,程序员上线的产品才能体现出最终的价值。

或许你的编程技术无懈可击,但是想要做出一款优秀、成功的产品,首先离不开一个好的idea。产品的设计更多的时候需要我们去考虑大众心理和使用习惯,而这恰好是程序员的弱点。

要知道靠自己写程序赚钱远比我们想象的要困难的多,因为除了要有过硬的技术作做保障,同时你还要兼顾很多工作和责任。你要会写商业计划书,你要出去谈判,因为你要让更多的人知道你知道你们的产品知道你们的公司。甚至你要会讲故事,会吹牛,因为你要去拿融资,不然怎么做地推做广告。

慢慢的你会发现,在公司守着自己的一亩三分地,只要做好自己的本职工作就万事大吉了。但是当自己打拼事业的时候,你要学会与越来越多的人打交道,这对于大多数不善交际、性格木讷的程序员来说确实不是一件简单的事情。

如果你觉得这就是程序员自己出去单干的困难极限了?那你就大错特错了,困难将远远超出我们的想象。诸如记账、交税、各种营业执照等等问题,将随着公司业务合作步入正轨接踵而至。除此以外,每个月给下面的员工发工资,缴纳租办公室的场地费,每个月的固定开销也会让你喘不过气来。

最后我想说的是,无论是在公司就职给老板打工,还是自己单干自己给自己做老板,并没有高低贵贱之分,关键要遵从自己内心的声音,找到适合自己的工作节奏和成长路径。唯有如此,我们才能充分发挥自己的技术价值,获得职业成就感。


小贝的STEAM教室


因为程序员的死工资已经很高了,没必要冒创业的风险。

一个能力平平的程序员,工资足够养家糊口;如果优秀些的,在一个领域里钻研精通,沉淀多年,成为技术专家拿年薪,也不比出来单干的创业者赚的少,干嘛找那不痛快去。

再一个呢,很多程序员,更善于跟机器打交道,不善于跟人打交道。但这点放在创业上,几乎是个死穴。开公司、谈业务、做产品甚至搞招聘,哪个不需要跟人打交道?只会技术是不行的。

外人会觉得创业很酷,很自由,其实一点都不。尤其是技术出身,一旦开始创业,就不得不去面对自己不擅长的事情,搞得自己很痛苦。


其实这个问题也可以替换成:

为什么设计师不自己搞设计,而要上班领死工资呢?

为什么厨师不自己开饭店,而要上班领死工资呢?

为什么销售员不自己开公司,而要上班领死工资呢?

我们绝大多数人都没有雄厚的资本背景,可以在万事俱备,什么都不操心的时机开始创业。相反,几乎所有的创业者,最开始都是在挣扎、窘迫、有上顿没下顿的情况下,就破釜沉舟地迈开了第一步。

勇气这东西,你十年前没有的,十年后也不会有;

【准备】是永远都不嫌够的,钱、经验、人脉永远多多益善。但,所谓“万事俱备”的那一天,真的会到来吗?我很怀疑。

每个创业者都是一边实践、一边摸索,一边吃亏、一边长进。


然而,并不是每个人都要创业,世界上不只这一种活法。

况且,在技术领域成为专家,也是需要付出很多努力的。只是大家努力的方向不一样罢了。

实现梦想的方法多种多样,道路千万条;但“变的更优秀”这件事,所有人大抵都是殊途同归吧。一个成功的创业者,一个厉害的技术专家,他们站的山头可能不同,但是山的高度,是相同的。


吉姆妮成长日记


为什么程序员不自己写程序去卖而要去公司上班领死工资呢?程序员不是万能的,与其它实体生产流水线一样,只是软件生产线上的一颗螺丝钉。在一个生产厂家呆过一段时间是不是就可以说自己不去生产产品卖,还是要在一家工厂打工呢。道理差不多吧,程序员做的事情也只是软件项目的一部分而已。

当然有极少部分程序员可以除外,这部分人有些人可以拿到项目,可以组织团队进行软件开发,可以又找到相应的市场销售出去,那么这样的程序员就没有必要去领死工资而该自己去当老板了。而有部分人可以自己写出有特色的软件来,也能够找到相应的市场把它销售出去,这也可以当自由职业者,比如有些人写些外挂呀,写些小工具啊等等。


而对于绝大部分程序员不得不在公司去上班领死工资,要他们自己去写出程序来买,可能可以写出来,可要卖出去那就只有说“臣妾做不到啊”。一个软件项目可不只是程序员就能完成的,现在一个项目需要的包括产品经理、市场调研、策划、设计师、UI美工、前端程序员、后端程序员、测试、项目经理等各种各样的角色,程序员只是里面一个分工而已。

对于程序员来说,有可能写软件搞美工及设计这些都可以想办法搞定,可是市场调研、销售产品、胆量就不是那么容易搞定的了。现在年代已经不是二三十年前,一个人在家里随便写个软件市场上就可以找到买家。现在各种各样的软件简直多如牛毛,没有特色没有找到相应的需求,甚至没有三寸不烂之舌没有口若莲花似的销售能力,你的软件就只有自己独自怜惜独自欣赏锁在深闺了,还浪费了自己大把大把熬夜的光阴还白了少年头、成了地中海,值得不?



当然对于那些找到了方向、找对了市场,只要有胆量想办法去搞定一切困难,那还是可以自己试试的。


更多分享及互动,欢迎点击右上角关注【东风高扬】。


东风高扬


这是个好问题,作为一个独立个人开发者,我来发表一下我的看法,首先这样的人肯定有只是别人不说你也不知道。接外包对于开发者而言是个没有前途,这会耗费大量时间和精力去满足客户各种各样的需求。明智的选择是开发自己的产品,真正有好的产品谁会愿意卖给别人了?前提是你要有长期的工作经验,属于软件行业市场规则,经济宽裕有家人支持,长期工作积累。技术上至少需要会网站前后端,数据接口,懂设计,懂服务器配置运维,会开发客户端包括ios,android,手机站。反正技术要求是什么都会,学习能力超强,同时切换各种语言开发,同时切换多种产品设计思路,架构思路。最后一点还需要会报税。想说的就这么多了,本人目前正在这样践行,而且同时开发两款不同的产品,而且都是大型产品。同时开发网站和客户端。多说一句产品大不大,完全靠架构思路,而不是垒代码。


分享到:


相關文章: