工作经验总结: 工作快 1 年了,通过自学 Python (本科医学的,但对医生没兴趣)找到了一份 OpenStack 开发的工作。工作内容主要是负责 OpenStack 容器即服务组件 Magnum 维护,期间也对 k8s 有过一些实践,个人感觉容器云挺好的,也想往那方面发展;此外还负责过监控、LB 等功能开发和对接;另外也做过一些简单前端( django+angularjs )的开发
语言总结:
- Python 熟练,对 Python 的高级特性(装饰器、元编程和异步等)还是了解的,阅读过不少 OpenStack 组件代码,也写过不少 Python 代码
- Golang 了解,学习 Golang 仅仅是因为它是容器生态里大部分软件都是它写的,但因为不喜欢它的语言风格,所只是学习了基本语法,做到大致能看懂,没有 Golang 编程实践
- Rust 学习中,了解。Rust 是我非常喜欢的一门语言,虽然挺难的,被编译器虐了不少便,但感觉 Rust 还是有它独特的魅力;目前还处于看完了 《 Rust 编程之道》然后在实践中和编译器做斗争的阶段
- JS 开发 Horizon 时学习了一部分 AngularJS,写过一些 AngularJS 代码,看过红皮书,对 JS 理解感觉还行
技能总结:
- Django/Flask/Pecan 三个框架我都用过,Django 在 Horizon 开发中实践过,主要写 RESTApi ; Flask 则是一起写个人网站时使用过; Pecan 则是 OpenStack 新组件最常用的 web 框架,比 Django/Flask 更底端一些,我曾用它写过一个架构类似 OpenStack 标准组件的软件
- OpenStack 过去一年基本上都是在 OpenStack 中过来的,基本功能(计算、存储、网络)都有不少了解,个人对 Magnum 组件很熟悉,也为它改过不少代码;也为 OpenStack 社区做了些微小的贡献
- Docker/k8s 之前接触的基本上容器化的 OpenStack,所以对 Dockers 使用比较了解,加上开发 Magnum 组件,Docker Registry 等折腾了不少;至于 k8s, Magnum 就是在 fedora-atomic 上折腾 k8s,而我自己也在 CentOS 上安装过 k8s,对 k8s 概念、部署和基本使用上都有过实践
- Ansible 确实是个好工具,开发中经常使用,也自己编写过 playbook,最近在研究 awx
- ElasticSearch 之前做监控的时候使用过 ES, 使用 Python SDK 开发了一套虚拟机监控 API 和 horizon 集成
- Git、MySQL 等常见工具就不多说了
个人写的一些文章,比较散
个人希望能找一份能让我代码能力不断提升的工作,语言方面偏向于 Python、Rust 和 Go,当然,如果是其他语言我也愿意去学:)如果有大佬愿意带我,让我 Rust 能起飞,必定会紧抱大腿。 希望各位给点建议,或者直接联系我,Email: [email protected]
