还有另外一种看待程序员的方法,我们经常也会遇到,比如经常看到某些程序员的签名是成为架构师。所以从技术知识、实践经验和程序员的专长去考虑也非常重要,一起来了解一下IT互联网行业程序员岗位类型
1、系统工程师/架构师
系统工程师/架构师往往都是最有技术和经验的。要想理解所有相关的系统组件( *** 作系统、通信系统、数据库、在线/离线访问、安全性、硬件等等)之间复杂的关系,需要对这些技术和系统有丰富的专业知识和经验
2、系统程序员
架构师一般都是从系统程序员做起的,系统程序员负责编写与硬件交互的设备驱动程序,创建能够为设备驱动运行程序和应用程序执行提供运行环境的 *** 作系统,为其他程序员创建编译器和调试工具。有点类似民间宗教中的大祭司,元老级人物。
3、应用程序员
在专业程序员、学生以及自称为程序员的业余爱好者中,绝大部分属于应用程序员。
应用程序员开发的程序包括我们常见的桌面客户端应用和 App Store 中的软件和游戏等。
还有一些应用程序员能够跳出代码本身的束缚,从用户的角度看问题,来把握可视化、交互式的设计之间的细微差别。这种人比较适合从事用户界面(UI)开发。
4、非真正意义上的程序员
开发团队中有一些被称为 “程序员” 的技术人员其实并不是真正意义上的程序员。
这些 “程序员” 与真正的程序员之间的主要差别在于:他们使用现有的工具或应用程序,而不是自己直接写代码。
这类 「程序员」 有其重要性和价值,但他们的技术深度通常不会太高。而且随着程序设计工具的出现和日益强大,这样的程序员会越来越多。现在主要从事测试等。
低级程序员和高级程序员的区别如下:1、高级程序员之所以高级, 在于他们认识到代码 bug 是不可避免的。
有千万种理由可以导致 bug, 但他们可以在设计和逻辑上保证(追求)滴水不漏, 并用逻辑的百分之百准确性还减少代码 bug。严谨的逻辑能力是高级程序员区别于低级程序员的最主要原因。
2、不仅在于他们写出了逻辑上不完备的系统, 而且还恶劣地引经据典来做错误的辩护. 但他们引用的经典是不合时宜的(不能支撑他们的结论)。
正确的做法应该是假设上面的每一行代码都可能中断执行, 然后进行相应的对策. 正如狭义上的网络协议其实是广义上的交互协议, 我们可能把 TCP/IP 协议上的许多思想和机制应用到系统间的交互上来。
3、低级程序员和高级程序员的区别在于逻辑和抽象。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)