cnzdgs,你好。
一阵子不来csdn了,年前年后一般都比较忙,可我一直记得你,你曾经帮助我解决过不少问题,对你的技术水平,我很赞!加上你的热心,连续蝉联MVP也是完全够格的了,说实在的,我也想有一天可以达到你这种修为,所以今天向你提了这么个非技术问题。希望新的一年里,自己能继续进步,也藉此祝愿csdn的各位道友,事业更加有成……
-----------------------------------
我和很多人一样,半路出家从事软件开发,03年10月份,到现在,也5个多年头了,之前自己是个编程爱好者,仅仅是爱好而已,只懂得些VB和C,一开始从事的也是C的开发,对日外包项目,坦白说没学到什么,加上自己对日语一无所知,干不到一年就走人了,而这段时间里,对我最有影响力的是一篇文章,这篇文章我已经找不到了,是一个同学发给我看的,大致讲述了一个软件开发者如何从菜鸟逐渐进化为高手的过程,从最简单的C,到OOP,到开始了解系统API,到运用MFC快速开发,再到系统内核,到更底层的汇编……等,这也成为了我后来的努力方向,其中的曲折,就不是三言两语能尽的了,过程是比较艰难的,比如上司不管上班看报聊天的人,却极其在意我自学C++……当然了,当时我很单纯,不懂得将心比心去“体恤”上司的胸怀。我运气并不好,整个过程靠的基本都是自己的自学,遇到了些难题就不知道如何解决。04年的时候出现稍微的转机,我换了份工作,开始用回自己熟悉的中英文环境,和强大的IDE工具——VC++6.0,其实真正的工作,应该是从那个时候算起的,可能水平比较低,那时候进步算是很快的,也成功地完成了一些项目,但后来就出事了,公司在后期的很长一段时间里没有什么项目,我的水平也有些停滞不前了,自学了些东西,比如COM组件开发什么的,但现在回想都水过鸭背,不能成为自己得心应手的技术。06年时候换了份工作,其实有些迫不得已的了,但这次竟然是一次很失败的跳槽,反正就是去了不该去的地方,我完成了一个项目之后,就开始被idel,这个项目是用VC开发一些文件分析方面的应用,还包括了一些系统信息提取,加解密之类,我完成得应该还是不错的,他们的要求我基本都实现了。之后都是零零星星的散活了,考虑自学些东西,又举步艰难,缺乏师傅啊,虽然我知道自己或多或少还是有些进步,但总觉得距离高手的目标差太远了。我最后是被炒的,呵呵……倒不是我犯了什么错,而是公司不再需要我了,裁掉。之后就到了现在的公司,已经快两年了,这也是我到目前为止,呆得最长时间的地方。主要是为公司的仪器产品做一些相关配套的程序,用VC++,技术上没有什么可圈可点的东西,有时轻松有时忙,工作有就这样,干起来觉得很累,但回头一看,仿佛自己又什么都没干,也许是我对自己要求太高,不容许自己的产品看起来有半点瑕疵,但这又是很不现实的,写小的东西还行,整个程序就那么几个按钮,但代码量一大,再加上一些外部数据源不在自己的掌控范围之内,那存在bug简直就是理所当然一定的,这样我就容易疲倦了,确实啊,如果项目比较大,要完成代码比较多,就要花费很多的时间,时间跨度一大,写了后面的代码就忘了前面的代码,加上一些原先设计上的疏漏导致后面工作越来越困难,就容易心情烦躁,最后做出来的东西跟原先的设计就可能相去甚远了。前阵子我想写个sql语句,突然连insert怎么用都想不起来,这可是我以前用oracle做开发的时候用得炉火纯青的东西,说实在,我很吃惊,自己忘得这么彻底,后来翻看了以前的笔记才想起一些来。工作的事情,还是要继续,但自己也得有些想法,人总是不能一直满足于现状,要有所追求,所以我也很希望有人能指点指点,就想到你了,如果你想说:“你为什么还希望继续做技术?”是啊,我有些高薪的朋友也在说,他们甚至很排斥技术类工作了,他们都上到了所谓“管理层”,可以对技术略知一二即可,但我觉得管理不是每个人都能做的,更重要的是我喜欢搞些创作,有时候觉得学学技术,编编程序也是很自得其乐的,所以打算继续提高自己,继续下去,相信也会别有洞天的。而你的个人简介中描述的内容,也正是我的目标,所以特意来向你请教了。在此,先谢谢你的耐心。

