现有事实是程序员之间的差异实际上非常大,只有那些了解程序员的人才能完全理解这一点。尽管大多数高级管理人员对所有程序员都一视同仁,但仍然有一些公司将程序员视为工具和资源,成为一个头脑清醒的程序员,您的职业生涯将更加精彩。那么首先就需要了解程序员都有哪些类型。
程序员需要考虑技术知识、实践经验和程序员专业知识是很重要的:
1.系统工程师/架构师
一般系统工程师/架构师,不论是技术还是经验都是比较多的,他们要了解所有相关系统组件(操作系统、通信系统、数据库、联机/脱机访问、安全性、硬件等)之间的复杂关系,并且在这些技术和系统方面有更加丰富的专业知识和经验。
2.系统程序员
架构师通常从系统程序员开始做起,系统程序员负责编写与硬件交互的设备驱动程序,创建可以为设备驱动程序运行程序和应用程序执行提供运行环境的操作系统,并为其他程序员创建编译和调试工具,有点类似于民间宗教中的大祭司和退伍军人。
3.应用程序员
在自称程序员的专业程序员,学生和业余爱好者中,绝大多数是应用程序员。应用程序大家都比较熟悉,比如说我们常见的桌面客户端应用程序以及AppStore中的软件和游戏,应用程序员就是开发这些程序的。
还有一些应用程序员可以摆脱代码的约束,并从用户的角度看问题,以掌握可视化设计与交互式设计之间的细微差别,这种人更适合于用户界面(UI)开发。
4.不是真正意义上的程序员
那么所谓的不是真正意义上的程序员就是在开发团队中,某些所谓的“程序员”技术人员。他们使用现有的工具或应用程序而不是自己编写代码,这就是这些“程序员”和真正的程序员之间的主要区别。
这样的“程序员”有其重要性和价值,但是他们的技术深度通常不会太高。随着编程工具的出现和强大,将会有越来越多的这样的程序员,现在主要从事测试等。
程序员的“江湖”很大,但是生命很短暂,为什么不利用这个时间找一把“好剑”而大肆闯荡“江湖”呢?