经常会有读者问我以下类似的问题:达到什么水平才能进阿里?阿里的 P6 有哪些要求?我想进阿里,我要准备什么?到底什么样才算是高级开发?
图片来自 Pexels
刚好现在自己在阿里待了 5 年了,前 4 年里经历了两次晋升,从 P5 到 P7,算是大概了解了一些阿里对于人才的要求。
在阿里的这 5 年里,经历了太多太多,我也从一个刚刚毕业的懵懂少年,成长成一个独当一面的技术专家了。也回过头思考了很多很多。
所以,今天斗胆来谈一谈我认为的阿里的人才观,试着回答一下这几个问题。本文所有内容都是我的个人观点,所有言论仅代表我个人,不代表我供职的公司!
其实最近两年自己一直在做面试官,也面试过很多优秀的人,心里大概有一个标准,知道什么样的人才是我们想要的人。
但是这个标准我一直都没有仔细的去思考过,刚好最近有时间,我好好的思考了一下,根据我的理解,谈一谈我认为的阿里的人才画像是怎样的。
我觉得阿里需要的人才大概需要具备这几方面的能力:
- 软件开发能力
- 架构设计能力
- 项目管理能力
- 线上运维能力
- 业务理解能力
- 学习能力
- 影响力
- 目标导向
以上,是我认为是一个 P6 需要具备的能力的几个方面,但是每个方面的能力并不一定要求非常出众,但是有些又很重要。
到阿里巴巴的招聘网站上,随便找几个 P6 的岗位,看一下岗位要求:
这些岗位描述和要求里面的内容,基本都能和以上几个能力对应的上:
架构设计能力:负责平台核心功能、公共模块的规划及架构设计,包括系统架构设计、接口规范制定、技术文档、单元测试的编写等。
业务模型理解和抽象能力突出,参与科学决策、数字兴业、数字治理等相关系统的架构设计,承担核心模块的代码编写 。
业务理解能力:业务理解和建模能力突出,能独立完成系统(或核心模块)的设计、开发和系统维护。
软件开发能力:扎实的 Java/JEE 知识基础和功底(重点包括包括 JVM、类装载机制、多线程并发、IO、网络等),有比较优秀的动手能力。
扎实的 Java 编程基础,理解 IO、反射、多线程、集合等,清楚 JVM 的原理。
熟练掌握主流 Java 框架,并且能了解到它的原理和机制;熟悉 MySQL/Oracle 数据库中的一种或多种,有一定的 SQL 性能优化经验。
良好的面向对象设计能力,对互联网高并发、高可用和高复用有一定的理解和实践,熟悉分布式技术(包括缓存、消息系统、热部署、JMX 等)优先。
线上运维能力: