㈠ 如何成为编程开发技术大牛
首先确定自己的位置:
一、菜鸟
第1 层楼属于地板层,迈进这层楼的门槛是很低的。基本上懂计算机的基本操作,了解计算
机专业的一些基础知识,掌握一门基本的编程语言如C/C++,或者Java,或者JavaScript,...,
均可入门迈进这层。
二、大虾
从第1 层爬到第2 层相对容易一些,以C/C++程序员为例,只要熟练掌握C/C++编程语言,
掌握C 标准库和常用的各种数据结构算法,掌握STL 的基本实现和使用方法,掌握多线程编程
基础知识,掌握一种开发环境,再对各种操作系统的API 都去使用一下,搞网络编程的当然对
socket 编程要好好掌握一下,然后再学习一些面向对象的设计知识和设计模式等,学习一些测
试、软件工程和质量控制的基本知识,大部分人经过2~3 年的努力,都可以爬到第2 层,晋升
为"大虾"。
三、牛人
由于"大虾"们经常被一些疑难问题给卡住,所以有了"大虾"们只好继续学习,他们需要将原
来所学的知识进一步熟练掌握,比如以熟练掌握C++编程语言为例,除了学一些基础性的枯和州C++
书籍如《C++ Primer》,《Effective C++》,《Think in C++》,《Exception C++》等之外,更重要
的是需要了解C++编译器的原理和实现没蔽机制,了解操作系统中的内部机制如内存管理、进程和
线程的管理机制,了解处理器的基础知识和代码优化的方法,此外还需要更深入地学习更多的数
据结构与算法,掌握更深入的测试和调试知识以棚灶及质量管理和控制方法,对各种设计方法有更好
的理解等。
学习上面说的这些知识不是一挥而就的,不看个三五十本书并掌握它是做不到的。以数据结
构算法来说,至少要看个5~10 本这方面的着作;以软件设计来说,光懂结构化设计、面向对
象设计和一些设计模式是不够的,还要了解软件架构设计、交互设计、面向方面的设计、面向使
用的设计、面向数据结构算法的设计、情感化设计等,否则是很难进到这个楼层的。
主要还是多接触,多看书,多编码,多自己动脑子解决问题,多帮助别人,积累经验
㈡ 如何成为一个优秀的程序员
讲几个小的方面吧。
批评还是启发?
代码审查是一个不错但很少用的想法。在一个团队里,优秀的程序员另一个任务就是要指导经验比你少的程序员,但是主要以指导和启发为主,不是贬低和公开批评,因为消极的态度不利于接下来团队合作的开展。
学会分享
搞编程的没有去逛一些论坛都不好意思说自己是干编程这个行业的。优秀的程序员往往会在这些论坛帮助别人,而实质上,输出就是最好的学习。在一个团队中也是一样,帮助他人解决问题收获更多,你也将不断地得到成长。
劳逸结合
每天工作 24 小时不会让你更有效率!不少程序员年纪轻轻就有腰椎盘突出、颈椎病、肩周炎、腰肌劳损、圆肩驼背等职业病。程序员们需要加强锻炼,运动不仅仅可以加强肌肉的力量和耐力,而且也能够活动身体的各个关节,有效缓解长时间保持一个动作导致局部肌肉过劳。
另外,编程是一项艰苦的脑力劳动活;有时你的大脑确实需要休息一下,休息是为了更好的工作。否则,你的工作质量将大打折扣。业余时间养成一项自己的个人爱好,确保自己可以放松并沉浸其中。如果是球类运动,效果更好,它将让你保持旺盛的精力和活力。
不要闭门造车
留意网络各种平台,学习新语言和框架、参与讨论以及看看同行在干什么。多关注业界在干什么,这将让你的视野更加广阔,不致于为了编程而编程。