程序员分哪几种?分别要学什么知识?工资怎么样?

程序员分哪几种?分别要学什么知识?工资怎么样?,第1张

一、程序员的分类

程序员从事的人群很多,分工也不相同,从大的方面可以分为以下几类: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/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。

三、薪资待遇

程序员的薪资待遇分档次,大致情况是这样的:

初级软件工程师(0-3年开发经验),平均月薪(3000-8000)

中级软件工程师(3-5年开发经验),平均月薪(5000-12000)

高级软件工程师(5年+开发加2+管理),平均月薪(10000-90000)

一般只有刚毕业的初级工程师说的是月薪,中高级基本是年薪。 

也有刚毕业就签的年薪的。这个是大致范围就这样,也有少部分低于3000或高于90000的 具体差别要看自己的,毕业院校,专业学历,专业能力,外语能力,职称等级,综合能力,以及所在城市还有自己的选择等。但最主要的是看专业能力的。

什么是程序员?

程序员是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。

一、程序员需要学习的知识:

程序员(英文Programmer)是从事程序开发、维护的专业人员。程序员可以分为很多种,像Unix程序员、Windows程序员,或是C++程序员、Delphi程序员等。一名真正的程序员应该懂得的知识,掌握的知识:

1、首先,就是通常提到的各种脚本,asp、jsp、php等。

2、数据库:

做程序员都用过,像Access、Sql Server、Oracle。很多人会用各种数据库,但是仅限于写一些sql,select、update、insert,用ADO来 *** 作,如果这样,就算会用100种数据库,还是不能称为合格的程序员。

应该考虑用户量、访问速度、内存消耗,这些东西和自己的sql密切相关,经常见到很多分页程序根本不去考虑数据库中有多少条数据,统统select出来,很明显,当你从数据库中查出1万条数据和100条数据,占用的内存是不同的。

另外,数据库连接池和事务机制是非常重要的,应该知道数据库用什么来保证事务,连接池如何实现,这些都是商务应用的关键。比如,目前很多的应用服务,像weblogic、MTS,都包含事务处理,可以说好的事务处理决定了他们的竞争力。

3、组件技术:

以前从老式的静态库、动态库(dll),到现在的COM/DCOM,再到正在兴起中的Web Service从单机调用,到基于内部网的分布式调用,到现在基于Internet的分布式计算。现在的应用都是基于组件的n层结构,最明显的就是COM和JavaBean。

这些东西体现了软件架构的发展,以前是基于单机的应用,然后是C/S结构,到现在的B/S结构。程序员一定要注意软件技术的发展趋势,只有这样,才不至于被淹没在技术的洪流中。作为程序员,一定要明白COM的原理,如何实现这种调用、如何进行分布式调用。说实话,COM还是比较复杂的,否则微软为什么要提供ATL和VB呢,要搞明白,应该学学C++,因为VC中提供的ATL库可以很明显的说明COM的内部运行机制。

4、网络技术:

可以说是程序员最应该懂得东西。应该知道Web服务器的机制,要明白Http协议。就拿IIS来说,要懂得web应用程序运行的进程安全和IIS的关系,懂得ISApi的作用。

有业余时间,看看TCP/IP,看看winsock,这些都是底层的网络的东西。

这些都是基于微软技术下的东西,其他的像Java方面的东西都可以对照参考,总之,学海无涯,每当接触一些新的东西,就会发现自己的不足,同时也就觉得基础知识的重要。说实话,做应用开发,用别人的东西,在现在这种情况下,新的技术层出不穷,稍不注意就会被甩开。

二、程序员岗位分类如下:

计算机科学发展到今天,记录了人类文明史中最为精彩、最为辉煌的一段。程序员从事的人群很多,分工也不相同,从大的方面可以分为以下几类:

1、asp程序员;

2、jsp程序员;

3、delphi程序员;

4、php程序员;

5、powerbuilder程序员;

6、C程序员;

7、linux程序员;

8、net程序员;

9、vb程序员;

10、java程序员;

11、javascript程序员;

12、C++程序员;

13、Python程序员;

14、android程序员;

15、iOS程序员。

码农工种一般就是研究开发、开发、开发测试,运维开发,开发根据负责的内容一般分前端和后端,像界面就是前端,服务器和数据库就是后端开发。ai系统一般是研究开发。

但码农的工作一般是按照阶段性的项目中负责的模块分的,所以可能一个人一段时间是前端,一段时间就变成后端了,当然里面的技术差别很大,不是每个人都可以随便转。

但其实这些分类并不严格,比如世界最大的社交网站fb,他们的程序员必须从前端后端、研究开发测试维护一揽子全包。

软件工程中相配套的,除了程序员以外,还有产品经理、测试(和开发测试不一样)、行政等等岗位。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11277483.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存