我的软件开发之路(一)

来源:互联网 发布:android锁机源码 编辑:程序博客网 时间:2024/05/01 09:37

回首望去,我已经在CAD软件这个行业干了快六年了, 这还不算之前做快速成形软件的两年. 作为一个专业是机械类的软件开发的, CAD应该是说是个很好的结合点,既有软件工程方面的要求,又要有机械方面的背景.

关于专业课方面的东西,除了一些基本的,在平时工作中用到的还记得些之外,其它的都还给老师去了 - 当然, 要是跟计算机专业的吹牛, 那些机械方面的知识还是够用的. 其实我读本科的前三年,一点都不喜欢自已的专业,只到大三下到大四上学专业课的时候,才觉得,其实机械这个专业也是有点意思的. 不过自已还课余还是把大部分精力花在了电脑上, 学过html, 做过小网页. 一度迷上了flash, 从大二一直做到研一初期. 没出什么大成果, 只赚过一点点小钱. 值得一提的是本科毕业答辩时的PPT我是用flash做的,接和当时毕业设计的一个NC代码的路径优化的动画,还拿了个优秀毕业设计的奖.

本科虽然也学过一些基础的计算机编程方面的课程,像什么数据结构,计算机组成原理,电工技术,电子技术之类的,不过总体还说比较浅. 大二暑假,学院组织了几个软件开发方面的高手给我们进行了一个月的培训, 我算是在那个时候开始用VC, 写MFC程序的. 当时培训的内容包括UI, 绘图,图表,以及数据库. 我的培训设计是做了一个简单的画图板, 可以画点,线,圆. 可以拖动,复制,粘贴等等. 也许就是从这个为契机,开始了我的CAD程序员之旅.

接下来的本科毕业设计是用C++做了一个UGS NC代码的二次开发, 做了一点关于路径优化方面的工作. 现在回想起来,当时的C++水平真的很烂, 也没有什么人指导, 经常遇到编译错误都搞不定. 还好有老板的一个博士带我做, 这个博士的水平在现在看来,也还是很牛的. 他当时自己写了好多COM的程序,积累了好多自己的库, 只可惜他博士毕业就去当公务员了,也算是有先知先觉, 及时脱离了苦海.

而我则接着读研, 选了实验室软件方面最牛的讲师做自己的小老板. 我的小老板算是引导我走向软件开发这条路的真正引导者. 他本身是电信专业毕业的,但他的计算机知识非常扎实,知识面也很广. 他从不手把手的教我如何也程序,而是教我学习方法, 着重指出要学计算机的三大基础课程 - 数据结构,操作系统,和编译原理.说来惭愧, 这三门课我一直断断续续的自学到现在,还不敢说自己已经完全入门. 

读研的时候经常被小老板骂,不过我从不恨他. 每一次被他骂,我都学到了一些新的东西. 随着时间的过去,C++基础渐渐有所加强, 数据结构方面自己也写了一些入门级的代码,像什么链表, 用树来表示一个算术表达式,用后序遍历来分解表达式之类的. 在数学方面, 写了自已的最小二乘法的实现, 写了自已的龙格库塔插值曲线的实现. 做了一个OpenGL作为显示引擎,从文本中读取三角面片信息, 构建三维模型的小程序. 帮老板写过一个计时器程序, 他上课计时用. 做过一点如果通过改变每次读入数据块的大小来优化读取大数据文件速度的研究. 当时做这个是为了快速读取STL三维模型,然后生成其三维预览图.

研究生的毕业课题是STL模型的镂空算法, 我只是在前面一个师兄算法的基础上做了一些改进,加上小老板的指导, 把算法的空间复杂度降底的同时也减少了时间复杂度, 加上对局部代码做了一些优化, 最后还有一个EI核心的期刊上署第一作者发了篇文章. 现在看来,当时所做的东西还有很多方面可以优化和提升, 毕业的前两年还曾想过什么时候有空把这个算法重写一遍的想法,不过一直没有去实现过.

鉴于我研究生期间的表现, 老板同意我提前半年答辨, 所以我研究生只能读两年就毕业了. 2006年底,我离开的学校, 到上海来上班了.回首学生时代, 我遇到了三个贵人, 一个是给我做MFC培训的师兄, 一个是带我本科毕业设计的博士师兄, 最后一个也是最重要的一个,是我的小老板. 感谢他们带我进入软件开发的世界.

关于我的小老板, 他是我十分崇拜的一个人, 如果以后有空,可以专门写一篇关于他的文章. 今天先写到这里了. 

原创粉丝点击