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

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

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

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

如何“强者愈强”?在架构师的成长历程专题的采访中,张巍(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给我们介绍了作为一名架构师最大的挑战,那就是架构的不好。就是"一将无能,累死三军"。这里面困难当然就有很多种:知识广度或深度不够,导致技术选型不当。前瞻性不够,导致拆拆补补。问题分析不够,导致舍本逐末。其中,最重要的一点是,真心想燃烧自己的生命,将事情做到尽善尽美; 对待失误和不足,能彻彻底底做到实事求是就好了。

目录
相关文章
|
29天前
|
运维 持续交付 云计算
深入解析云计算中的微服务架构:原理、优势与实践
深入解析云计算中的微服务架构:原理、优势与实践
64 1
|
9天前
|
弹性计算 Java 关系型数据库
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
|
28天前
|
弹性计算 持续交付 API
构建高效后端服务:微服务架构的深度解析与实践
在当今快速发展的软件行业中,构建高效、可扩展且易于维护的后端服务是每个技术团队的追求。本文将深入探讨微服务架构的核心概念、设计原则及其在实际项目中的应用,通过具体案例分析,展示如何利用微服务架构解决传统单体应用面临的挑战,提升系统的灵活性和响应速度。我们将从微服务的拆分策略、通信机制、服务发现、配置管理、以及持续集成/持续部署(CI/CD)等方面进行全面剖析,旨在为读者提供一套实用的微服务实施指南。
|
24天前
|
运维 监控 Java
后端开发中的微服务架构实践与挑战####
在数字化转型加速的今天,微服务架构凭借其高度的灵活性、可扩展性和可维护性,成为众多企业后端系统构建的首选方案。本文深入探讨了微服务架构的核心概念、实施步骤、关键技术考量以及面临的主要挑战,旨在为开发者提供一份实用的实践指南。通过案例分析,揭示微服务在实际项目中的应用效果,并针对常见问题提出解决策略,帮助读者更好地理解和应对微服务架构带来的复杂性与机遇。 ####
|
27天前
|
NoSQL Java 数据处理
基于Redis海量数据场景分布式ID架构实践
【11月更文挑战第30天】在现代分布式系统中,生成全局唯一的ID是一个常见且重要的需求。在微服务架构中,各个服务可能需要生成唯一标识符,如用户ID、订单ID等。传统的自增ID已经无法满足在集群环境下保持唯一性的要求,而分布式ID解决方案能够确保即使在多个实例间也能生成全局唯一的标识符。本文将深入探讨如何利用Redis实现分布式ID生成,并通过Java语言展示多个示例,同时分析每个实践方案的优缺点。
61 8
|
24天前
|
算法 NoSQL Java
微服务架构下的接口限流策略与实践#### 一、
本文旨在探讨微服务架构下,面对高并发请求时如何有效实施接口限流策略,以保障系统稳定性和服务质量。不同于传统的摘要概述,本文将从实际应用场景出发,深入剖析几种主流的限流算法(如令牌桶、漏桶及固定窗口计数器等),通过对比分析它们的优缺点,并结合具体案例,展示如何在Spring Cloud Gateway中集成自定义限流方案,实现动态限流规则调整,为读者提供一套可落地的实践指南。 #### 二、
48 3
|
26天前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
89 5
|
23天前
|
消息中间件 运维 安全
后端开发中的微服务架构实践与挑战####
在数字化转型的浪潮中,微服务架构凭借其高度的灵活性和可扩展性,成为众多企业重构后端系统的首选方案。本文将深入探讨微服务的核心概念、设计原则、关键技术选型及在实际项目实施过程中面临的挑战与解决方案,旨在为开发者提供一套实用的微服务架构落地指南。我们将从理论框架出发,逐步深入至技术细节,最终通过案例分析,揭示如何在复杂业务场景下有效应用微服务,提升系统的整体性能与稳定性。 ####
35 1
|
28天前
|
监控 Serverless 云计算
探索Serverless架构:开发实践与优化策略
本文深入探讨了Serverless架构的核心概念、开发实践及优化策略。Serverless让开发者无需管理服务器即可运行代码,具有成本效益、高可扩展性和提升开发效率等优势。文章还详细介绍了函数设计、安全性、监控及性能和成本优化的最佳实践。
|
24天前
|
监控 安全 持续交付
构建高效微服务架构:策略与实践####
在数字化转型的浪潮中,微服务架构凭借其高度解耦、灵活扩展和易于维护的特点,成为现代企业应用开发的首选。本文深入探讨了构建高效微服务架构的关键策略与实战经验,从服务拆分的艺术到通信机制的选择,再到容器化部署与持续集成/持续部署(CI/CD)的实践,旨在为开发者提供一套全面的微服务设计与实现指南。通过具体案例分析,揭示如何避免常见陷阱,优化系统性能,确保系统的高可用性与可扩展性,助力企业在复杂多变的市场环境中保持竞争力。 ####
41 2

热门文章

最新文章