反思是中性词。曾经的反思系列自责反省的情感成分过多,这样不好。

反通返,反思即复盘。

今天复盘一下我的程序经历。(非程序员可选择性跳过以下内容)

##复盘

不说虚的课程学习,从做东西的大小各种项目算起。

  1. 科学计算的M/R:最初比赛时用MATLAB做语音识别,找了个别人的库,然后搭出了个粗鄙的系统,算是识别出了自己的声音。后来搞图像处理的时候也用MATLAB做辅助。最近学了点R语言,算是统计领域的另一个MATLAB,不过是开源的。
  2. FPGA的Verilog:最初课设时做了一套基础版的指令集和处理器,再用自己定义的汇编写了个自动贩卖机程序载入处理器去运行。后来又做了jpg压缩芯片和高光谱图像压缩芯片的设计,可惜没有设备,都只是仿真验证。
  3. 单片机/ARM的C:最初用单片机做了个电压/流监测设备。后来用ARM搭了个bt下载器,用的也是Linux下第三方的下载开源库。后来用ARM做了个测试设备控制模块,投产。再后来就是在第一家公司做了智能手表手表端的ARM软件,投产。
  4. Android的Java:参与做了个APP,上线。还基于Android原生环境做了个小游戏。
  5. Unity的C#:自己做了几个小游戏的DEMO而已。
  6. 服务器的clojure:刚开始做了1个半项目。
  7. 网页的html和javascript:现学现卖的入门级。可忽略。
  8. 其他的Python:也是现学现卖,弄些脚本替代手动操作而已。可忽略。

##小结

虽然技术线很多,但除了过去的嵌入式和现在刚开始的服务器外,都没太多实用价值。

其实想想理论层面也有同样的问题。虽然在学校的时候看过大量计算机程序相关的书,但毕竟不是科班出身,知识体系并不完善。

简而言之:广度勉强够,深度不够。

这也导致我在写程序时,已经潜移默化地偏向实用主义。“不管那么多,先干起活来,后期再优化。”然而现实是,后期并没有优化,因为已经开始下一个项目了。

这使得我对于代码的理解、对于程序的理解,一直都很难深入。直到最近见识到了一系列有经验有见解的高手,我才意识到自己其实并没有真正的“入门”……

如果说,之前重新定位行业和职业,是为深挖提供前提条件。那么可以说现在,也有了深挖的迫切需求了。

走起~