laputa73
发表于 2016-07-21 09:04
本帖最后由 laputa73 于 2016-07-21 09:06 编辑
小公司没有架构师,那是因为有少数核心码农承担了架构师的职责,只是没有名片而已。
大公司没有架构师,那就会一团乱麻。开发和运维相互推诿。devops...玩笑。
当然,从管理角度看,制造这种内斗或许有合理因素。
bbzsxjj
发表于 2016-07-21 10:00
1. 架构师应该做什么工作?
架构师应该从系统宏观层面让代码写起来更高效
让系统运行起来更健壮
从产品的角度考虑随着功能的升级,架构如何应变以便于代码写起来更简单
用丰富的经验解决实际中的代码实现上的难题
2. 有了架构师我们会收益什么?
合格的架构师会让项目的进度能按时按质完成
合格的架构师会让代码写起来更轻松
合格的架构师是架起产品和DEV之间的桥梁
3. 架构师需要什么能力?
应该是一个有丰富经验的代码牛人
一个有丰富经验的项目经理
一个有丰富经验的产品经理
其实,我个人觉得现在的devops其实就是和架构师基本上是重叠的概念,但是在实际过程中,由于各种原因,导致这2个职业都是歪曲了本身。
比如:
在架构师很火的时候,大家都是架构师,随便培训班直接就培训架构师,大学刚毕业考个证就直接叫架构师
在devops当下很火的时候,你就发现是个运维都称为运维开发,是个开发都自称开发型运维,都成了一种时尚,是个公司招人就喊着运维开发、开发运维,所有的培训班
都加班生产各种运维开发,python成为了运维必备技能,姜戈这个人物也为大家所熟知。
chenxing2
发表于 2016-07-22 10:54
1. 架构师应该做什么工作?
大公司架构师应该也有级别的。第一点的架构师,负责自己范围内的架构。整个系统的技术选型,框架设计(易扩展等等),难点攻关,问题攻关
最上面的架构师应该掌握公司内所有产品的架构之间的关系,如关联、依赖等等。负责做总体规划,负责整个公司技术推进等等。
2.有了架构师我们会收益什么?
包装项目的质量、问题的攻关协助、后续的系统扩展等等。
3. 架构师需要什么能力
会多种语言,能够选择一个适合当前项目及可预知的后期扩展的编程语言。
另:
架构师在每个公司职责也不一样。
有的只负责技术方向,有的要负责管理(跟有的公司的技术经理有点像),还有的要负责各个部门之间的协调,五花八门的....
cjfeii
发表于 2016-07-22 17:11
架构师要具备强大的技术实力,丰富的编码经验,要有各个系统的工作经验,有快速设计能力,要同时具备写文档和写代码的能力。
此外还应该有良好的沟通能力,已经跨部门的协同能力。
bbjmmj
发表于 2016-07-22 21:15
架构师应该首先熟悉架构,还要了解每个生产环节的情况,并能做出横向比较。好的架构师一定是个精打细算的人。
tangjsc
发表于 2016-07-23 17:18
不写代码的架构师有啥用。
我认同楼主的开篇论点。
vermouth
发表于 2016-08-03 10:39
没人吐槽2006年么?:shutup:
王楠w_n
发表于 2016-08-03 10:40
啥?较好奇回复 26# vermouth
vermouth
发表于 2016-08-03 10:43
回复 27# 王楠w_n
故事背景 十年前。
yehuafeilang
发表于 2016-08-09 16:12
1. 架构师应该做什么工作?
这里主要讨论的是系统/软件架构师吧,对此我觉得主要有以下方面:
1).负责/参与技术架构设计、重构、优化,根据业务规划及技术规划制定应用架构方案;
2).负责/参与系统的架构设计和系统设计、详细设计;
3).参与技术难题攻关,进行技术验证;
4).参与核心功能的架构与代码编写,开发与维护系统公用核心模块;
6).分析系统瓶颈,解决各种疑难杂症,对系统进行性能调优;
7).承担核心功能代码编写,重点项目架构设计开发;
8).深入理解业务需求,分析和发现系统的优化点,负责推动产品性能和架构优化;
9).新人指导、培训,主导技术难题攻关,提升团队整体技术水平;
10).负责公司的技术方向、技术规划,为公司业务发展提供全面的技术保障;
11).研究决策公司技术发展路线,规划公司产品的技术架构;
12).负责协调项目开发或实施的各个环节,把握项目的整体进度;
13).指导建立完善、规范的软件开发流程和高品质的管理体系并参照执行。
2.有了架构师我们会收益什么?
架构师在整个软件开发过程中都起着重要的作用,并随着开发进程的推进而其职责或关注点不断地变化,在需求阶段,架构师主要负责理解和管理非功能性系统需求,比如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等等,此外,架构师还要经常审查客户及市场人员所提出的需求,确认开发团队所提出的设计;在需求越来越明确后,架构师的关注点开始转移到组织开发团队成员和开发过程定义上;在软件设计阶段,架构师负责对整个软件体系结构、关键构件、接口和开发政策的设计;在编码阶段,架构师则成为详细设计者和代码编写者的顾问,并且经常性地要举行一些技术研讨会、技术培训班等;随着软件开始测试、集成和交付,集成和测试支持将成为软件架构师的工作重点;在软件维护开始时,架构师就开始为下一版本的产品是否应该增加新的功能模块进行决策。
3. 架构师需要什么能力?
一般来讲,系统架构师应该拥有以下几方面的能力:
1:拥有10年以上从业经验,8年以上技术开发及团队管理经验,有大中型项目开发经验;
2:具备 4 年以上 C/S 或 B/S 体系结构软件产品开发及架构和设计经验;
3:深厚的技术背景,熟悉多线程开发、服务器集群、负载均衡;
4:具备丰富的大中型开发项目的总体规划、方案设计及技术队伍管理经验;
5:对相关的技术标准有深刻的认识,对软件工程标准规范有良好的把握;
6:具有面向对象分析、设计、开发能力(OOA、OOD、OOP),精通 UML 和 ROSE,熟练使用 Rational Rose、PowerDesigner 等工具进行设计开发;
7:精通大型数据库如 Oracle、Sql Server 等的开发;
8:对计算机系统、网络和安全、应用系统架构等有全面的认识,熟悉项目管理理论,并有实践基础;
9:在应用系统开发平台和项目管理上有深厚的基础,有大中型应用系统开发和实施的成功案例;
10:具备良好的客户需求分析能力、业务和技术方案策划和设计能力;思路清晰,具备很强的文档撰写能力和良好的语言表达能力;
11:精通多种软件构架、设计模式、很强的解决项目开发中技术难题的能力。