Web项目,尤其是Web管理系统,被很多程序员认为没有技术含量。这种项目,主要功能就是增删改查,尤其是查询方面,更是多种多样。
因为这种项目本身的业务就是简单的CRUD,没有太多复杂的业务逻辑。然而,CRUD这种功能却又是最基本的功能,如果只是复制粘贴修改,程序员和建筑民工没啥区别了。
建筑民工本身就是体力+简单的智力,高级的建筑工人会有自己的一套建筑方法,做起事来高屋建瓴,井井有条。
低级程序员-码农也是体力+简单的智力,高级程序员除了知识比较广比较深外,更主要的他们能够避免重复的劳动,提高生产力。
定理
提高生产力=减少解决问题的时间*解决更多的问题*市场价值(乘积)
提高生产力的2种方法
1.减少解决问题的时间。
比如Web管理系统中,CRUD就是最频繁需要的功能。从头实现一套CRUD,假如需要2天。如果你能够开发一套CRUD框架,把时间降低到1天。这就是一种超越!
开发的管理系统越多,节省的时间也就越多。
这是提高程序员个人价值的一种方法,人人可以实践,人人有能力实现。
“减少解决问题的时间”这种方法,通常来说也需要“解决复杂的技术问题”这种经验。
2.解决更多的问题。
单单是减少解决问题的时间仍然不够,还需要同时解决更多的问题。
3.除了以上2点,另外需要注意的是“市场价值”或者称谓“获得认可”。
比如你开发了一套教程,可以在10天内,教会小孩加减乘除的教程。家长不认可你,不相信你怎么办?你要价1000元,家长就认为10元。
这种类似的情况是完全可以出现的,而且是经常出现的。
同一个程序员,在A公司值1万/月,在B公司就可以值2万/月。
实践
背景=解决更多的问题*解决复杂的技术问题(乘积)
实践上述2种方法是需要一定积累和经验的。
1.解决更多的问题。
量,保量。
2.解决复杂的技术问题。
性,保质。
比如开发了一个搜索引擎,解决了广大网民的查找网页的问题。
实际上,这种方法是减少了别人解决问题需要的时间。
“解决复杂的技术问题”这种方法本质还是"减少解决问题的时间",只是比较特殊,专门列出来。
举例子。
指南针,任何人都可以用。
更难更好,高并发网站开发。
关键,公司认可,市场认可。
观点结论
“减少解决问题的时间”和“解决复杂的技术问题”,本质都是减少解决一个问题需要的时间,从而提高生产效率。
如果说两者是不同的方法,那么它们是相辅相成的。
需要说明一下:这篇文章是好几个月之前写的,算是半成品。今天想完善下,感觉没啥思路,就整理发表了。
原文首发:http://fansunion.cn/article/detail/576.html