|
现存的一个事实是程序员之间的差异其实是非常大的,只有很了解程序员的人才能完全了解这一点,虽然有大多数的高层管理者对所有的程序员都一视同仁,还是有企业是把程序员当做工具、资源看待,做个头脑清醒的程序员,你的职业生活会更精彩。
' n) M. o# \9 j' C6 |! ^, A
/ b4 y6 l9 v1 p4 A, L程序设计工种
7 p6 a& v: V: D" B. |0 y这其实是常用也是比较简单的方式去理解关于程序员这份职业,就是分析他们的程序设计工作可以归为哪些类型:
& o( \! M" N$ ?3 A3 F2 F0 u' o客户端程序员, U3 u" G: z0 @
服务器端程序员
% @. q! ^+ E' S. z2 g数据库程序员; Y, F0 X1 e$ z
Web 开发人员及其他脚本编写者$ [4 Z0 U5 v' t/ M
其实有许多特殊的程序员工作其实很难归类到某种类型。但是总的来说,这 4 种类型就可以覆盖世界上的绝大多数程序员,每一种程序员擅长的问题解决方法、使用的工具以及侧重的产品方向都不一样。
: A. p) F4 d( M. b程序员的类型6 n$ i0 n; p g. \, J& |
还有另外一种看待程序员的方法,我们经常也会遇到,比如经常看到某些程序员的签名是成为架构师。所以从技术知识、实践经验和程序员的专长去考虑也非常重要:
# L' X* p y' F系统工程师/架构师
7 X% q" n- h5 Y- y( Z( t+ A系统程序员3 K" U8 O3 y6 H+ n7 s
应用程序员; j: T& S) L$ j- |& v5 F
非真正意义上的程序员
3 b" s N" d* E7 q8 \0 q1、系统工程师/架构师
! Z2 p; @: t8 |# g j7 W/ f9 a系统工程师/架构师往往都是最有技术和经验的。要想理解所有相关的系统组件(操作系统、通信系统、数据库、在线/离线访问、安全性、硬件等等)之间复杂的关系,需要对这些技术和系统有丰富的专业知识和经验。3 ?- Q, c; o4 ^
2、系统程序员5 I8 P! T2 j' ^& t& q, ]: c
架构师一般都是从系统程序员做起的,系统程序员负责编写与硬件交互的设备驱动程序,创建能够为设备驱动运行程序和应用程序执行提供运行环境的操作系统,为其他程序员创建编译器和调试工具。
3 w! w! p+ _- ?9 `; W5 v3、应用程序员* r( K0 {$ m$ w! P
在专业程序员、学生以及自称为程序员的业余爱好者中,绝大部分属于应用程序员。( E# K6 Z& H O
应用程序员开发的程序包括我们常见的桌面客户端应用和 App Store 中的软件和游戏等。
& O* p, ^# w4 D$ c, @! ~; @# J9 }还有一些应用程序员能够跳出代码本身的束缚,从用户的角度看问题,来把握可视化、交互式的设计之间的细微差别。这种人比较适合从事用户界面(UI)开发。
8 L; U. b& k/ H! x4、非真正意义上的程序员7 a/ ^7 M1 z- |. W; H& }
开发团队中有一些被称为 “程序员” 的技术人员其实并不是真正意义上的程序员。
& }+ G. n E% u这些 “程序员” 与真正的程序员之间的主要差别在于:他们使用现有的工具或应用程序,而不是自己直接写代码。" c# s G8 L9 w1 H
这类 「程序员」 有其重要性和价值,但他们的技术深度通常不会太高。而且随着程序设计工具的出现和日益强大,这样的程序员会越来越多。现在主要从事测试等。
6 a1 d! u, m, l; X2 P7 X程序员的“江湖”很大,但人生的时间很短,何不趁年华正好,寻一把“好剑”,肆意“江湖”?信盈达学院带你一起“铸利剑”潇洒人生!: v" c6 U5 @) E: l
# N: I" Z0 ~" ]1 z1 W
课程咨询 :学习资料、课程介绍欢迎前往信盈达官网联系客服领 取~
& k4 D' ^/ { w n 14天信盈达免费试听课
* ?) P# U0 n+ ?& V3 ]% C L12大学科,高品质全程面授班 限 额 报 名! |
|