ykrocku

Less is more.

关于我

学生时代

网民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