经常收到一些热心朋友的来信,与我交流了一些关于学习、技术与未来规划等方面问题,可惜我经常不知道都在忙啥,回复的比较少,实在不好意思。

昨天有个朋友给我发邮件,今天终于抽了半个钟头写了回复,下面是原文与我的回复,都是我平时的一些想法,也具有一定的代表性吧。希望能够对更多的朋友有参考价值。

On 2/20/06, [email protected] xxx@xxx.net wrote:

何宗键,你好

我们在微软的19楼见过.那个时候是参加讲座,祝成科技在那里搞活动,请你讲的关于WINDOWS MOBILE的东西.我是XXX的同事,不知道你对我还有没有印象.

有时候去你的BLOG看看,去感受些新鲜的东西.

我们应该是一界的学生.现在工作1年半了.感觉自己遇到了瓶颈问题.,似乎蛮久了.从上班半年后的一段时间开始狂读书,后来一直到现在觉得光读那些书已经提高不大了.从去年的6月大概开始到现在,没有觉得自己进步了多少.现在在昂立那里读外语,期望半年后可以跳入外企(IBM,INTEL,MICROSOFT这样的一流的公司),给自己个更高的起点,让自己去攀登.

我们是用MFC编程,上班后,开始的眼里都是API,现是在接口理解上有问题,后来熟系了.然后又狂看C++的书,就看基本的,从函数定义,数据定义,类的继承,那个时候觉得C++就是编译器在支持,眼界里面都是编定觉得很多东西都是编译器.后来有意识到一切都是操作系统在做,一个进程就想风筝的线,它可以随你程序放多远,突然觉得操作系统真是太伟大了.后来看了你的BLOG后,觉得什么是操作系统呢,是把操作系统LAUNCH呢,现在眼里有到了BIOS,引导程序.我觉得自己在进步,自己的意识到的东西在不断的提高\和变化.虽然说每个阶段我可能只知道个大概,或者说仅仅是个概念.也许这些过程很多人在大学就都完成了.

我跟你差不多,都是半路出家的,我原来是读电气自动化的,后来还是对计算机比较感兴趣,在加上大三的时侯,参加了学校的ROBOCUP小组(机器人足球比赛).在那里做了一年,后来大三暑假代表上海大学去北京比赛.可惜煞羽而归.记得你们同济那年也去了,而且成绩不错.好了,扯远了.

毕业后找工作,然后到现在.今年年初,公司让大家写规划,今天重新看了看.觉得归跟自己的瓶颈也有些相关,而且也可以一定程度的反映出来自己现在的水平.现贴在下面.

希望得到TRANING, 高級講師的TRANING.

1 關於C++/OOP的思想.

2 關於WINDOWS PROGRAMMING(不要長篇大論,希望可以簡單,精要.有針對點).

3 關於MFC系統及別的,從宏觀的方向上加深了解,從而避免造成I-SYNC莫名當機的問題.

4 系統並且有針對性的講解 PC與外設通訊的系統(軟件+硬件) .

從PC的方面包括 DRIVER,系統的管理和中斷.

從外設的角度,接口,通訊流程,系統的管理,

從雙方互通的角度,雙方互通的參數,以及常見問題跟解決方式.





感觉的出,你的见识很广博的,知道的东西多,不是夸你,是以我为参照对象的.所以我想请你给我些建议.毕竟在学习方面,你可以做我的老师的.

XXX

2006/02/20

最近杂事比较多,没及时回信,请见谅。

我觉得,与现阶段学习紧密相关的是个人规划问题,规划不同,自然需要学习的内容也不同。心无旁骛的时候不妨问自己这样一个问题:我希望十年后二十年后的自己是什么样子的?如果能迅速明确的回答这个问题,那么你的心中肯定也有了一份对未来的美好蓝图。这也就是奋斗的目标,虽然有可能这个蓝图现在看来非常远,非常不现实,但是我觉得只要有目标、并且慢慢的向这个方向靠,目标总会越来越近的。如果不能回答前面的问题,我觉得是否应该考虑一下现在的学习有没有盲目性。

现在是一个知识爆炸的时代,就计算机行业甚至软件行业来说,我的感觉以一人之力,希望什么都懂是不可能的。并不是当前热门的东西就必须要学(AJAX,Ruby

on Rails……),也不一定知道了越底层就对自己的未来发展有帮助(应用程序下面是OS,编译器、下面是体系结构、下面是硬件、下面是电路、下面是电学、下面是分子原子电子……)。因此我觉得有必要为自己规划一下未来,然后对自己所期望的角色的知识体系结构有个明确的定义,然后查漏补缺,有针对性地学习,这样才是比较好的。

对于工作,我觉得大公司、小公司都各有优缺点,也不一定MS跟IBM或Google就一定是每一个人的最终归宿。以我个人的经验,有一点需要注意,工作一段时间之后,最好可以抽出一段时间归纳总结一下,以一个"旁观者"的心态去回头看一下自己的这段工作历程,问问自己"我得到了什么,我失去了什么,我有什么做的好,有什么做的不好……"往往升华与质的变化会发生在这个时候。如果整天都忙忙碌碌,日子只会一天一天迅速的过去……

对于软件工程师而言,我觉得这是一个比较重视经验与积累的职业。因此,一个出色的软件工程师应该非常注意日常积累:Coding是积累,听别人讲作/给别人讲座是积累,保持一定的阅读量也是积累,与别人交流沟通也是积累。总之不要虚度时间,一点一点地积累,量变之后的必然结果是质变。

只能写这么多了,还有自己的活要干,没有谈具体的某一项技术,在邮件里不太容易说清楚,如果有个面对面的交流可能会更好。

祝:工作顺利。