前言:

1、开发者和架构师之间最大的区别是什么?

架构师和开发者一样,也经常写代码,简单的说,开发者和架构师之间最大的区别就是技术领导力。

软件架构师的角色需要理解最重要的架构驱动力是什么,他提供的设计需要考虑这些因素。架构师还要控制技术风险,在需要的时候积极演化架构,并且负责技术质量保证。

从根本上讲,架构师是一个技术领导者的角色,这就是最大的区别。

2、一位iOS开发者如何才能成为一位架构师?他/她需要掌握哪些领域之外的能力?

两个字:经验。

我认识的大部分优秀软件架构师同时也是出色的软件开发者,他们都是经过时间逐渐发展成为架构师的。你需要有退后一步看代码的能力,从而理解特定软件系统背后的设计决策。退后一步才能看到“大局”,这是架构师必须掌握的核心技能。

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!希望帮助开发者少走弯路。

群文件自行下载以下资料

3、你对软件架构的理解是否因为你的经历和实践而改变过?

是的。我对软件架构的理解是根据我在咨询公司工作时在各个项目中负责软件架构的经验形成的。咨询是一件好事,尤其从最近我开始从事独立咨询师这个工作之后,我可以看到很多不同的团队,不同的架构,不同的技术,以及人们不同的工作方式。世界各地的文化多样性又为工作的复杂度增加了一个维度。无论是寻找特定问题解决方案的过程,还是为各种想法去芜存菁的过程,这些经验和与我共事的人的反馈一起最终形成了我今天对软件架构的认识,这些思维也反应在了我的书中。

4、有没有什么事是架构师永远都不应该做的?

有,软件架构师永远都不应该停止编程和停止学习!

程序员从初级走向资深的过程中,会面临两个支路,一个叫技术主管,另一个则是架构师。

总结程序员到架构师之路的忠告:

1、程序就是一切。文档是紧接其后的事情。因此,把你们的代码写成本身就是文档,而且要好用。

2、测试 测试 测试。重要的事情说三遍。

3、单元测试要严格。任何一个单元测试中发现的bug都负担了开发人员成本外的双重代价。你们要知道,我宁愿给你们更多的薪水也不愿找别的QA公司来测试、让你们修改bug。但如果你的程序写的很差,那我只好把这些钱由这些人平摊,你们只能得到其中很小的一块蛋糕。

4、写出好代码要能给人类阅读,给CPU使用。绝对不能向烂代码低头。

5、的知识,不要局限于目前的工作所需。如果你只掌握今天需要的知识而不知明天需要的,你不会有发展进步。

6、回家不时的做做饭。是的,真的饭。这会让你知按照菜谱做饭和自己创造一顿饭之间的区别。前者是在做饭前已经知道了需要什么,而后者是根据你目前有的来做 … 就这一点点不同。

7、抽象的能力,抽象思考的能力怎么强调都不为过。现实的需求纷繁复杂,如果架构师不能够把这些乱无头绪的需求抽象成一些“概念”,在概念的层次进行思考,系统根本就无法设计。

8、技术领导力,要用技术的影响力来领导人,而不是威权和职位。换句大白话来说,就是要能让技术人员服你。有了技术影响力,你在团队发出的声音才会被倾听,被尊重。

为什么大多数人不是架构师?

架构师,程序员,产品经理的区别,大概就是建筑行业里建筑师,建筑工人,甲方业主的区别。产品经理说我要建这么这么一栋楼,架构师说好吧,我来帮你看看是做成砖木结构还是框架结构,房型怎么设计,水电气怎么布局,预算多少,然后程序员上阵,按照图纸把楼建起来。运营是大楼的物业管理,负责营运大楼。

软件开发越来越成为传统行业(即便在互联网企业),一个成熟的软件团队内部自然会分化出这些角色,各展所长。但非常不同的是,建筑工人很少能自发成长为建筑师,后者都是科班出身,因为建筑学科已经高度发达,需要掌握结构力学,美学等技术,现在软件行业还没有这么高的成熟度,程序员和架构师接受的都是一样的计算机教育,所以程序员可以自学升级到架构师,走一条不同的升级打怪路线。

那么,架构师是什么人呢?

按所工作的不同软件层分,有网络架构,系统架构,数据架构,业务架构,应用架构,平台架构。

按所解决的问题领域分,有电商架构,支付架构,搜索架构,安全架构,性能架构,游戏架构,多媒体架构,等等等。

按其工作的深度来分,有集成架构,业务架构,模块架构,框架架构,中间件架构,软件架构,引擎架构,服务器架构,甚至编程语言架构。

是不是太乱了?好比在设计师的世界观里一切东西都需要设计。软件也需要精心设计,在优秀的程序员眼里,每一行代码都需要架构!都体现了架构。

为了解决问题,程序员自然需要架构,他们中的佼佼者被冠以架构师的名号,获得了一定的话语权,逐步成为一个职业分工,

我想,这就是架构师的本来面目。

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!希望帮助开发者少走弯路。

转载于:https://www.cnblogs.com/Mcci7/p/11099995.html

