本文从blog.163.com/kazenoyume@126/上迁移过来

今天读的部分很好的给我留下了对有关软件和程序员的思考。

首先我们来谈谈软件。以前很大程度上总是认为桌面软件是非常优秀的、 不可战胜的。但是这本书很好的说明了桌面软件的特点:开发周期长、Bug修改时间长,以致对市场反应缓慢。在用这款软件之前,必须装在电脑上,这对非程序员用户来说这是一个很致命的弱点。用户对装程序这个行为非常反感,因为装上去之后才能使用到这款产品。并且如果这款产品如果不符合用户的需要,用户就会很快的删除。并且在使用过程遇到的BUG让用户无法忍受,很快对这款软件差评。并且桌面软件只有一些极其少数的用户愿意给软件提建议,只导致了BUG的修改周期非常的长,这大大增加了软件开发的成本。 而在服务器端的程序有很好的优点。用户只需有浏览器便可使用该软件,而且网络速度的增加也让软件大小可以变大,在增加UI美观度的同时让用户的响应时间仍在可忍受的范围。而且服务器端的程序能很好的收到BUG的反馈,能让软件的健壮性得到保证。并且在服务器端的软件在初版时不必确保所有BUG都被消去,在用户使用过程中这些BUG能快速的出来。并且实现跨平台的特性。 在目前计算机行业的发展状况看来,云端软件肯定是一个很好的选择。小型的桌面软件会逐渐淘汰,为云端软件提供一个很好的开发资源。并且随着各种平板、手机、移动电脑、台式电脑等的统合,必然通过互联网这一媒介进行。只要你的软件有那么一点的跟别人的不同并且你愿意进行维护,就能有自己的优势。

现在我们来谈谈程序员。 以前总认为程序员是一个非常辛苦又吃力不讨好的职业。上司的压力、极长的工作时间、不能有好的人际关系等特点都让我认为程序员只是最辛苦的职业。但是当时我没想到这个职业的定位。我印象中的职业的程序员普遍是在大公司的程序员,而且这些都有一些特点:每天得做烦人的填表工作、自己所作出的贡献无法被衡量。大公司的平均化很大程度上打压了程序员的积极性。还有程序员说自己辛苦,是因为没想过自己做的事情的收获或许是别人同等时间收获的几倍,别人辛辛苦苦干几十年才有一间屋子,而程序员或许能在几年间就能做到。只是这几年间的辛苦程度是别人的几倍,同时也有这种辛苦程度所带来的健康问题人际问题等等。 但是我没想到小公司程序员的可能性,在小公司里面,你所做的东西能很容易被别人衡量出来。所以你的收获也是巨大的。在这些小公司里面,程序员普遍是比较优秀的。 那么我们或许现在可以重新考虑下程序员的定义。程序员按道理来说是当今学科中交叉度最大的。程序员首先必须学好自己本科的技术,并且这种技术需要很好的运算与逻辑基础。在开发某种东西的条件之下,或许还得去学习其他学科的东西,看看学术论文之类的。还可能遇上难以调试的BUG,这种BUG很大程度上能锻炼你对编程的耐性。并且作为程序员,很大程度上能明白管理的定义,如沟通的费用、信息的传递的过程等等。那么我觉得,(当然是对那些有心致力与程序员工作的人)程序员是集合智力、管理、情商于一体的知识集合型人才。

经过今天,在客观状况上说,国家的创业支持力度或许不大,但是对程序员创业这个问题,我觉得还是有必要先再思考一下。不要马上盖棺定论了。