Android开发这么多年,但是还是经常会有人分不清程序员和架构师,在招聘的时候,明明招聘信息写的是“招架构师”,但是,来的人更多的人说着要当架构师,其实能力也只是普通“程序员”。

所以,在这里,我特意写了一篇文,告诉大家怎么区分“程序员”和“架构师”,这两者的区别又在哪里,移动架构师需要具备什么样的素质,以及如何才能进阶成为架构师。

一、细数大家心里常有的认知误区

(一)架构师就是项目经理

这个就有些冤枉了,架构师并不是项目经理。

项目经理侧重于预算控制、时间进度控制、人员管理、与外部联系和协调等等工作,具备管理职能。

当然,在一些小公司里面,或者是一般小型项目中,经常会有项目经理兼架构师。

(二)架构师负责需求分析

架构师不是需求分析员。需求分析人员的工作是收集需求和分析需求,并与最终用户、产品经理保持联系。架构师只对最终的需求审核和确认,提出需求不清和不完整的部分,他会跟需求分析员时刻保持联系。架构师是技术专家,不是业务专家。

(三)架构师从来不写代码

这是一个尚存争论的问题。目前有两种观点:

观点1:架构师不写代码,写代码纯体力活,架构师写代码大材小用。架构师把UML的各种视图交给开发人员,如果有不明确的地方,可以与架构师随时沟通。

观点2:架构师本来自于程序员,只是比程序员站的层面更高,比程序员唯一多的是经验和知识,所以架构师也免不了写代码。

我个人觉得这两种说法是与架构师的出身和所处的环境有关。

架构师首先是一个技术角色,所以一定是来自于技术人员这个群体,比如系统架构师,多是来自于运维人员,可能本身代码写得并不多,或者说写不出来很漂亮的代码。软件架构师多是来自于程序员,有着程序员的血统和情怀,所以在项目开发过程中,可能会写一些核心代码。我们的理想是架构师不用写代码,但事实上有时候过于理想。架构师写不写代码,可能取决于公司的规模、文化、开发人员的素质等现实情况。另外,架构师也不是跟程序员界限分得那么清楚,按照能力也有高中低之分,写不写代码不是区分两者的根本标准。

二 、架构师的基本素质

周星驰有个片子《喜剧之王》,剧中的尹天仇整天揣着本《演员的自我修养》,一个好演员不仅需要天赋,也需要一定的理论指导,无师自通的人毕竟是少数。架构师的成长过程也是这样。从普通程序员到高级程序员,再到架构师,是一个经验积累和思想升华的过程。经验积累是一个方面,素质培养是另一个方面,两者相辅相成,所以我觉得有必要把架构师的所要具备的素质罗列一下,作为程序员努力的方向。

(一)沟通能力

为了提高效率,架构师必须赢得团队成员、项目经理、客户或用户认同,这就需要架构师具有较强的沟通能力。沟通能力是人类最普遍性的素质要求,技术人员好像容易忽略,想成为架构师就不能忽略。千万不要抱着这样的观念:怀才跟怀孕似的,时间久了总会被人发现的。还是天桥上卖大力丸的哥们说得对:光说不练假把式,光练不说傻把式。看看你周围的头头脑脑们,哪一个不是此中高手,我们千万不要鄙视,认为这是阿谀奉承、投机钻营,凡事都要看到积极的一面,“沟通”的确是一种能力。我认为自己是一个略内向的人,因为我是农村出来的孩子,普通话都说不好,以前或多或少带有点自卑感,幻想着是金子总会发光,所以在职业生涯中吃了不少亏。现在,我深深懂得了沟通的重要性,我会很主动地跟同事们,跟老大们不定时地沟通,感觉工作起来顺畅多了。

这一条我认为最为重要,所以排在首位。我甚至认为下面几条都可以忽略,唯一这一条得牢记,而且要常常提醒自己。

(二)领导能力

架构师能够推动整个团队的技术进展,能在压力下作出关键性的决策,并将其贯彻到底。架构师如何来保证这种执行力?这就需要架构师具有领导能力。

