class="markdown_views prism-github-gist">
从2014年毕业,在芯片公司持续工作了三年有余,最终在临近4年之际,出乎意料地进入了区块链公司,还是颇有感慨,记录于此。
之前都在芯片公司工作,从格科到酷芯,一直都在给公司的SoC定制系统,做SDK,还记得刚参加工作那会,我心里对能设计操作系统的人感到无比的崇拜。等到真正接触了,发现实际应用中,或者说产品中都是移植Linux或者更多的是嵌入式实时操作系统,比如RTEMS/FreeRTOS,做驱动基本上也是的,在已有的驱动框架上去修改,实在没有能满足需求的才会去自己设计。这其实都是从产品的角度出发,毕竟公司存在的第一要务是赚钱,产品要考虑周期、稳定性因素。到第二家公司的时候,扮演了好久的救火队的角 {MOD},最后觉得确实累了,正好遇到个自己感兴趣的领域,就顺理成章地和从前告别了。
以前做嵌入式的时候,技术栈是这样的:
- C语言
- bootloader
- ARM/mmu/gic/EMMC/SD/USB/PCIe/Ethernet/Wifi/Bluetooth/uart/hdmi/mipi/Sensor/Display/ISP/Codec这些模块原理以及驱动
- 示波器使用,基本的硬件原理图知识
- Linux Kernel知识:多核、Device Driver、内存管理 。
- SDK:shell、GUI、Makefile、cmake、busybox/systemd知识
- 神经网络加速原理
现在技术栈是这样的:
- Java/JS/Rust/C/C++
- Virtual Machine原理、jvm
- P2P网络、分布式系统
- PoW共识
- 分布式数据库
- 非对称加解密、哈希算法
- solidity、智能合约、DApp等分布式应用
刚进来,其实就是现在了,感觉挺有挑战的,毕竟都是自己不太熟悉的领域,只能说是感兴趣,之前对Haskell的了解对上手这些内容也是挺有帮助的。以前写代码用Vim,现在转成了Emacs,每天到公司首要的事情之一就是起emacs daemon和client,工作方式完全是按照github的一套流程,属于开放式的,不像以前所有东西都在公司内网上,只能通过公司电脑上服务器工作。
个人兴趣其实在分布式计算上面,具体到区块链主要是Virtual Machine的那一套机制和实现。其实最能产生直接效应的是分布式应用,做智能合约、分布式应用的,能应用于很多传统行业。
总之,这是一个全新的非常有挑战性的领域,希望区块链能真正给社会发展带来价值,自己也要努力,做出自己力所能及的贡献