今天在微博看到一篇文章,程序猿转型书商
年交易额千万元。作为一个合格的中国特色的码农。忍不住想写点儿什么。
程序猿的「钱途」在那里?
从出版业说起
网络作品排到靠前的,都不会太难看,一般人不爱看某部作品也是由于不喜欢这个类型,而此人也不会全不喜欢这些网络作品。究其原因,是由于网络作品都是让人先白看的,看的好了才出了头。而纸质作品就不一定了,排行榜靠前的,有好作品,也有垃圾。
很多大牛都是写了博客,后来出了书。这些书也都不次,可能有人让为不好,是由于技术书不像小说。小说在读故事,技术书是在学知识或温习知识,有些技术书读得可能非常违背某人的学习习惯,就感觉不好了。
所以说网络是块奇妙的空间。非常能造就高手。而网络高手是绝对不能小瞧的。
建筑project
建筑project不乏豆腐杂,但比起软件project来说。豆腐杂的概率还是非常小的。
做软件,非常可能某程序猿在开发阶段一天没干一点正事,但在建筑行业,除非是收尾阶段。否则绝对不可能一个工人一天没干一点活儿。建筑工人还是非常较挣钱的,但绝对是血汗钱。程序猿还真不一定是血汗钱。由于软件project没有建筑业成熟,经常由于分配不当。非常多程序猿每天在干无用功。建筑工人的门槛相对低一些,但也并不是easy达到熟练水平,就算那个最低等的搬砖推灰的小工,至少想达到这个水准,你得身体力气跟得上,一月没有一天歇息你得熬得住,想想都不easy。
中国软件的用处
软件不一定验收了就是实用的,在我看来,一款软件要想达到实用,至少实现下面功能之中的一个:
1,为使用者节省了时间
2,为使用者节省了人力
3,为使用者带来了方便
4,为使用者带来了知识
5。使使用者能做到某种难以实现的事情
6。为使用者带来了快乐(比方游戏)
7。为使用者节省了资源
8,辅助使用者做出了推断
9,为使用者攻克了某些问题
10,为使用者提供了资源
而有非常多软件做出来以后,使用者不用吧已花了钱了,用吧什么也没带来。还得为学习这款软件而费时费力,得不偿失。
但有一个非常悲观的消息。除了网络软件之外(包含站点),凡实用的软件中国人都习惯白去使用。而花了一大笔钱的软件。往往带来的优点不多。
不是一点没有。是性价比太差。所以现状是:实用的软件没市场。有市场的软件用处有限。多尴尬的事。
而以上的一切带来的现状是:除了网络性软件外。中国的软件挣钱不easy。
程序猿的被动
假设程序猿做的东西要不挣不了钱。要不挣了钱反而让客户感觉不值。这种话。程序猿的价值就减少了。这样,建筑工人灌一天的水泥往往没白干,而程序猿开发一周的工作往往白干,这是常事儿。
这使程序的技术定位非常尴尬。在中国。说句实话,不是每一个程序猿都能天天用到内存管理。就连最基础的算法也都被高级语言封装好了,当然也有非常多低层的程序猿,所以大家不用跟我争这个。最基本的是。高级语言、业务需求、工期决定了有非常多编码与操作系统、算法、内存等等越来越脱节,这种话。非常多程序猿干了若干年,特定业务熟悉了非常多。但编程最基础的知识反而渐渐忘去。这就出现了,让市面上非常多程序猿去做个基本的数据结构与算法(比方有向图,再比方好像是老赵说的排序)。反而不会。这找谁说理去?还不如建筑工人呢,人家说会刷涂料真还做的不错。
有些公司,销售、行政、甚至实施人员都比程序猿有优势。他们眼中这群天天如高僧般坐在那儿的人。占公司大半人数。反而做的贡献不多,反而让他们辛苦开拓的客户群都在谩骂。
程序猿。好被动。
不按套路出牌的中国人
中国到处都有不按套路出牌的现象:不用正版,不守时,造假。山寨,不排队。地沟油,不按合同办事,以次充好,没服务。
这是种坏氛围,以至于每天每一个人都习惯了这样规律。反而麻木了,不觉得这是不正确的,就如同我(我也不敢说你也是)每天白看人家的书白用人家的软件,而没有感觉自己有多少罪恶感。
中国程序猿的出路
中国程序猿也有做好的。尽管其最棒的那些拿到国际上什么也不是,但毕竟能达到不被动。能用自己的努力使生活美好起来的还是非常多的。
总结一下,有例如以下几种:
1,教育型,主要是学知识,写书,讲课。
2,自由型,主要是为自己打工,做好的小团队软件,以积累用户而达到做实用的软件。挣有价值的钱。
3,业务人际型。一般都走向偏管理的路子,用高级语言,对数据库、报表、server和某个业务领域精通。
4,高级白领型。以进入国际大公司做核心项目为主,由于待遇好,属于打工仔里的高富帅。
5,创业型。当老板,也许这个已不是纯粹的程序猿了,所以这个仅仅能算半个。
以上几种路都能够走。但大多数程序猿都还不在这5类之中。都是在某些公司不温不火的为生存努力着。
读技术书籍未必就真是无敌之出路
我常爱说,会中国经常使用的三千字写不了个好文章的话。学会中国八万汉字也未必就能写出来。相同,市面上的程序猿假设去实现个初期的Facebook大多数还是能做到的。但你会这些知识还不能做出一个像Facebook一样实用的软件。那么你再精读了操作系统、设计模式、代码大全、算法导论......也还是照样做不出来。所以我非常反感网上列的程序猿必读书目,一列就是五十大本, 你花十年啃完这五十本。你还能写代码吗?
从环境入手。找到自己所缺少的知识与资源,突破再突破
个人感觉程序猿首先应该定位目标。然后界定目标所涉及的环境圈,在环境圈的范围内捕捉问题,界定自己的知识与资源范围,有目标的展开学习与环境方面的突破,这样更适合程序猿。
也就是说,你要是教育型的,你在你所涉及的知识范围里要细到知识点;但你是自由型的话。还不是必需都细到点。否则你天天不是在开发了,而是在学习了。假设是业务人际型。可能你对操作系统、网络什么的不必要了解太细了,但业务得精纯。
尽可能缩小范围,持之以恒是关键
事实上无论是技术还是人际,所涉及的学问是无边的,假设都要学精再去做事,我想这种话就没有做事的机会了。所以尽可能缩小知识领域的范围,比方上面我分5类人才。就是缩小了一层范围,可是这还是非常粗的。假如你是教育型的,你想教会大家用设计模式。那尽可能先不要去学习WPF,先把设计模式搞到专家地步再说。此间道理,我想大家是能够理解的。
结束语
写了这么多,事实上我并不是在教育谁。我没有这个资格。
网上高人一把一把的,怎么能轮到我来说教。目的仅仅有一个,想找到程序猿的出路。想让程序猿不那么民工(或码农)。大家是拍砖也好,送花也罢,这都是对我有帮助的,毕竟我也是在摸索其中。我不喜欢那些写类似《怎样让程序猿成为百万富翁》而自己连十万都没有的作者,但我确不反对作者们抛砖引玉。