架构师的成长历程:实践出真知

简介: 说到架构师,大部分程序员与小编一样都会有一个同样的问题:架构师到底与普通程序员有什么区别?他们平时都在做什么?想什么?也许在大部分的普通程序员的眼里,架构师已经成为了他们唯一的一个目标。也正因为架构师是一门建立在科学,工程基础之上的艺术,一个充满魅力,极其有趣的工作;给人带来了一种不被束缚,不按别人的思路走,自由描绘无限风景的期盼。

说到架构师,大部分程序员与小编一样都会有一个同样的问题:架构师到底与普通程序员有什么区别?他们平时都在做什么?想什么?也许在大部分的普通程序员的眼里,架构师已经成为了他们唯一的一个目标。也正因为架构师是一门建立在科学,工程基础之上的艺术,一个充满魅力,极其有趣的工作;给人带来了一种不被束缚,不按别人的思路走,自由描绘无限风景的期盼。

架构师是没有终点的,它是一种技术的体现,只有坚持不懈的专研和努力,“强者愈强”这才是一名架构师的价值所在!

如何“强者愈强”?在架构师的成长历程专题的采访中,张巍(Denny)老师给出了他自己的一些看法。

 

DennyZhang, 架构师,现效力于shopex电商云部门

张巍的简短介绍:早先在EMC从事分布式文件系统的开发,现致力于构建一个高可用,自维护的电子商务云平台。常年痴迷于emacs和linux,近年来玩玩erlang。

从选择方向到自我超越

从对IT行业感兴趣到开始程序员的生活,Denny感觉很多IT人的职业生涯并不是一开始就有着远大的目标提引着我们向前。它倒是像一个不断跌宕的河流,在碰撞中向前。也因为Denny在读大学,读研究生学的都是计算机。自然而然地,慢慢走上IT的道路。做着做着,慢慢发现了乐观。特别通过elisp/emacs能魔术般地解决一些生活中的问题,由此更激发了他想不断超越自我的想法。

从程序员和架构师当中,Denny认为,架构师相比软件开发人员来说,主要只是要求前瞻性更好一些,经验更丰富一些而已。两者之间并没有,也并不应该有清晰界线。就像是linus(Linux核心的创作者)从来也不会以架构师自居,在他看来更不能妄谈架构师的成长之路。唯一值得提的感触就是: 就像是玩超级玛莉一样,每解决一个问题,每受一个搓折,我们的经验值应该要增加的。经验充足了,自然就能预见一些问题,培养一些直觉了。就Denny认为,他还有一段很长很长的路要走。在这里Denny就自我祝愿:希望每过一个月,每过一年,他都能有一个长足的进步。

从团队建设到技能强化

每个架构师都有自己的专长以及自己的研究领域,除了自己的技能提升,加强团队的配合也很重要。从Denny他们的团队建设工作上来讲,由于只有二十来号人,所以更多的是借荐XP的工作方式。对于需要攻关的技术难点和方案选型,主要是通过相关同事在白板讨论,头脑风暴完成的。全过程中,并没有单独的, 不从事开发的manager角色,所以讨论和反馈还是十分深入和及时的。

 

对于Denny个人而言,能够让他投入大量的时间而又非常感兴趣的三点:

  1. linux的实现:在云平台和分布式系统开发中,很多问题的瓶颈都会落脚在linux OS上,或者在linux实现中可以找到一些问题的影子。
  2. emacs的优化:作为有着1万行elisp配置的深度emacs控来说,如何通过emacs来优化工作,优化生活,我有着骨灰级的兴趣。
  3. 如何构建夯棒的分布式服务:如何构造一个自修复,伸缩性强的分布式服务,是我长期以来工作中的主要内容。

就上面三点而言,能够让Denny愿意花大量的时间去做,这正是架构师一种坚持不懈的专研和努力的精神。

从技能培养到自我挑战

成为一名架构师仅仅通过理论学习是不行的,在自我培养的过程中Denny认为最重要的是有一颗积极向上的心。相信自己能不断超越自己,fight with your blood,那么接下来的事情就顺理成章了。在这里Denny还提出了两本对他影响比较深刻的书: 史蒂芬•柯维的<<高效能人士的7个习惯>>和刘未鹏<<暗时间>>。也推荐没有读过的朋友们花一两天从头到尾读一遍,想必一定很有收获。

Denny还给出了加强技能需要注意的三点:

  1. 时刻保持清零的状态: 固有的经验和过强的自我认知,会使人容易忽视别人意见中的有益部分
  2. 深度是广度的副产品: 尤其对于在分布式开发,这样一个快速发展,新技术层出不穷的领域
  3. 多写代码,多接地气:实践出真知

顺便推荐一下Denny他们团队的博客:http://blog.ec-ae.com/

最后,Denny给我们介绍了作为一名架构师最大的挑战,那就是架构的不好。就是"一将无能,累死三军"。这里面困难当然就有很多种:知识广度或深度不够,导致技术选型不当。前瞻性不够,导致拆拆补补。问题分析不够,导致舍本逐末。其中,最重要的一点是,真心想燃烧自己的生命,将事情做到尽善尽美; 对待失误和不足,能彻彻底底做到实事求是就好了。

