程序员——大有可为的职业
程序员的人力缺口非常大,作为一个在职前端开发人员对此更是感触良多。虽然有时候我们也抱怨好项目太少,但是更多的时候是好项目来了却发现根本没有人去做。招聘广告常年打,面试者寥寥无几,能通过面试的更是沧海一粟。
那好吧,我替大家问一声,我们不是不想去应聘,而是面试了几家都不成功不是你们根本不,是想招人,就是在炒作啊?就算侥幸成功了,进去工作的时候被骂的像死狗、工作累的像死狗、炒鱿鱼就像扔死狗,为什么?
其实很简单,因为各个公司都是在招聘程序员,而会写代码 != 程序员。
你会换保险丝,但是你不是电工,对吗?
你会唱歌,但是你不是歌手,对吗?
你会做饭,但是你不是厨师,对吗?
那凭什么你会写代码就一定是程序员了呢?
好吧,我承认你说的对,那么达到一个什么样的标准才是程序员呢?
我无法给出什么答案,只能分享一些过往,期望能带来领悟。
程序员之路
我在小学的时候就接触到程序了,那时候按照老师讲解的例子画画几何图形,弄个打飞机的小游戏,初中的时候也是这样,不过就是硬件不一样而已。
从win3.0.1,win95,应用方式从打字变成玩游戏,此外由于系统不稳定被迫学会了怎么装系统,除了“电脑很好玩”外,我对它没有更多的印象了。
也许兴趣确实是最好的老师,游戏玩多了就会有写游戏的愿望,也就顺便看了一些编程的书,那时候还更多的是C/C++写的,后来有了个网页游戏之后,有FLASH的AS写的游戏。结果我发现,对于我这种没编程思想的人来说,编程根本就是一件无法理解的事情,无论是汇编还是C。
后来的事情可能年龄大一点的人就都经历过了,聊天室、看网页,我是在大学里接触了C#之后,才知道了面向对象,也是那时候开始接触.NET,然后慢慢的不再满足只是能看到数据,我还想看到页面更炫酷(好吧,还是没忍住笑了),最终走上了前端这条不归路。
我说要有光
一花一世界,一叶一菩提;代码自在方寸。我惊喜的发现,HTML+CSS+JS,对于接触过QB的我来说,一眼就看懂了HTML的奥秘。
每当看到亲手写的代码在浏览器中呈现出了原本仅在我脑海中的画面,我忽然觉得,这样也不错,这是我期望的光。
我期望着在属于我的浏览器中构建独属于我自己得世界,让那些不切实际的想法全部成为现实,在这个过程中痛苦并享受着,慢慢的我发现我找到了我想要的世界,通过自己的代码实现那一个一个效果和画面,我知道这就是我想要的,并甘之如饴。
我想此时的我已经开始了自己的开发之路,虽然那时候我还算不上是一个程序员,但是至少我有了目标,并且也愿意为此而努力。
并非天生我材必有用
一个又有一个页面制作出来,然后一个又一个的丢掉,直到有一天受命制作了一个简单网站。很简单的网站,列出很多小说的超链接,可以在线观看(txt格式)和下载(zip),90%的时间花费在寻找资源上,最终的页面很丑,顶部一个标题,然后就是一堆url。但是,这些丑陋的页面没有被丢掉。原来并非天生我材必有用,而是没用的早已被湮没。
我要去做有用的东西,虽然我还不是一个程序员。
让我站得更高一点
薄薄的一本HTML教程轻松翻完,可能只用到的东西不多,但是留给我太多的问题。为什么别人的网页这么好看,为什么别人能做出一些很炫的效果,为什么有那么多为什么?答案轻而易举的得到了,四个字:查看源码。
HTML -> CSS -> Javascript -> Photoshop –> PHP/JAVA/C# -> MsSQL/MySQL
这个时候我觉得自己应该算得上是一个程序员了,或者说我已经不在意自己是不是一个程序员了,不断地学习,不断地练习,不断地进步,不断沉淀,不断地超越自己,这就是我想做的、正在做的、并会继续去做的事情。
这是一个起点
编码、吃饭、睡觉,这种单调的生活持续了几个月,我的第一个网站项目完成了。开发工具就是VS2005,功能则是依附于MsSQL数据库构建一个简单的增删查改系统。
在开发的工程中我学到了新的知识,对某些问题的处理有了新的思路,所以我相信我的下一个项目会做的更好,我能掌握更多的技术来开括解决问题的切入点,能完美的解决问题。
所以,这只能是一个起点。
程序&程序员
用文字描述客观真理被称为哲学,用数字与符号描述客观真理被称为数学,用0和1描述客观真理,是程序,是过程的有序组合。
程序员在不违背客观真理的前提下,对过程进行有序的组合,使事物按照我们的意愿发展从而得到必然的结果。
程序之美
有道是字如其人,代码亦然。它是开发者思想的结晶,在我看来欣赏代码与欣赏艺术品之类的东西大同小异。
何为美
错落有致,别具匠心;辗转灵动而又典雅大方;增一分则肥,减一分则瘦;不施粉黛却浑然天成...
观众怒曰:说人话!(@_@)
代码应该格式良好,虽然每个人喜好不一,但是其代码中的缩进、空格的使用必然是有规律的,而不是随手为之。
结构充满弹性,耦合适当。
没有冗余的代码,但是也不会放弃必要的检查。
读起来很流畅,性能得到很好的使用。
何为美
物尽其用方为美。
在官方文档中经常可以见到简短的示例代码,但是有没有人尝试过自己去写一个示例代码呢?如果你觉得这有什么了不起,好的,试试看。
-
示例代码是当前话题的典型应用,就是最常见的用法;
-
如果有可能的话,该代码应该是可运行的;
-
不能喧宾夺主,示例代码不会让读者的注意力离开当前话题;
-
恰到好处的注释,预测读者此时可能想到问题并针对性的解释;
-
要短。
何为美
指点江山,激昂文字,波澜壮阔之美。
初级程序员是站在开发者的高度编写代码,中级程序员是站在使用者的高度编写代码,高级程序员是站在项目价值的高度编写代码,顶级程序员是用上帝视角考虑取舍,不写代码。低头看,万马奔腾;略昂首,高山仰止;再侧目,节比鳞次,各逞机锋。
再问何为美
子非鱼焉知鱼之乐。
心之所向,身之所往。
不滞于物,不殆于心,思而惘顾,行而桀黠。
尾声
谨以此文分享我多年来的感悟,希望有更多志同道合者加入程序员的队伍。在我看来,即便是在职的开发人员也不乏大量的码农,在规模较小的公司里面更是一个程序员带着一群码农在为混口饭吃努力。想要发展首先就要有交流,但是没有同伴你又能和谁交流?
何为码农?在个人能力上不思进取,在工资收入上费尽心思的就是码农。所以,还是做程序员吧,等你。
推荐书籍
《CSS禅意花园》 《代码之美》 《DOM编程艺术》 《锋利的JQuery》