架构师的领导能力的取得跟项目经理不太一样。项目经理主要负责解决行政管理,这种能力与技术关系不大,他有人权和财权,再扯上一张“领导”的虎皮,采用“胡萝卜加大棒”的方式,基本上可以保证执行力。架构师在项目里面可能更多地使用非正式的领导力,也就是我们常说的影响力,里面包括个人魅力、技术能力、知识传递等等。

(三)抽象思维和分析能力

架构师必须具备抽象思维和分析的能力,这是你进行系统分析和系统分解的基本素质。只有具备这样的能力,架构师才能看清系统的整体,掌控全局,这也是架构师大局观的形成基础。你如何具备这种能力呢?一是来自于经验,二是来自于学习。架构师不仅要具备在问题领域上的经验,也需要具备在软件工程领域内的经验。也就是说,架构师必须能够准确得理解需求,然后用软件工程的思想,把需求转化和分解成可用计算机语言实现的程度。经验的积累是需要一个时间过程的,这个过程谁也帮不了你,是需要你去经历的。但是,如果你有意识地去培养,不断吸取前人的经验的话,还是可以缩短这个周期的。这也是我写作此系列的始动力之一。

(四)技术深度和广度

架构师最好精通1-2个技术,具备这种技术能力可以更加深入的理解有关架构的工作原理,也可以拉近和开发人员的距离,并形成团队中的影响力。

架构师的技术知识广度也很重要,需要了解尽可能多的技术,所谓见多识广,只有这样,才可能综合各种技术,选择更加适合项目的解决方案。有的人说,架构师技术广度的要求高于技术深度的要求,这是很有道理的。

总而言之,一句话:架构师是项目团队中的技术权威。

三、如何成为架构师

其实,成为架构师并不难,经验上面或许暂时没哟一蹴而就的办法,但是,技术上却可以努力。

作为一个身经百战的面试官,在这里我可以透漏一下这边的招聘要求,我们对移动开发架构师的考核标准基本上有固定的几个方向,下面的几个点,基本上是都会问到的。如果这些你都会,那么基本上可以一试。

【下面的这些点都已经整理成为了PDF资料,如果大家有需要,可以点击这里的蓝色字体,里面有免费获取途径】

一、架构师必备Java基础

1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO

……

二、设计思想解读开源框架

1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计

……

三、360°全方位性能调优

1、设计思想与代码质量优化

2、程序性能优化

  • 启动速度与执行效率优化

  • 布局检测与优化

  • 内存优化

  • 耗电优化

  • 网络传输与数据储存优化

  • APK大小优化

3、开发效率优化

  • 分布式版本控制系统Git

  • 自动化构建系统Gradle

……

四、Android框架体系架构

1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析

……

五、NDK模块开发(音视频系列)

1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习

……

六、Flutter学习进阶

1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门

……

七、微信小程序开发

1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战

……


这个世界上没有一蹴而就的事情,只有肯下功夫才能获得成功。我也觉得自己以前荒废了不少的时间,安于现状,不思进取,直到出现了危机才开始知道努力。

幸好亡羊补牢,为时不晚。也希望大家和我一样,好好把握机会,拼搏进取,在工作上取得成功!

这份资料免费分享给大家,希望大家好好使用,也希望大家能拿到心仪公司的offer,收获理想的薪资。

【上面的这些点都已经整理成为了PDF资料,如果大家有需要,可以点击这里的蓝色字体,里面有免费获取途径,记得备注CSDN粉丝哦】

