大三马上也结束了,大四想出去转转。在学校3年,很快。家是农村的,用中国合伙人中的话说就是土鳖,对计算机这一行也就是大一才开始了解的。想想这3年,过的还行。
对于计算机,大一接触的第一门程序设计语言--C++,不知道为什么,但是就很喜欢,一直在用。从Java到现在web课上的C#,还有perl,可是一直没找到当初C++的感觉,所以一直在用C++。在大一时,什么问题都是C++代码一行一行敲出来的。后来大二开始知道了库的概念,知道了开源,知道了除了windows,还有一个Linux世界,那里更加的精彩。
总的算了,大学到现在写了五六万行代码应该不会少,键盘手也出来了。其实要谢谢我的班主任,他带我进入了一个世界,如果不是这样,我现在也一天到晚的在LOL,CS什么的。从大二开始,老师也带了做了一些项目。那时候很拼,一两点睡觉很正常。
人都是在做一些事的过程中,成长起来的。大三开始开软件工程,UML面向对象建模与设计这类的课程(我在大三第一学期修完了13门课程,除了上述提到 的还有编译原理,单片机等等),那学期代码很少写(只有用C++开发的一个TCP视频传输和帮女友用C#开发了一个简单的IMS)。其实在学习了一些理论的知识后,你感觉你前面的做的好像很陌生,其实这是很正常的,你的思想改变了,你成熟了。开始的时候我只知道写代码实现,现在我知道每一步大体该做什么,需求,领域知识,分析,总体的架构,技术选择等等,再也不会冲冲的写代码,可是有时那样可能会创造一些奇迹。
在我的这几年中,我感觉(个人观点)需求和领域知识是重中之重,需求让你做正确的事,而领域知识教你在高层次怎么做事。当然技术上面也很重要,可是你要知道技术是人人都能学得,就算再笨,花时间总是行的。可是前面两项说的,涉及到的理解需求和领域知识的能力不是技术面能够替代的,它靠的是一个人的敏锐的感觉和强劲的逻辑,其实一个新的项目,当你深入理解了这两个方面,整个方案的大体框架和总体架构基本已经成型了。
我自己总结的三个境界
1.开始就写代码,这个阶段重技术,没有工程的什么概念,很容易做错事
2.开始接触一个工程的概念,可能技术上关心少了,不过至少少做点错事
3.最高境界,技术和工程贯通,又开始重技术但也不是不重工程,和1不一样。
上面总结的三点,不喜的勿喷,就当我放屁。