关于六个月掌握一门新技术

前两天看到一篇文章,大意是说技术上的东西,6个月必能掌握.看到这句豪语,心里颇有感触.6个月确实能够掌握解决温饱问题的技术,但真正的技术却是6年,乃至10年都不一定能够融会贯通.

 

以手机驱动开发举例,最早公司的要求是新招未有相关经验员工6个月入门;而后是和应用一样要求,3个月;而当前,组内要求往往只有1个月而已.而从实际效果看,当前1个月实际掌握的技能和原先6个月掌握的技能从开发应用角度来看是基本相等的.

 

6个月学习周期安排:

第1-2周学习操作系统:熟悉OS基础,了解相关概念;

第3-4周学习调试手段,熟悉将要调试的驱动基本概念;

第5-6周逐步解决简单驱动问题,实际锻炼调试技能;

第7-8周加强驱动基本开发过程的流程操作,注意软件开发管理规范;

第9-12周,逐步独立负责驱动模块,能够进行相关内容的改善;

转正

第4-6月,在实际问题中逐渐感悟驱动开发流程规范;

 

1个月学习周期安排:

第1周,学习操作系统和基本调试方法;

第2周,学习将要负责的驱动;

第3周,开始解决简单问题;

第4周,逐步独立解决其负责模块问题;

 

第一个问题,6个月确实能够掌握任何技术.个人比较幸运,采用的是第一种学习周期安排,刚开始学习别人不太了解的USB系统,以前从没接触如此频繁中断,从没接触USB规范,从没接触状态机,从没接触任务创建与切换,6个月后,对操作系统,手机系统架构确实有一些感悟;条件或者说机会毫无疑问确实非常好;但真正对我后面帮助极大的,只有一个,自我分析学习能力.自从有了这6个月经历,后面无论遇到如何技术难题,即便都是没有见过,都能很从容的进行分析和解决.

 

第二个问题,当前很严重的问题,1个月等于6个月问题.回过头想想,学习周期从6个月到1个月固然是由于技术成熟度在不断提高,但不由的让我想到一个巨大的问题,中国人的浮躁;尤其是程序员的浮躁.程序员考虑的不仅仅只是功能,而且要兼顾性能;在现实的基础下,很多时候,实现功能已经要谢天谢地,因为功能的实现就会有数百个bug,哪来时间考虑什么性能.于是1年1年过去,发现周围很多人还是只是为了混口饭吃而已,把自己的命运主动的交给了别人.

 

一个简单实验,读几句内核代码吧;高通花了几年的开发人力,洋洋洒洒数千行代码,最后被这几句定义打败,希望大家能够理解.

typedef long long Align;        /* for alignment to long long boundary */

union header {                  /* block header */
    struct {
        union header *ptr;      /* next block if on free list */
        unsigned size;          /* size of this block */
    } s;
    Align x;                    /* force alignment of blocks */
};

typedef union header Header;

 

#define round_up(address, size) ((((address) + (size-1)) & (~(size-1))))

 

功能只是个实现,理解高效实现,这才是一个真正的程序员.6个月,也就是被人牵着命运线的老牛而已.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值