目录
相关文章
|
3天前
|
存储 SQL 监控
转转平台IM系统架构设计与实践(二):详细设计与实现
以转转IM架构为起点,介绍IM相关组件以及组件间的关系;以IM登陆和发消息的数据流转为跑道,介绍IM静态数据结构、登陆和发消息时的动态数据变化;以IM常见问题为风景,介绍保证IM实时性、可靠性、一致性的一般方案;以高可用、高并发为终点,介绍保证IM系统稳定及性能的小技巧。
17 6
|
23天前
|
存储 缓存 关系型数据库
社交软件红包技术解密(六):微信红包系统的存储层架构演进实践
微信红包本质是小额资金在用户帐户流转,有发、抢、拆三大步骤。在这个过程中对事务有高要求,所以订单最终要基于传统的RDBMS,这方面是它的强项,最终订单的存储使用互联网行业最通用的MySQL数据库。支持事务、成熟稳定,我们的团队在MySQL上有长期技术积累。但是传统数据库的扩展性有局限,需要通过架构解决。
63 18
|
1月前
|
搜索推荐 NoSQL Java
微服务架构设计与实践:用Spring Cloud实现抖音的推荐系统
本文基于Spring Cloud实现了一个简化的抖音推荐系统,涵盖用户行为管理、视频资源管理、个性化推荐和实时数据处理四大核心功能。通过Eureka进行服务注册与发现,使用Feign实现服务间调用,并借助Redis缓存用户画像,Kafka传递用户行为数据。文章详细介绍了项目搭建、服务创建及配置过程,包括用户服务、视频服务、推荐服务和数据处理服务的开发步骤。最后,通过业务测试验证了系统的功能,并引入Resilience4j实现服务降级,确保系统在部分服务故障时仍能正常运行。此示例旨在帮助读者理解微服务架构的设计思路与实践方法。
94 16
|
1月前
|
存储 消息中间件 小程序
转转平台IM系统架构设计与实践(一):整体架构设计
本文描述了转转IM为整个平台提供的支撑能力,给出了系统的整体架构设计,分析了系统架构的特性。
74 10
|
2月前
|
弹性计算 Java 关系型数据库
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
|
1月前
|
负载均衡 Serverless 持续交付
云端问道9期实践教学-省心省钱的云上Serverless高可用架构
详细介绍了云上Serverless高可用架构的一键部署流程
57 10
|
1月前
|
存储 人工智能 运维
面向AI的服务器计算软硬件架构实践和创新
阿里云在新一代通用计算服务器设计中,针对处理器核心数迅速增长(2024年超100核)、超多核心带来的业务和硬件挑战、网络IO与CPU性能增速不匹配、服务器物理机型复杂等问题,推出了磐久F系列通用计算服务器。该系列服务器采用单路设计减少爆炸半径,优化散热支持600瓦TDP,并实现CIPU节点比例灵活配比及部件模块化可插拔设计,提升运维效率和客户响应速度。此外,还介绍了面向AI的服务器架构挑战与软硬件结合创新,包括内存墙问题、板级工程能力挑战以及AI Infra 2.0服务器的开放架构特点。最后,探讨了大模型高效推理中的显存优化和量化压缩技术,旨在降低部署成本并提高系统效率。
|
2月前
|
运维 监控 安全
天财商龙:云上卓越架构治理实践
天财商龙成立于1998年,专注于为餐饮企业提供信息化解决方案,涵盖点餐、收银、供应链和会员系统等。自2013年起逐步实现业务上云,与阿里云合作至今已十年。通过采用阿里云的WA体系,公司在账号管理、安全保障、监控体系和成本管控等方面进行了全面优化,提升了业务稳定性与安全性,并实现了显著的成本节约。未来,公司将持续探索智能化和全球化发展,进一步提升餐饮行业的数字化水平。
|
2月前
|
运维 安全 架构师
架构师工具箱:Well-Architected云治理提效实践
本次分享基于阿里云Well-Architected Framework的最佳实践案例,涵盖企业从上云到优化的全过程。安畅作为国内领先的云管理服务提供商(Cloud MSP),拥有800多名员工,其中70%为技术工程师,为企业提供架构安全、数据智能等技术服务。内容包括Landing Zone与Well-Architected的关系、企业云治理现状及需求分析,重点探讨了安全合规、成本优化、资源稳定性和效率提升等方面的最佳实践,并通过具体客户案例展示了如何通过自动化工具和定制化解决方案帮助企业提升云上业务价值。
|
3月前
|
弹性计算 持续交付 API
构建高效后端服务:微服务架构的深度解析与实践
在当今快速发展的软件行业中,构建高效、可扩展且易于维护的后端服务是每个技术团队的追求。本文将深入探讨微服务架构的核心概念、设计原则及其在实际项目中的应用,通过具体案例分析,展示如何利用微服务架构解决传统单体应用面临的挑战,提升系统的灵活性和响应速度。我们将从微服务的拆分策略、通信机制、服务发现、配置管理、以及持续集成/持续部署(CI/CD)等方面进行全面剖析,旨在为读者提供一套实用的微服务实施指南。