程序员和架构师的区别在哪里?Android程序员如何才能实现技术上的进阶?相关推荐

  1. 从程序员到架构师的最佳技术成长之路

    我把程序员到架构师的技术成长之路分为几个典型的阶段:工程师 - 高级工程师 - 技术专家 - 初级架构师 - 中级架构师 - 高级架构师,总的成长原则是每个阶段都需要"积累经验.拓宽视野.深 ...

  2. 软件架构设计(第2版)——程序员向架构师转型必备

    软件架构设计(第2版)--程序员向架构师转型必备 温昱 著 ISBN 978-7-121-17087-4 2012年7月出版 定价:39.00元 16开 256页 宣传语:本书内容务实.技能梳理清晰, ...

  3. Android从程序员到架构师之路3

    本文学习自高焕堂老师的Android从程序员到架构师之路系列教学视频 40 - 认识线程(Thread)模式a 1. 线程(Thread)概念 所谓线程(Thread) 是指一串连续的执行动作,以达成 ...

  4. 程序员向架构师转型之路

    课程简介 具备若干年开发经验的普通开发人员往往面临个人发展的瓶颈,即如何从普通开发人员转型成高层次的系统架构师和技术管理人员.想成为一名架构师,应当具备全面的知识体系,需要进行系统的学习和实践,很多开 ...

  5. 程序员晋升架构师的十项必备技能

    1.卓越的程序员 Fred George先生说:"不编程的架构师的职业生涯是短暂的".他说这句话的背景主要是针对有些架构师的设计与实现有断层的问题而言的,因为如果架构师不去实践,只 ...

  6. 为什么大部分的程序员成不了架构师?

    小团队一般 10 人左右,其中常常是技术最牛的人做架构师(或TL).所以,架构师在广大码农中的占比大概平均不到 10%.而架构师也可以分为初级.中级.高级三档,江湖上真正高水平的软件架构师就更少了. ...

  7. 从程序员到架构师需要掌握哪些技能

    架构师是程序员的职业生涯发展的一个方向,很多架构师都是从开发人员逐步过渡来的,程序员想要成为架构师,平时就应该身负"架构师"职责,用架构师的视角来对待工作,以下是开发工程师和架构师 ...

  8. 系统架构设计:程序员向架构师转型之路-张勇-专题视频课程

    系统架构设计:程序员向架构师转型之路-247人已学习 课程介绍         本课程首先围绕普通开发人员如何向架构师转型这一课题,从架构师的角色以及转型过程中会遇到的困难及其解决方法切入展开讨论,总 ...

  9. 专访|从程序员到架构师:交流和分享最能让技术人进步

    (尧飘海:网易蜂巢首席架构师,负责容器云计算平台建设.曾负责过网易博客.游戏.易信,开源项目Pomelo研发工作,热爱开源和技术交流.) 到2016年,云计算发展已有十个年头. 十年前,亚马逊点燃了一 ...

最新文章

  1. openlayers之style符号化
  2. python文件命名文件夹怎么删除_python文件批量重命名、删除文件夹
  3. 揭秘!双11万亿流量下的分布式缓存系统 Tair
  4. 2021河南高考成绩查询郸城一高,郸城一高在河南有多牛 2021年高考成绩
  5. 如何做规划?分享2种思维和4个方法
  6. always on_Always On可用性组中的自动播种
  7. css中关于transform、transition、animate的区别
  8. 二维码_encode与decode
  9. android 代码 安装APK 解决了
  10. 程序员绩效考核工作汇报
  11. 车牌字符识别LPRNet:License Plate Recognition via Deep Neural Networks
  12. 初始Pytorch框架
  13. 关于自己配置电脑的一点心得
  14. SEO原创和伪原创文章的一些技巧
  15. 帧中继和路由协议详解-在帧中继点到点子接口上运行EIGRP
  16. yarn : 无法加载文件 C:\Users\HYGK\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsof
  17. 虹科分享 | 简单实用的CANopen介绍,看完你就明白了(1)——CANopen基础概念
  18. matlab摄氏度fuhao,chemdraw温度符号
  19. java连接.accdb_尝试通过Java 8中的JDBC-ODBC连接到.accdb文件时...
  20. SAP 系统管理内容

热门文章

  1. C/C++_大正整数的加法运算代码实现
  2. 818姐是一名护士,是你娶不起也不敢娶的人
  3. 空岛服务器新手如何注册,怎么在空岛服务器创建空岛 | 手游网游页游攻略大全...
  4. 谷歌造出首台完整功能无人驾驶车 明年上路
  5. 【修真院Java小课堂】Annotation注解
  6. annotation是什么,用处,举例
  7. 博主:遇见未知的自己 (http://www.cnblogs.com)
  8. cnblogs 美化主题
  9. android负一屏实现方案
  10. win10删除本地用户,输入密码错误