程序员,曾经是很多人尤其是计算机初学者为之崇尚的一个职业,仿佛就是理想、激情和事业的象征,从此就开始了IT白领人生。计算机技术发展之初,几乎就是一个个人英雄主义时代。一个天才的程序员,几乎就可以主宰一个计算机时代,创造出无数奇迹和梦想。
今天,计算机技术的发展日新月异,技术朝着愈加复杂和简单的两个看似矛盾其实一致的方向发展。计算机技术越加普及,无数非计算机专业的人群,出于爱好或者生存的需要,也加入了这个程序开发大军,并且都称之为程序员。
软件技术的发展,已经进入了一个大分工、大整合的时代,由此导致了软件开发工作的分层和分类越加细致复杂,同为程序员,彼此之间工作的技术含量可以说有天壤之别。系统软件、应用软件,是一个大的分水岭,几乎大多数程序员,都在应用软件这个层次进行开发,国内的程序员更是几乎全部如此。
既然是应用软件,就必然要和实际应用结合,而实际应用,是非常复杂多变的,尤其是具有中国特色的国内应用。于是乎,大多数程序员都在为开发应用层面的软件忙得不亦乐乎,财务软件、ERP、CRM、OA等等,几乎成了国内软件开发的主流方向,更不用说电信、石化、铁路、电力等具体行业应用软件的开发了,这些早已被称为项目了。国外的应用软件,除了以上业务应用之外,尚且还有像CAD、3D等专业领用的软件,具有一定的核心技术。
很多工作了多年的程序员们,在回首往事的时候突然发现,自己依然是一个辛苦的打工者,一个IT行业的苦力。反思一下,我们这些自认为程序员的工作者,其实是在核心技术的外围做一些表面工作,和那些非软件开发人员相比,我们觉得自己有技术,其实我们到底掌握了多少核心技术呢?现在的很多程序员,连数据结构、编译原理、操作系统等这些基本的知识都掌握得模棱两可,天天跟着老外的屁股后面追捧所谓的新技术、新框架。其实,又有多少是我们自己的呢?作为JAVA程序员,经常听到很多人自称精通Spring、Struts、Hibernate等主流框架,并有大型项目的开发经验,其实我们只不过比那些初学者多干了几年,使用这些框架更加熟练而已。国内软件行业的面试经常有此类现象,一个面试者可能这次面试不合格,但是他回去看一下书之后,再来面试,很可能就通过了。为什么?因为我们的面试太初级,太表象化。
我们经常接触IBM、微软等公司的面试,他们一般情况下是不会考核面试者具体掌握了什么框架、什么语言的,一般都是考核的面试者最基本的逻辑思维能力和分析判断能力。这也说明了,同为程序员,其间的差别是如此之大。
作为一名程序员,尤其是国内的程序员,应该对自己有一个清醒的认识,不要被表面的感觉所迷惑。到了这个时代,不是说程序员已经失去了光彩,而是我们所从事的层次,技术门槛已经大大降低,很多人处于同质化竞争。
怎么办?很多人说软件行业是个辛苦活,国内的很多软件公司更把程序员当牲口使用。其实,根本上还是怪我们自己没有很好的反思和调整。一方面,如果对技术真的有浓厚兴趣和激情,那就不妨向软件的底层核心技术迈进,另一方面,如果觉得自己真的缺乏这方面的潜力,那就努力适应国内环境,实现技术与应用的完美结合,争取向公司的中高层发展,如果不给与机会,那就自己创业,选择好技术和市场的切入点。
此外,一名优秀的程序员,一定不能是一个唯技术论者,如果持这样的观点,即使专心做个技术专家,也会存在发展障碍。微软的例子,
sun公司的例子,都生动地说明了技术与市场的辩证关系。
当然,每个人的成败观是不一样的。如果始终把技术追求放在首位,追求技术完美的境界,并以此为乐,也未尝不是一道美丽的风景。
分享到:
相关推荐
总的来说,"C++学习教程从零开始(五)——何谓指针"这部分内容将深入讲解指针的定义、操作、用途以及与之相关的内存管理,旨在帮助初学者建立对指针的全面理解,为后续的C++学习打下坚实基础。
本书解释了何谓元编程以及如何最佳化地使用它,为你在自己的工作中有效地使用模板元编程提供了必备的基础。 本书瞄准于任何熟悉标准模板库(Standard Template Library,STL)惯用法的程序员。C++高级用户会获得对既...
- **堆(Heap)**:是一块动态分配的内存区域,程序员可以通过编程语言提供的API来申请和释放这块内存。堆内存主要用于存储动态创建的对象和数组等数据结构。 **8. 何为系统栈?何为用户栈?系统栈有何用途?用户栈有...
在“C++自学教程从零开始(七)——何谓函数”这一章节中,你将深入理解函数的基本原理及其在实际编程中的应用。 函数在C++中的主要作用是提高代码的可读性和复用性,它将一组相关的操作封装在一起,形成一个独立的...
本书解释了何谓元编程以及如何最佳化地使用它,为你在自己的工作中有效地使用模板元编程提供了必备的基础。 本书瞄准于任何熟悉标准模板库(Standard Template Library,STL)惯用法的程序员。C++高级用户会获得对既...
告诉您何谓Framework,VCL是一种什么样的Framework,未来VCL Framework将走向何方。它是Delphi程序员不可不读的一部大书。• 剖析VCL之精妙大架构!深入探究VCL设计与实现,以RPG方式与读者共同扮演架构设计师...
2. **命令与资源**:在编程过程中,程序员通过编写命令来改变资源的状态。这里的“命令”相当于程序中的函数调用或语句执行,“资源”则指的是数据或系统状态。 ### 二、何谓表达式 #### 操作符的作用 1. **算术...
2. 何谓虚拟设备?请说明 SPOOLing 系统是如何实现虚拟设备的。虚拟设备是指通过虚拟化技术将物理设备虚拟化为多个逻辑设备,以便更好地管理和使用设备资源。SPOOLing 系统通过虚拟化打印机来实现虚拟设备。 3. 在 ...
"计算机组成原理第1章习题及参考答案.pdf" 计算机组成原理是计算机科学中的一门重要课程,本章节主要介绍...第 4 层是高级语言层,是为程序员编写程序而设置的。第 5 层是应用语言层,是为一般用户使用机器而设置的。
告诉您何谓Framework,VCL是一种什么样的Framework,未来 VCL Framework将走向何方。它是Delphi程序员不可不读的一部大书。 <br>☆剖析VCL之精妙大架构! 深入探究VCL设计与实现,以RPG方式与读者共同扮演...
告诉您何谓Framework,VCL是一种什么样的Framework,未来 VCL Framework将走向何方。它是Delphi程序员不可不读的一部大书。 <br>☆剖析VCL之精妙大架构! 深入探究VCL设计与实现,以RPG方式与读者共同扮演...
告诉您何谓Framework,VCL是一种什么样的Framework,未来 VCL Framework将走向何方。它是Delphi程序员不可不读的一部大书。 <br>☆剖析VCL之精妙大架构! 深入探究VCL设计与实现,以RPG方式与读者共同扮演...
越来越多的软件开发组织开始努力赶上CMM这趟马车,但是其中大多数最后又还是从这架马车上摔了下去。...1何谓过程改进过程改进的要义可以用一句话概括:对于效果良好的项目实践要推广应用,对于问题较多的项目实践要变更