从普通Java程序员到阿里高级架构师,他用了六年!

515

六年间,这位架构师待过四大门户中的两家,完成了工程师到架构师的蜕变。经手多款从零到一产品的开发和增长,也经历国内最大社交平台亿级流量和用户的架构设计及优化工作。工作上思路清晰、认真负责,是同事们心目中优秀 Problem Solver。

**工作年限:8 年

服务公司:4 家(含四大门户中的两家)

最近职业:Java 架构师

职场关键词:社交平台、高并发系统架构设计、技术团队管理、多款从零到一的产品城市!

从普通Java程序员到阿里高级架构师,他用了六年!**

问:介绍一下你自己

答:我 2008 年硕士毕业后,前 2 年在一家传统 IT 公司,最近 6 年在互联网公司,历任 Java 开发工程师、高级工程师、架构师等职位。工作内容上,经历过多款产品从零到一的诞生开发过程,也经手过国内用户、内容和流量最大的社交/社区产品的架构改造优化工作,有丰富的社交产品的研发经验,目前在一家创业公司担任技术合伙人。

问:你擅长的技术领域是什么?

答:擅长的编程语言是 Java、Golang、Scala,熟悉程度依次递减。专注于高性能、高并发系统架构设计和实现。

问:平时怎么向家人解释你的工作是做什么的?

答:一般不详细解释,即使解释了也是徒劳。所以他们会按照自己的理解来描述我的工作,比如修电脑的,比如卖手机的。

问:你觉得程序员可以当一辈子吗?有没有想象过自己 40 岁时在做什么?

答:应该还是会从事开发方面的工作吧,外企中有很多上了年岁的程序员啊。

问:合作过程中,你觉得优秀产品经理最重要的三个特质是什么?

答:逻辑思维能力;对数据敏感;不错的语言和文字表达能力;当然如果能写点儿代码就跟好了。。。

问:你最欣赏的软件工程师是谁?

答:Linus Torvalds 和 Doug Lea

问:在你心目中,具备哪些素质才能称之为全栈工程师?

答:我觉得要成为一个全栈工程师首先要有好的学习能力,对新的技术能够摒弃偏见,快速了解它解决的问题以及如何解决的;其次要对技术保有好奇心;最后是有极强的动手能力,不拖延,说干就干。

问:你觉得一个优秀 CTO 最宝贵的品质是什么?

答:

1.广阔的技术视野,让先进的技术解决实际的问题;

2.熟悉所在的业务领域,根据所在领域的实际情况确定系统架构和系统容量;

3.团队管理能力,构建团队人才梯队,打造一个技术型团队。

问:你觉得世界上存在最好的编程语言吗?如果有,是什么语言?

答:没有最好的,只有最合适的。任何语言都是为了解决某一方面的问题而出现,所以无谓好坏。

问:工作中最喜欢或讨论的设计师分别是什么样的?

答:有产品思维,能够和产品经理一起确认交互细节甚至产品方向的设计师。

问:如果JAVA的软件工程师 3 条建议,你会写什么?

答:

1.重视基础知识(算法、操作系统、网络等等)

2.拓宽技术视野。多去参加技术沙龙,看看别人的牛逼是怎么吹的;多关注感兴趣的开源项目

3.保护好颈椎和腰椎(⊙o⊙)…

问:做了 8 年软件工程师,现在对自己的定位是怎样的,对下一份工作有什么样的期待?

答:

1.目前我对自己的定位是一个架构师或者是团队 Leader;

2.对于下一份工作,要么是在一个有着浓烈技术氛围和高并发平台的大型公司中做一个螺丝钉;要么是在有发展前景的创业公司做一个领头人;

3.公司阶段最好在 B 轮或者以后;

4.行业方面除了游戏,其他都 OK。

问:你觉得Java架构师了解的东西有哪些?

答:初级Java程序员的重心在编写代码、运用框架->中级Java程序员重心在编写代码和框架->高级Java程序员技术攻关、性能调优->架构师 解决业务和技术问题

中级后端程序员提升薪资的重要点在于:

项目经验:支付,通知,IM,短信等公用模块快迅实现。

代码质量:抽象封装,日志规范,发布流程,快速定位。

性能优化:服务器的内存,硬盘,数据增长量,带宽,系统中最消耗性能的地方,一个请求需要调用哪些服务,每次访问DB的时间是多久。

架构能力:分布式,负载均衡,读写分离。

选型能力:JMS,SOA/SCA/微服务,MongoDB/Redis/Memcache,Java/Go/NodeJS等。

管理能力:团队技术分享组织,项目风险控制,任务和工作的分配

需求评审能力:很快给出反馈建议,多长时间能够完成,技术风险点在哪,有没有花费时间长,又不重要的需求。

Geek能力:对某一个技术点研究的特别深入,比如说Nginx的配置,设计,构架。ElasticSearch的设计,优势。