前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >阿里P8架构师剖析——Java程序员如何在竞争中保持优势

阿里P8架构师剖析——Java程序员如何在竞争中保持优势

作者头像
慕容千语
发布2019-06-12 20:37:53
4040
发布2019-06-12 20:37:53
举报

Java程序员入门容易,进阶很难,想要在竞争中保持优势,脚踏实地的同时也要仰望星空规划自己的未来。时间在流逝,年龄在增加,你期望的薪水也在不断增多,你总得让自己能力持续增加以配得上想要的收入吧。

从初级的Java程序员做起,就要注重修炼自己扎实的基本功,开阔工作思路多思考需求背后的目标。不论是业务还是技术都要多问为什么,在完成工作的前提下寻根溯源是让个人快速的提升的有效方法。

另外,在纵向的积累沉淀自己技术的同时,横向扩展自己的知识面。有自己深入的知识领域,同时又有广阔的知识面,是个人竞争力的很好体现。

最后,勇于挑战困难的工作,提升自己的沟通能力,思考技术发展趋势,学着从业务角度进行技术规划,并学着做好技术团队的管理与激励。

1、初级 Java 程序员的核心考核要素

这个阶段的候选人一般都刚加入工作,工作时间不超过 3 年,对于这一部分候选人,公司的需求通常是解决一些基础的业务问题。他们会考察应聘者的基本功是否扎实、工作思路开阔。以下是一份典型的初级 Java 工程师的 JD:

扎实的基本功

从任职需求上看,面试官对于候选人的期望主要掉现在扎实的计算机理论基础,熟悉面向对象编程,了解常用框架等等。「因为这个阶段,公司所需要的 Java 后端开发,主要是为了解决一些基本业务功能的实现,扎实的基本功能够帮助候选人更快、更好地熟悉业务」100offer 的人才顾问 Tony 如此概括这个阶段的公司需求。因此,在这个阶段,即使是非互联网公司的候选人,也能得到一些面试邀请,表现突出,则可成功转行。

(上图为工作1年,曾在某硬件公司任职的候选人)

工作思路开阔

在某独角兽企业带领一个业务方向的技术 leader 陈程为我们描述了这个阶段的 Java 程序员最具竞争的力的品质:能够站在业务的角度去思考问题。

这些品质的 Java 程序员直观上的表现就是,不会单一地去思考需求,而是会考虑需求背后的目标。「这些特质其实没有那么难以锻炼,不是孤立地处理问题,多和产品经理沟通交流,就很容易培养出从业务角度考虑技术开发的意识」。陈程觉得这个阶段的程序员反而是最好提升的,「害怕的就是,你不愿意去做这些沟通,闭门造车这种事情,其实不是程序员长期规划中的一个好习惯。」

2、高级 Java 程序员考核要素

这个阶段的 Java 程序员不仅要熟悉 Java 语言本身,公司对候选人会有进一步的要求,具体表现在能够快速的进行工作的输出,能够独立负责小系统或者系统群。在这个阶段,公司在考察工作经验和项目的同时,还看中的是你解决问题的思路和方式。

这个阶段的JD要求如下:

纵向的技术沉淀

对于技术沉淀的考察主要是从项目经验中来,通过对项目经验的考察过程中,观察候选人是否能够把工作内容转化成自己的技术能力或者系统能力。

在 17 年收获 30+ 个面试邀请的专科生王朋依靠着他在大型项目中的技术积累,在 100offer 平台上收获了包括阿里巴巴、网易等在内的 36 个面试邀请。

(候选人王朋在100offer上的具体情况)

横向知识面的拓展

除了纵向的技术沉淀外,在这个阶段,作为系统群或者项目的负责人的横向知识面也是非常重要的考核因素。横向的知识面一方面包括技术上的,表现为不仅能够有架构上的整体认识,还能利用技术组件解决一些比较专业的问题。另外还包括业务上的,比如是否能够在解决具体的需求同时,考虑到整体业务线上会涉及的各个环节,提前考虑并且部署这些环节会出现的问题。

3、资深 Java 程序员考核要素

先来看这个阶段的 JD 要求:

JD 中除了一系列的 Java 架构、生态体系上的要求外,又增加了「技术发展趋势」、「沟通能力」、「勇于担当」等关键词。这些关键词背后的诉求其实也侧面反映了这个阶段的 Java 程序员需要承担的工作:负责一个业务方向或者业务群。

业务角度进行技术规划

除了扎实的技术功底外,能够结合业务方向进行技术规划和有效管理技术团队,保证团队产出成为最重要的两个因素。怎么样可以做到从业务的角度进行技术规划,这里考验的就是你能否发产品经理提出的每一个孤立的点的逻辑和目标系统的建立起来,并且能够在资源有限的情况下,争取到最优的解决方案。

技术团队的管理与激励

如何在团队成员有限的情况下,完成需求量大的开发需求;如何能够更好地让团队中的程序员发挥作用,建立有效的沟通反馈机制等等。这些都是作为这个阶段的 Java 程序员或者说是技术经理无法避开的问题。

从这些建议中,我们抽象的看,整体来说就是作为一个 Java 程序员「宏观」能力和「微观」能力的把控。这两点需要你不断的循序渐进,一步一个台阶地走上去。

从初级程序员提升到高级程序员除了时间和经验上的积累,同样需要的是其能力上宽度和广度的体现。任何做程序员的,真正是对技术热爱的,谁会甘于敲敲代码混日子。而架构师的能力涵盖了一切建立在业务代码之上的技术能力,从最初的敲代码,到熟悉代码,再转变为造代码,造方向,才是一个程序员的进阶路程。以下是我花时间收集整理出来的架构学习路线。希望对各位能有帮助。

1、开源框架解析专题

开源框架

2、架构筑基专题

架构筑基

3、微服务架构专题

微服务架构

4、高性能架构专题

高性能架构

5、团队协作开发专题

团队协作开发

6、B2C商城项目实战

B2C商城实战

7、并发编程

并发编程

8、设计模式

设计模式

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.11.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、初级 Java 程序员的核心考核要素
  • 2、高级 Java 程序员考核要素
  • 3、资深 Java 程序员考核要素
相关产品与服务
Prowork 团队协同
ProWork 团队协同(以下简称 ProWork )是便捷高效的协同平台,为团队中的不同角色提供支持。团队成员可以通过日历、清单来规划每⽇的工作,同时管理者也可以通过统计报表随时掌握团队状况。ProWork 摒弃了僵化的流程,通过灵活轻量的任务管理体系,满足不同团队的实际情况,目前 ProWork 所有功能均可免费使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档