第一份工作(一)

@[TOC]第一份工作(一)

1.入职

2000年9月,我24岁,因为我哥的介绍,我在无文凭的情况下入职一公司,开始我的软件开发职业之路。
第一份工作,准确的说是第一份软件工作(之前的工作以后另文说),至此算是走上正轨。
因为我大哥之前在这干了一个月,觉得他亲弟我不能太差,虽然没文凭,试试看吧。
(我是76年出生的,但身份证是75年的,因此算年龄时有两个基准,现在对外只能是75年的,但偶尔会按76年算)

 1.1人员情况

公司不到40人,软件开发方面,之前有一个高手,在我之前离职,因此我所处的情形是挺长一段时间都只有我一人,
另外就是老板(熟练BC3.1,但VC不太会,后述)
(此外与我一同入职的还有一人,显然比我水平好,但时间不长就走了)

 1.2技能

在入职前我掌握下列知识,
1.windows操作及系统安装等
2.会VB,在编写过5k+的一个程序后,算是掌握了
3.C语言熟悉,编过几个简单的程序
4.C++看过两三本书,没用过



2.VB生涯

刚入职的时候,公司有两坐标产品(一种设备,后述),软件是用VB编写的(前面的高手面试过我VB,觉得还行吧)
于是我就熟悉此软件,由于是服务于测量的设备,因此要学习测量功能到底是什么,以及软件功能和测量功能对应的关系吧,
但这段时间并不长,好像也就三四个月吧,因为我发现以我的水平和用户需求视乎没有太多的要修改,于是就转入VC的生涯,
现在想来也许是公司为了减少我进入三坐标(另一种设备,后述)(VC编写)的难度,而特意让我熟悉两坐标的吧,因为之前的两坐标产品不修改就可维持,公司最想做的显然是三坐标

 2.1记忆

1.老板非公开奖我一百块,好像是我修改了一个功能,有关人员给了5星吧;一百块有多少,直到03年底我租的民房还不足100(可两人住)
2.改进编译速度,时间减少2/3多,具体是我发现有1千多个的打印输出(每个好像是3行代码),我做了个函数,修改成函数调用(其主要原因不是减少了代码数量,而是VB6的打印输出函数编译特慢,更详细的未研究)



3.VC入门

之后开发三坐标,大约01年初,老板给我安排了个工作,在三坐标软件上添加一个小功能,有多小,可能只需要一二十行代码,熟练的人员半天可能能编完测完,

 3.1三个月

可是我为了这个功能开发了三个月,期间老板几次问我完成的怎样,我只能说正在做,
(现在想想,老板不知道很简单吗,即使不知道半天可做完,也知道不会用很多时间,容许我用了三个月,给我成长的时间,在此谢谢老板,让我有机会,从此不为生计发愁)

 3.2原因

因为我不会VC(主要是MFC),无网的年代(公司后来才有),我不知道从哪找的一本电子书(可能是从光盘上找的吧),是讲VC的(不是经典书,但讲的很简单易懂,感谢这本书),于是我就照着学,一边学一边练,没日没夜,(那是一段很多人都可能有的经历),于是三个月后,我入门了,只要功能要求理解了,我大都能做出来



4.VC生涯

 4.1新软件

在我入职前,公司就在用VC开发三坐标软件(32位的,之前有16位的软件,显然技术问题,人员问题,急需升级),但只有一些架子,大量的功能还没有添加进来

 4.2构成

从人员角度,软件可分成两部分,保密和非保密
保密的主要是算法,也就是三坐标的数学计算,包括二十一项误差修正(据说是先进的东西,老板博士就研究的这个),另外图像处理也是(今天来看,虽有门槛,但可越过的),这部分由老板做,不太想交给别人
那其余的就是非保密的,也就是我要完成的

 4.3开发情况

大约经过一年多的开发,软件终于开发出来了,又经过一两年时间基本稳定了,(从后面的发展看此版本称作基础版,实现基本量的测量,满足大多数用户,一些特殊用户的复杂工件需要再开发功能,典型的就是叶片)
开发过程就是一个功能一个功能的实现,一块一块的集成,一点一点的测试,记忆中是一段勤奋的历史,但开发本身特别的记忆并不多

 4.4涉及的知识

1.MFC
2.运动控制
3.计算机接口技术
4.测量知识(与专家沟通)
5.数据库
6.后来又添加了很多,如CAD,3D,。。。

 4.5几个事

1.一家之言
当时为了开发统计与质量控制软件,无参照物,老板应该很懂,但没时间,于是我从书店选了本书(统计与质量控制的教材,并非软件开发的),按着书上的讲解编写了软件;
印象深刻的是当时给老板讲解时和老板想的有出入,我说严格按书上做的,老板给我讲那是一家之言,从此我牢记这个故事
另外有意思的讲,不做质量控制是稀里糊涂的犯错,而质量控制是明明白白的犯错,比如前几个工件都合格,会认定质量控制能力强,按此结论认为下一个工件合格,也许那个工件就不合格,也就是说有质量控制也犯错
2.报表打印模块
功能为将测量评价结果以报表的形式打印到纸上,开发的核心是项目的自定义,由于功能复杂(最终代码1W+),为此按照瀑布模型进行了相关设计,形成了相关的文档,
根据文档按部就班降低了开发的复杂性,消除了不确定性,增加了成功率,由于设计比较到位,完成后长期不用修改,满足了较长期的需要
3.人员
期间,随着业务发展,公司又招了几个人,其中有一人,技术水平和我相当吧,但其他方面比我强,因此提他做领导,一两年后,我就只做些简单的活

 4.6主软件之外

