90后准程序猿写给前辈们的一封信

作为一个即将步入社会的90后,一直有许多话想对前辈们说....

1.我们的时代?

我们的时代是什么?我觉得就是吃快餐长大的一代,想想70后的那一代程序员,他们那时候没什么网络,没太多的技术,书也没现在这么牛毛,他们有着扎实的基本功,他们玩起内存那叫一个帅,现在呢?生活大爆炸,信息大爆炸,我们这一代人,被太多的信息覆盖,盲目的学习,盲目的崇拜,看着什么都懂,但是又什么都不行,就像魔兽世界老一代的玩家形容我们,吃快餐长大的一代,就像我们这些从《熊猫人之谜》开始玩wow一样,我们也许不明白,当年的魔兽有多好玩,练一个号有多么难,又多么的有乐趣,什么叫副本,什么叫任务,今天的时代,各种所谓的技术,各种工具,各种几个月精通,就像随机副本一样,催肥了我们,也害了我们。。。。

2.我崇拜的程序员

我最崇拜的有两种程序员,一种是把程序员当生活的,他们享受编程,喜欢开源,喜欢linux,喜欢python,用vim,Emacs,写博客,用邮件列表,画思维导图,还经常写写打油诗,把自己比作武林高手,比作诗人,我就很希望自己将来能成为他们那样的人,还有一种程序员,只是用程序挣钱,比如我的一个老师,他的水平就很高,自己接C和c++的项目赚了不少钱,但是当我问起他,用vim还是Emacs,他说没听过,他只用VS,他也从来不写博客,不想把自己的东西贡献出来,他也说,他需要的许多软件都是拿钱都买不到的,开源的根本不能用,只是实现了皮毛,我也挺崇拜他的,我觉得这样的人很聪明,很会挣钱。

3.头痛的简历

简历上有两个最令我头痛的地方,一个是毕业院校,一个是项目经历,我上的是一个兰州的普通本科,兰州没什么软件公司,外地的又不来招牌,所以我前几天来到了西安,但是在外人眼里,我们兰州人都是骑骆驼上学的,所以在简历上写这种毕业院校,HR估计看都不会看的.

还有一个就是项目经历,我想说,我没有项目经历,但是我在大学并没有闲着,我是根据自己的方法,去“修炼”,比如,我不看别人的一行代码,去实现贪吃蛇,俄罗斯方块这样的程序,我就开始想,我应该怎么写,我试着先去实现一个能画方格的程序,接着,再去实现一个能根据坐标,画出方格的程序,然后是一个蛇类,移动的算法,输入控制。。。就这样自己想办法一块块构建起来,没有看别人一行代码。之后,有一次,我在书上读到驱动测试编程,我真有种“蓦然回首,那人却在灯火阑珊处”的感觉,在自学了python后,我又试着用pygame来重写,或者用c++用MVC的方式重写贪吃蛇,或者把输入控制的键盘映射,改成可配置的文本文件,或者把控制模块和绘制模块,改成文本流传递消息,这些都是从《UNIX编程艺术》上学来的,在比如,我们上jsp课的时候,我就不明白动态网页的原理,我就开始“计算机考古”,开始看HTTP头,明白动态网页的原理,然后用CGI实现了一个老师布置的jsp作业,虽然被老师批评了,但是我觉得最起码学到了许多。像我们的《计算机图形学》课,老师居然教我们C在DOS下的画图,我觉得那太过时了,我就开始自学OPENGL,然后用WINAPI写一个窗口,把它粘进去,我还常常用像HGE,pygame,来实现一些老师布置的算法程序,把这些算法演示出来,比如蚁群算法,做出来就像游戏一样。我还把《机械迷城》中的几个过不去的迷宫游戏,自己用栈,实现了迷宫算法,或者干脆用pygame写一个自己玩。有一次我在想opengl是如何实现的,我就开始用2d的api写了个3d的程序(使用正交投影),我还用思维导图解决问题,比如这篇博客就是先用思维导图画好的。我就用自己的方式,写了许多“玩具程序”,修炼自己,但是我真没有项目经历,我没有跟老师一起做项目,是因为,我不喜欢跟他们做,他们动不动就跟你讲什么挣钱,什么不挣钱,他们会告诉你,那些大老板,根本不懂程序,但是人家挣许多钱,他们也不愿意把代码写的漂亮,能运行挣钱就行,还都是拼音命名规则,我觉得大学本来就是培养自己兴趣的时候,我觉得我做到了,不过最近就再想,我所做的这些,是不是真的比不上那三个月的项目实习经验?

4.大学的教育

说实话,我真的不喜欢老师们上课的方式,他们大多数就是在读ppt,要么有半节课在骂社会,一切跟程序有关的东西都变得枯燥,他们让背JAVA继承public,protect,private的表,被const指针的各种搭配,在配上static,还背优先级,我觉得,就是应试教育的恶果,我从来都是“记用法,不记规则”的,因为规则这东西,又不是语言的设计者故意刁难你的,肯定自有用途,所以在我的笔记上有“const 引用,能让形参不被copy,提高效率”这句话,不会有“const引用,函数无法修改形参”这句话。

像《操作系统》这样的课程,老师天天讲理论,什么哲学家就餐,线程调度,全是在黑板上画,我为了学习操作系统,干脆就自己去学linux系统编程,用用那些api,我觉得这是学习操作系统最好的方式,而且,我觉得linux真的比windows适合学习,linux上有vim这样的编辑器,也有那么多的软件工具,还有man,有管道,等等,许多哲学,不像windows的sdk那么臃肿。。。

我们这个年纪的人,一开始就是windows,web邮箱,vs,有太多的东西没有经历过,我就喜欢去寻找“过时”的好东西,我把它称之为《计算机考古学》,做一个真正地程序员,了解来龙去脉。

我们学校就是为了大家好就业,给大家的方向都定的j2ee,而我就选择自己的方式,寻找自己的兴趣,我并不是那种浮躁什么都想学,我觉得大学,又不是研究生,也不是什么培训包就业班,本来就应该用自己的方式寻找自己的未来,而且,最后,我还是决定了自己的方向,那就是五个一,一个编辑器vim,一个过程语言c,一个动态语言python,一个无底洞语言c++,一个平台linux。。。

再有,就是设计模式这东西,不知道为什么,被说的那么神奇,然后大家盲目的崇拜,那些精通java企业级的,好像都要懂设计模式才行,我觉得,本科生就不应该学什么设计模式,能把oop学懂就不错了,oop可不仅仅就是封装,继承,多态这么简单,不管怎样,应该先学会把程序实现出来,许多人没写多少代码,没学懂oop,就开始设计模式。就像一个连与人交流的情商都没有的人去学习什么读心术,企图提高自己的情商,真是可怕,再说了,学了linux,看了《Unix编程艺术》,你可能连oop都不崇拜了。。。

大学,自己做了许多,也思考了许多,可惜参加了3个月培训的人已经月薪5000了,我来到这里投简历又没人看。。

这就是我,一个没上过重点,没有实习经历的90后想说的,我还想说,我热爱程序,希望能找到一个属于自己的工作。。。

你可能感兴趣的:(90后准程序猿写给前辈们的一封信)