iOS开发者 如何突破自身技术瓶颈,成为别人眼中的 架构师?相关推荐

  1. YOUChain 首席架构师 何畅彬:YOUChain技术白皮书首次亮相,首席架构师深度解读

    今天"链客Talk"邀请YOUChain首席架构师何畅彬来到链客直播间,和大家一起探讨YOUChain技术白皮书首次亮相,首席架构师深度解读这一话题. 何畅彬 :YOUChain ...

  2. Windows Azure-2.5天免费深度技术训练营——面向软件工程师和架构师

    Windows Azure-2.5天深度技术训练营--面向软件工程师和架构师 ●[深圳场]3月13日.14日全天,3月15日上午 在线报名 ●[北京场]3月20日.21日全天,3月22日上午 在线报名 ...

  3. 作者:石在辉(1983-),男,中移(苏州)软件技术有限公司大数据产品部方案架构师。...

    石在辉(1983-),男,中移(苏州)软件技术有限公司大数据产品部方案架构师,主要从事解决方案.战略规划.产品规划等工作.

  4. 一代程序员如何突破自身技术瓶颈:与敏捷的初接触

    作者:熊节 / 插画:虎头锤 2000 年前后的中国,有一批年轻的 IT 从业者,受困于软件工程不能有效解决他们的实际问题,开始关注到敏捷,并在很短时间里翻译引进了敏捷的主要基础著作. 重构--一种写 ...

  5. 避免35岁现象,我给技术人的建议永远是架构师!

    随着业务的发展,每个产品都需要对应数量的开发者作为支撑,但在长期的协作中,我们发现开发团队都会遇到一些普遍难点:构建速度慢.开发测试周期长.协作困难等. 在快速的业务迭代中,各团队的开发人员往往只会将 ...

  6. 【IT技术】阿里RDS首席产品架构师何云飞:阿里云数据库的架构演进之路

    专访阿里RDS首席产品架构师何云飞:阿里云数据库的架构演进之路 原文作者:pipihappy8888 http://www.itpub.net/thread-1887486-1-1.html 如果说淘 ...

  7. 微服务2.0技术栈选型手册,值得架构师借鉴

    一.前言 2014年可以认为是微服务1.0的元年,当年有几个标志性事件,一是Martin Fowler在其博客上发表了"Microservices"一文,正式提出微服务架构风格:二 ...

  8. java前沿技术_互联网百强企业架构师告诉你,Java应该这么学!云和数据超全面Java中级程序员学习路线图重磅发布!...

    作为常居编程语言排行榜第一名的编程语言,Java语言以其稳定性.健壮性著称,是一门非常成熟的编程语言,多年来一直是国际上众多企业的首选编程语言. Java语言不仅吸收了C++语言的各种优点,还摒弃了C ...

  9. Universal Link|iOS开发者不得不知的技术

    1.Universal Link的使用场景 Universal Link是苹果在WWDC 2015上提出的iOS9的新特性之一.此特性类似于深层链接,并能够方便地通过打开一个Https链接来直接启动您 ...

最新文章

  1. 用easyui动态创建一个对话框
  2. 牛客练习赛61 E 相似的子串(二分+哈希)难度⭐⭐⭐
  3. 连接统计学、机器学习与自动推理的新兴交叉领域——因果科学读书会再起航...
  4. 最新!中国内地高校ESI排名出炉:342所大学上榜
  5. Crawler:基于requests库+urllib3库+伪装浏览器实现爬取抖音账号的信息数据
  6. 设计模式系列--Singleton
  7. 线程锁并不是想象的那样可靠
  8. 机械硬盘与互联网文明
  9. wifi无线设备服务器驱动,如何安装Windows 10的WiFi驱动程序
  10. Linux系统中使用Xbox360手柄
  11. phpstorm 报 expecting statement
  12. 在openSUSE下使用Snapper实现快照…
  13. 用JS制作表格的添加删除
  14. 请帮我写一封情书,500字左右
  15. 【英语】为什么老外说的我们听不懂?
  16. 终身免费!微软数据恢复工具,界面版体验
  17. php-fpm安装,启动,重启
  18. 4月10日第七次CCF
  19. 创建oracle的存储过程,以及通过JDBC调用该存储过程
  20. Java SE Development Kit 9.0.4 的下载安装及配置

热门文章

  1. 巧用R语言挖掘谁是全网最受欢迎和最高产武侠作者
  2. Python 各种扩展名(py, pyc, pyw, pyo, pyd)区别
  3. Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3)
  4. 解决css样式中first-child和last-child不生效的问题
  5. 【财富空间】陈春花:向内打破,为成长赋能;面对全球市场,要有全球化思维、本土化行动
  6. PHP判断字符串是否含有特殊字符(亲测有效)
  7. 鸿蒙智慧屏和pro有什么区别,华为智慧屏V55i和荣耀智慧屏PRO区别对比
  8. CF Card Reader Test市面CF读卡器不完全测评
  9. 【VMWARE】克隆linux centos6.5 网络修复笔记
  10. Python练习题——初学Python记录