基础背景
某末流 985 计算机本硕,入职现公司一年半多点,总职业生涯时长 4 年+。目前在公司主要做 Web 形式的内部产品研发以及基于 Python 的自动化运维(这两个方向均由我独立负责),主技术栈是 Python 、TypeScript 、Vue3 ;辅技术栈是 C++。
编程能力
自己给自己的定位是使用最合适的语言和框架解决特定的问题,因此不将自己限定在某个特定的编程语言或者框架。当然自己最擅长的领域是 Python Web 后端开发、Vuejs 前端开发、Python 自动化运维等。具体来说:
- 熟练掌握 Python ,asyncio 异步编程;熟练掌握 Web 开发框架 django ,熟悉其实现以及生态。
- 熟练使用 TypeScript ;熟练使用 Vue3 ,了解其实现原理,熟练使用基于 Vue3 的 UI 框架 NaiveUI ;熟练使用 React 。
- 掌握基础的 C++ 编程,可使用 C++ 开发 Python 拓展。
- 掌握基础的 Rust 编程。
工程能力
- 熟练掌握 Python 自动化运维工具 Ansible 、AWX 的使用,了解其实现原理。
- 熟练和规范地使用 Git 。
- 熟练使用 Redis ,了解其实现原理。
- 熟悉 SQLite 、MySQL 数据库的使用以及简单的优化。
- 熟悉 WebSocket 协议,深入研究过 Python websockets 和 Rust tungstenite-rs 库的实现。
- 了解 GraphQL 。
开源项目
近段时间个人项目开发过程发现了一些第三方库的欠缺,所以撸了几个小项目,算是对上述能力描述的侧面体现。
-
Dynamically create react-bootstrap toasts via a simple api.
开发背景:个人项目中使用到 react-bootstrap,但其 toasts 组件不支持动态创建 toast ,这个项目旨在提供一个简单 api 以支持动态创建 toasts 。(类似于大部分 UI 库都会有的 Message 、Notification 组件,但 react-bootstrap 就是没有 😣)。
-
Unofficial Rust API connector for Bybit's WebSockets APIs.
开发背景:为了练习 Rust 编程语言和深入学习 WebSocket 协议。
-
Rust crate which can be used to run in-process background tasks periodically.
开发背景:个人项目中需要按照 cron 表达式或者固定周期调度和执行 Rust 异步任务(进程内),但目前已存的 crate 都无法满足需求。更为详细的说明可看 GitHub 上的 discussion:Goals of the project, core concepts and how it is implemented 。
软技能
-
良好的代码风格和工程实践。
条件允许的情况下,会仔细设计应用程序的接口,尽可能充分地考虑代码可读性和可维护性以及性能。
开发的项目保证核心逻辑的充分测试,如果时间充裕,会编写充分的单元测试。
尽可能自动化一切。
-
较强的自我驱动能力,较好的沟通能力和一定的产品能力。
主导了现公司内部产品技术栈的选型;同多个业务部门交流采集需求,独立地设计、开发、部署、维护了 2 款内部产品。
推动了公司日常任务的自动化流程建设(基于 Ansible + AWX )。
英语水平
- 流畅阅读英文技术类文档和书籍。
- 撰写英语文档、使用英语和他人进行文本交流。
- 👎 口语能力欠缺,目前正计划弥补。
个人定位
- (舒适区) Web 全栈开发。
- (挑战区)基于 Rust 的 Web3 技术。
如果您有远程工作的岗位且对我感兴趣的话,也欢迎和我联系。email: jukanntenn#outlook.com