程序员分类与必备技能:从ASP到iOS开发者的全面指南
一、程序员的分类

程序员从事的人群数量众多,其分工也各不相同。从大的方面来看,可以分为以下几类:有从事 asp 编程的程序员;有从事 delphi 编程的程序员;有从事 php 编程的程序员;有从事 powerbuilder 编程的程序员;有从事 C 编程的程序员;有从事 linux 编程的程序员;有从事 net 编程的程序员;有从事 vb 编程的程序员;有从事 java 编程的程序员;有从事 javascript 编程的程序员;有从事 C++编程的程序员;有从事 Python 编程的程序员;有从事 ABAP 编程的程序员;有从事 android 编程的程序员;有从事 iOS 编程的程序员。
二、所学的知识与必备技能
1、熟练开发软件
程序员至少要熟练掌握两到三种开发工具的使用,这是立身之本。其中,C/C++和 JAVA 是重点推荐的开发工具。C/C++因其高效率和高度的灵活性,成为开发工具中的利器。很多系统级的软件是用 C/C++编写的。JAVA 具有跨平台的特性,并且能与 WEB 很好地结合,这是 JAVA 的优势所在。JAVA 及其相关的技术集 JAVAOne 很有可能会成为未来的主流开发工具之一。其次,掌握一种简便的可视化开发工具会更好,像 VB、PowerBuilder、Delphi、CBuilder 等。这些开发工具降低了开发难度,还能强化程序员的对象模型概念。另外,要掌握基本的脚本语言,比如 shell、perl 等,至少要能够读懂这些脚本代码。
2、熟悉数据库
很多应用程序以数据库数据为中心,数据库产品众多。关系型数据库是主流形式,因此程序员需至少熟练掌握一两种数据库,要清楚关系型数据库的关键元素,熟练掌握 SQL 基本语法。虽有很多数据库产品提供可视化数据库管理工具,但 SQL 是基础,是通用的数据库操作方法。
3、了解操作系统
要成为真正的编程高手,需深入了解操作系统。要了解其内存管理机制,了解进程/线程调度,了解信号,了解内核对象,了解系统调用,了解协议栈实现等。还要懂得网络协议 TCP/IP。网络技术改变了软件运行的模式。最早是客户/服务器结构,如今是 WEBServices,未来是网格计算。这一切都依赖以 TCP/IP 协议栈为基础的网络协议支持。深入掌握 TCP/IP 协议很有必要。至少要了解 ISO 七层协议模型,以及 IP、UDP、TCP、HTTP 等常用协议的原理和三次握手机制。要明白 DCOM、CORBA、XML、WebServices 存在的意义。其中,DCOM 和 CORBA 是当前两大主流的分布计算中间平台。DCOM 是微软 COM(组件对象模型)的扩展,CORBA 则是 OMG 支持的规范。XML 很重要,这是不言而喻的。XML 凭借其结构化的表示方式以及超强的表达能力,被称作互联网上的“世界语”,并且它还是分布式计算的基石之一。
三、薪资待遇
程序员的薪资待遇有不同档次,情况如下:初级软件工程师(0 到 3 年开发经验),其平均月薪在 3000 到 8000 之间;中级软件工程师(3 到 5 年开发经验),平均月薪在 5000 到 12000 之间;高级软件工程师(5 年以上开发经验且有 2 年以上管理经验),平均月薪在 10000 到 90000 之间。通常只有刚毕业的初级工程师说的是月薪,而中高级工程师基本是以年薪来计算薪资。有刚毕业就签约的年薪情况。大致范围就是这样,其中有少部分人的年薪低于 3000 或高于 90000 。具体的差别取决于自身的毕业院校、专业学历、专业能力、外语能力、职称等级、综合能力,以及所在城市和自身的选择等。不过,最为主要的还是看专业能力。
什么是程序员?
程序员是专门从事程序开发与维护的人员。通常会把程序员划分成程序设计人员和程序编码人员,然而这两者之间的界限并非十分清晰,尤其在我国。软件从业人员主要分为初级程序员、中级程序员、高级程序员(现今已变为软件设计师)、系统分析员、系统架构师以及测试工程师这六大类。