除了主软件外,还需要开发独立的功能软件,而这些软件随着客户的增多,在早期有一个明显增加的过程,等到各种客户都见过了,软件的数量也就稳定了,
再之后某些软件会进行改善,而有的软件可能一次定形,不再大的修改,看了下官网,界面比较粗糙的几个就是早期作品,有的可能就是我做的

 4.7 C++提升之路

在开始的很长一段时间,我的C++知识主要来源于早期(95前)的书,不知道是我没看仔细还是书上没说,直到有问题解决不了,才重新学习,主要有C++ Primer第三版、深入探索C++对象模型等,才基本掌握C++98。
上面说的碰到的问题,能想起两个,
一个是对类的对象进行初始化,类似这样memset(&x, 0, sizeof(x)),会出错,
起因是,在C结构体时这样做很简洁,因此在C++对象也这样用,殊不知会修改C++对象的虚函数,导致出错
另一个是带内存分配的类,那几个函数必须写,不然会出问题



5.离职

随着被边缘化,不能为公司做太多的贡献,(自身也有问题),于是,2005年7月,我走了,从此离开了这个行业



6.总结

软件生涯的起点;VB入职 -> VC入门 -> VC开发 -> 闲赋 -> 转身







附A.两坐标与三坐标

我虽然是做软件开发,但最终产品是两坐标与三坐标,因此在此讲解下

 A.1三坐标

先说三坐标,具体可百度百科,我在这按我的理解说下(不严谨),三坐标是服务于机械加工的,
比如造一辆车,其中有一个零件,长10毫米,委托给某工厂加工,加工出来后,如何验收,于是就要测量,这中间有公差的概念,比如±0.01mm(也就是说实际长度在10-0.01到10+0.01之间都算合格)
然后怎么测量,(比如这个10毫米的例子)可以用千分尺(中学物理学过)(精度挺高,很多时候其实比三坐标精度高),但主要问题是应用太受限(比如凹形的中间宽度就不好测),
因此在这个测量领域,三坐标是王者,基本上都能干,它是如何做的呢,先看图(原图是某公司官网的,示意线条及说明是我画的,粗糙)
三坐标示意图
让红宝石碰撞工件上的部位(记录三坐标),根据记录的很多坐标,通过算法就可计算出所要的长度量,
比如要计算手机厚度,把手机放到操作台上,在手机上打一个点,在操作台上打三个点,做一个空间的面,然后求点到面的距离,就是手机厚度

 A.2光学

上面说的三座标(接触式)是用的最多的,还有一种是利用光学的,就是将上面的测头系统(图上圈出的部分)换成镜头,利用影像来采点,采点原理是利用黑白对比度找到边缘取点的,
由于采点原理不同,因此相应的机械结构也不同,一般是工作台移动式,如图所示
复合式示意图
而将光学和接触式装在一台机器上的叫复合式
有趣的是,光学的如何测高度,答案还是对比度,比如测书本厚度,先在表面聚焦(即通过移动Z轴找到对比度最大的那个位置),然后再在台面聚焦,即可知高度
两者的应用对比,接触式的缺点是软的不行(比如书),光学的缺点是看不见的不行(如洞里面的尺寸)(当然洞太深太复杂,接触式的打不着点也不行)

 A.3两坐标

光学三坐标在Z轴不装光栅尺就是两坐标,但Z轴必须能动(为了聚焦),结构上也可以简化,一般尺寸也小,因此便宜



附B.行业情况与老板

三坐标起源于外国,2000年的时候,世界上的厂商很多,欧洲多个国家有,美国,日本都有,似乎以德国技术实力最强,

 B.1国内

在国内,青岛一公司做的比较早(好像70年代开始),在国内属于老大,后来被美国公司收购(全资,行业太偏也太小,国家可能不重视,否则是合资,时间好像是90年代),
2000年的时候,国内还有不太多的几家国营单位的部门,但好像都不大

 B.2公司

刚开始公司做改造(就是保留机械系统,换掉电器系统与软件系统),后来机械设计与软件设计都完成后经过一段时间公司主业就换为生产三坐标,
不得不说,公司有点黄埔军校的意思,一些公司人员出走创办了多家三坐标及相关公司,由于是多学科的综合产品,行业门槛较高,可以说公司为这个行业做了示范带头作用,并培养了大量的专业人才;
我国是制造大国,制造最终离不开机械加工,而机械加工离不开三坐标,因此三坐标的发展对制造的支持我司也出了一大把的力;
当前公司也得益于国内制造的繁荣,我在公司期间,公司由不到40人扩展到差不多200人,后来公司在高新区买了地,生产规模扩大了好多倍

 B.3老板

老板自80年代中在德国读博,学习三坐标,后在德国从事三坐标软件研发,直到1997响应国家号召,回国创办企业,
老板会用BC3.1,熟练编写win3.1界面的16位三坐标软件(现在是64位的天下,曾经32位是主流,再早就是16位),公司改造时安装的软件(跑在win98上)就是老板编的(核心应该是在德国编的)

 B.4发展

2000年后,行业变化很快,国际上,进行行业兼并,大多被上面说的收购青岛公司的美国公司收购,期间美国公司也换东家,这公司现是市场份额最大的,
在国内,有好几个城市也产生了一些公司,都在生产三坐标

(待续)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值