关于我
学生时代
网民ykrocku,生于1986年,祖籍湖南株洲。 2004年进入湖南师大,就读于物信院通信工程系。 大学有不少计算机相关课程,这4年中,我先后学习了3门语言:长沙话、C语言和Java,同时也和Linux的结下了不解之缘。
无证程序员
2008年毕业后来到深圳,正式成为一名无证程序员。 第一家公司做学习电子产品,系统是芯片公司自己开发的(类似于单片机系统)。 后因想从事Linux平台开发,进了第二家公司,负责Uboot/内核以及一些外围芯片驱动的维护和开发。 第三次跳槽是因为想去大公司见见世面,面试了一番进了MTK。 不过进的不是赫赫有名的手机事业部,而是数字电视事业部,主要负责JPEG/PNG等硬解码器驱动的维护开发。 后来第二家公司扩张,之前的领导觉得我比较靠谱,让我回去帮忙。 想想之前干得还算开心,在MTK也已经了了见识大公司的心愿,加之成天dump寄存器也挺乏味,于是就答应了。 重新回来后,主要负责Linux块设备性能优化,SATA驱动的维护与开发。 另外由于公司基础设施不是很完善,顺手做了些非本职工作,例如: 在Trac上做二次开发,用来做内部项目管理、wiki系统;使用SVN/Cruise Control搭建持续集成环境等等。
专业技能
- 熟悉
C语言
,最近热衷于研究内核代码中使用的各种C语言奇技淫巧。 - 熟悉
Linux
,10年使用经验,7年Linux平台编程的经验。 - 熟悉
Linux内核
,对块设备子系统、SATA驱动、内存管理、进程调度等子系统有深入的研究。 - 有丰富的基于嵌入式平台的
持续集成
经验。 曾根据嵌入式系统的特点,独立设计并实现了一个持续集成系统(支撑了近100人研发团队的研发、测试流程),包括:- SVN分支策略制定
- 20+编译脚本(bash/makefile)编写
- Cruise Control服务器的搭建和配置优化
- 较熟悉
Bash
,常用来写些简单的自动化脚本。鉴于Bash杂而乱,时不时得阅读文档,有时候还得去Google。 - 较熟悉
Java
,大学时候在Java上面花了不少心思,毕业设计用Java做了个论坛。 虽然做内核后,Java使用得少多了,但是学Java过程中习得的面向对象编程、设计模式等思想,让我在后来职业生涯中获益不浅。 - 13-14年花了不少时间学习
Python
,入门后有相见恨晚之感,Python是我目前开发各种小工具的首选语言。 - 虽然不怎么需要写
汇编
代码,不过调试底层问题时常会直接查看反汇编代码,时间长了,自然也就略懂一二。 - 了解
ARM体系架构
,尤其是ARM的Calling Convention/irq/fiq等看反汇编代码需要的基础知识。 - 略懂
网页开发
,后台之前用Java,后期用Python。
爱好
- 周末有空会去打篮球。
- 乒乓球技术比篮球好一点。
- 喜欢绝望的主妇、傲骨贤妻、冰与火之歌、斯巴达克斯、生活大爆炸等美剧。
联系方式
- Gmail/Gtalk: ykrocku#gmail.com