你是哪种类型的程序员?
最初发表于Dev Knights
一年前,我在软件杂志《Software Gurú》上读到Basilio Briseño的一篇文章,他在文中指出PHP是墨西哥薪酬最低的编程语言之一,并解释了原因。文章中,他还公布了由“PHP Mexico”编程小组制作的各类程序员的薪资范围。
虽然薪资范围技能分类主要针对 PHP 程序员,但这种程序员分类方法
也适用于 PHP 编程以外的领域。以下列表列出了初级、资深、高级和大师级开发人员达到相应级别所需的技能。
薪资范围大致如下:
-
新手通常编写的代码在缩进或规范方面缺乏一致性,而且通常会从网上复制粘贴任何看起来能实现所需功能的代码,而根据论坛的说法,这些代码就是解决方案。
-
这位学徒已经意识到自己需要提升,并决定学习和应用最佳实践。他/她不会去论坛搜索可以直接复制粘贴的代码,而是会先分析代码,自己进行调查研究后再提出问题。
-
初级工程师了解设计模式并加以应用,理解 MVC、REST、CRUD、ORM、SQL 注入、XSS、I/O 清理等基础知识,并将这些知识与其他技术结合使用;他/她学习能力强,并会使用第三方 API。
-
高级工程师能够开发自己的工具和 API,了解自己领域语言的内部运作方式,对应用程序的性能(而不仅仅是开发便捷性)非常感兴趣,不满足于所有第三方工具和 API 的功能和设计,总是寻求创新和创造能够提高性能、简化工作和加快交付速度的东西;在不同的项目和社区中贡献代码。
-
精通此领域技术者能够开发自己的扩展、gem 或库,并对其进行优化以达到最佳使用效果;积极参与开源项目,并致力于提升高性能应用程序的性能。熟悉领域语言及其起源,并了解其与其他语言的区别。
-
核心成员对领域语言的核心开发做出了贡献;对一些扩展、gem 或库和公共工具做出了贡献;他/她经常在国际会议上发表演讲,并且经常可以在他/她领域语言的版本变更的致谢名单中看到他/她的名字。
那么……你是哪种类型的程序员?
文章来源:https://dev.to/arandilopez/what-kind-of-programmer-are-you-2862许多开发者经过多年的工作后被称为高级开发者,或者在只做教程的情况下就被称为某个框架或语言的专家;然而,你的工作和贡献以及它如何影响其他人的工作(不仅仅是在你的工作场所),才能真正说明你是哪种类型的程序员。