解决方案 »

  1.   

    关注,我也想有cnzdgs老大的技术
      

  2.   

    其实我的技术水平可能并没有达到你所想象的程度,只是从事编程工作的时间稍长一些,对于编程基础和Windows底层相关开发的经验稍多一些,所以也只能是提一点我个人的看法给你参考。
    对于编程方面,我觉得最重要的是培养自己的各项基本能力,例如设计、编码、调试、分析、优化、维护、查阅资料等。这些都是程序员不断重复做的工作,直接影响工作效率,也代表个人能力。这些方面在于平时的锻炼积累,不受个人“天分”的制约,只要多投入精力就会有成效,当然,前提是要先掌握好各种基础知识。另外还要注意多给自己一些锻炼的机会,遇到力所能及的问题应尽量自己解决,实在没办法时再请教他人。这些方面应尽早培养,因为它可以给自己赢得更多学习和锻炼的时间。此外,学习和了解多方面的知识也是很有必要的,不需要样样都学,但对于常见的技术和新的技术、概念多少也要了解一点,不断吸取新的知识,否则迟早会被淘汰。
    最后再提一点,像CSDN这样的技术论坛是很好的学习的地方,无论是发帖、回帖还是看帖,都会有所收获,有空可以常来看看。顺便提一句,非技术帖就不用给这么高分了,人人有分就好。
      

  3.   

    个人觉得,在csdn帮助人解决问题也是不错的学习.
    这里你能见到很多奇怪的问题,多接触下,多想.提高比一个人闷着头提高更容易.
      

  4.   

    满天星cnzdgs  ,的确是一位大师,也曾经好几次帮助过我不仅耐心,还专业,值得学习,继续支持!!
      

  5.   

    如果你像DOOM之父卡马克那样结婚前每天编程16小时以上,我不信你不能入道,很多时候编程无他,唯手熟尔
      

  6.   

    结婚前,我一般都是一点以后睡,game+study,坚持了8年
      

  7.   

    你要记得cnzdgs 的话:
    非技术帖就不用给这么高分了,人人有分就好。哈哈,沾光了
      

  8.   

    看了2楼说人人有分才会的哦。
    我觉得把就是不断地看书加上实践,我在看windows核心编程 + windows高级编程指南,然后发现对windows很多东西还不了解。
    如果你想提高设计能力,还是多看看设计模式和uml设计使用的书籍吧,一定会有收获的。
      

  9.   

    满天星cnzdgs大哥确实有很多值得大家学习的地方,也帮我解决过不少问题,真是非常感谢!
      

  10.   

    cnzdgs老大和蒋老大,还有没有稍微详细点学习之路,经验之谈?不妨贴出来大家共享一下嘛。另外:如你所说,跟帖的人都适当有分,过两天结贴。
      

  11.   

    工作一年的菜鸟,深为楼主的曲折经历和执著的学习精神感动mfc用了2年,目前业余时间学些win32 API和汇编。工作涉及些图像和网络方面。这一阶段界面设计挺有兴趣,琢磨了些DhtmlDialog用网页做界面,以及动态UI池,希望能够深入研究成有自我特色的一套模板,以供敏捷开发和可复用。从某种角度我并不是很在乎自己技术的提高,我所向往的是专注的,长期,作息规律的从事软件开发。
      

  12.   

    cnzdgs确实帮助过很多人,支持一下
      

  13.   

    英雄所见略同!本人又学到了!    楼主的部分心愿和想说的话  也是我想表达的,因为我也受到了高人cnzdgs的不少指点!希望楼主能再接再厉 !更上一层楼!
      

  14.   

    再提点个人看法:
    在开始学习编程之前,当然是要先会操作电脑;
    首先学习一种编程语言,个人觉得C语言是最佳选择;
    编程语言入门后,做一些简单的练习,加深对编程的理解;
    编程语言掌握之后,学习常见算法和数据结构,并应用所学设计一些简单的程序(例如小游戏),使自己更进一步了解编程,顺便培养创造力;
    然后学习计算机原理和汇编语言,最好是学x86系列CPU,在此之前可能需要学逻辑代数和数字电子;
    此后在编程的同时考虑程序优化,从计算机原理角度来思考问题,练习看反汇编代码,调试过程中结合反汇编分析问题;
    再学习一些面向对象的编程语言,例如C++等;
    之后的学习与具体应用领域有关,如果做Windows程序:
    先了解Windows编程的各种基础,例如常用的API、窗口/常用控件及消息机制、进程/线程及地址空间、输入/输出的方法、动态库、组件等;
    后面主要是靠大量写代码实践和阅读文章,不断积累和深入,同时学习其它方面的技术,主要的学习途径是自己分析研究、查MSDN等技术文档、网络搜索、向别人询问;
    闲暇的时候,可以想一想自己要学些什么,然后在网上搜索相关资料,如果没有目标,可以到论坛看帖,遇到感兴趣的再去学。
      

  15.   

    Wish every csdn friend have a promising future.