Tagged: Software Architecture

[转]作为技术负责人,如何从0搭建公司后端技术栈 0

[转]作为技术负责人,如何从0搭建公司后端技术栈

如何您是一名创业公司的负责人,如何从0搭建公司的后端技术栈。今天要说的后台是大后台的概念,放在服务器上的东西都属于后台的东西,比如使用的框架,语言,数据库,服务,操作系统等等。 整个后台技术栈我的理解包括 4 个层面的内容: 语言:用了哪些开发语言,如:C++/Java/Go/PHP/Python/Ruby 等等; 组件:用了哪些组件,如:MQ 组件,数据库组件等等; 流程:怎样的流程和规范,如:开发流程,项目流程,发布流程,监控告警流程,代码规范等等; 系统:系统化建设,上面的流程需要有系统来保证,如:规范发布流程的发布系统,代码管理系统等等;

[转]架构师不是管理者,是领导者 0

[转]架构师不是管理者,是领导者

俗话说:不想当架构师的程序员不是好程序员。成为架构师,几乎是每位开发者入行初期的共同理想。但架构师并非只是一个单纯的技术岗位,它需要技术能力与综合能力的共同支持。了解架构师的职业定位与主要职责,掌握架构师所需的核心技能,是通往这一高阶职位道路上的必修课。

[转]架构师必须知道的架构设计原则 0

[转]架构师必须知道的架构设计原则

如果一个技术已经存在 2 年,比如现在很火的前端技术 React 和 Vue 等,那么我能预估这个技术大致还有 2 年的生命期,再久就不确定了;如果一个架构或设计原则已经存在 15 年,例如单一职责和依赖倒置原则,我可以预期它还有 15 年甚至更久的生命期。原则是比具体技术更抽象,更接近事物本质,也更经得起时间考验的东西。这些原则沉淀在架构师的脑海中,最终内化成他的 mindset,以潜意识方式影响和指导他的架构和设计工作。

[汇总]构架经验 0

[汇总]构架经验

1. 架构师思维 IT 生涯 | 像架构师一样去思考 架构师角色的演变:从发号施令到与团队合作[好文] 康威定律的影响是一个关键主题:系统的架构反映了组织的结构。 “为什么”这样的提问方式带有评判的味道,例如,“你为什么要采取这种方法”。如果将问题改为“是什么让你决定采用这种方法”,会促使被问者解释他们的想法,而不是为他们的决定辩护,因为当被问及“为什么”时,他们可能会认为自己的决定是不是不正确的。 给架构师: 成为帮助团队架构理解的导师,而不是障碍。公开主动地分享你的知识。 为那些只有你自己感觉到但团队可能没有意识到的挑战寻求指导,来帮助你克服内心的挑战。不要独自承受,支持性的指导有助于你的角色演化。 欢迎来自客户、团队和环境的挑战。这种反馈循环可能会让人感到筋疲力尽,但可以带来巨大的回报。 用你的经验将对话引向你的专业知识告诉你会遇到的挑战。 了解团队的动态、他们的优缺点、他们对工具的掌握,以及他们日复一日地构建应用程序的实际情况。帮助你在正确的时间组织你的输入,在哪里可以带来最大的价值。 成为人际关系的建设者。培养你的软技能,建立起人际网络,从销售团队到产品负责人,从工程经理到技术中小企业。每天都要培养和维护这些关系。 给团队: 为非领域专家总结使用工具的经验,带他们踏上理解之旅。 利用架构师丰富的经验来洞察你可能有的想法、挑战或主意。他们现在是你团队的一员了。 简单明了地表达你的想法、优点和缺点,准备好接受开放性和有挑战性的反馈,构建心理安全感。 把头衔和自负留在门外,拥抱团队环境,向团队里的每一个人学习。在当今的软件设计当中,你对设计过程的影响是真实存在的。 培养你的演讲、沟通和指导技能,并每天使用它们,在快节奏的团队中进行信息交流是至关重要的。 尽你所能留住你的架构师。他们深厚的专业知识对团队的成长和壮大是无价的,不要让他们感到孤立,让他们觉得自己是团队的一部分,是未来解决方案的一部分。     十四年架构师揭秘:要做架构师先要在鸟群中做好鸟 我是如何在阿里做“架构师”的? 我们还需要架构师吗?还需要架构部门吗?我给出的答案是:不需要,因为每个人都应该是架构师。 阿里技术大牛:一份架构师成神路线图! 绝好的的技术整理! 恕我直言,一般像你这种能说会道的技术都不太行 手上有团队,有资源,我要做的是 “找到合适的人,放到合适的位置上”,让每个人发挥各自的所长,而不是我自己再去纠结一些细节。 架构师虽然听起来很高大上,但本质上仍然是工程师,不是忽悠人的江湖骗子。...

[转]看下资深架构师平时需要解决的问题,对比你离资深架构师还有多少距离——再论技术架构的升级之路 0

[转]看下资深架构师平时需要解决的问题,对比你离资深架构师还有多少距离——再论技术架构的升级之路

我目前奋力在技术架构的路上不断前行,虽然中间遇到很多障碍,目前自己感觉,勉强能达到架构师的级别,所以自己感觉还有底气写这篇文章。 之前,我写过篇博文,架构师更多的是和人打交道,说说我见到和听说到的架构师升级步骤和平时的工作内容,这篇文章更多的是从沟通角度分析架构师的升级之道。但我们知道,架构师更多是靠技术拿高薪。 在本文里,我将列些我见到的技术架构平时需要解决的问题,有技术的,也有沟通协调方面的,以这些实实在在的案例,来列举些技术架构需要具备的技能,以此来分析下高级开发如何更高效地升级到技术架构。好了,开场白结束,正文开始。

0

[转]当我们聊技术实力的时候,我们到底在聊什么

1. 技术实力的迷思 俗话说“文无第一,武无第二”,技术就是一种“文”的能力,很多时候我们很难直观看出一个技术人员的实力,但不管是公司招聘的面试,还是公司内部的晋升面评,都需要在较短时间内快速判断一个技术人员的实力。正因为技术实力评价本身没有绝对客观的标准,很多时候都会听到类似的吐槽: “我们组内的 XX 技术实力不如我,竟然他晋升通过了,我却被刷掉了,评委真的是~!@#¥”…… “面试官问的都是什么鬼问题,我知道的基本没问,我感觉他根本不会考察我的技术实力”…… “听说算法和数据结构最能体现程序员的实力,我要好好啃啃《算法导论》”(然而啃完又忘记了)…… ……

[转]构架学习路线图2018 0

[转]构架学习路线图2018

Kamran Ahmed 的 2018 年现代前端开发指南 想要成为一名成功的前端开发者,那么需要学习以下知识点: 学习 HTML 基础知识; 学习一些 CSS; 学习基础的 JavaScript; 了解一下 jQuery:现在新的项目中,jQuery 的使用已经没有那么广泛,了解一下即可; 学习包管理器; CSS 预处理; CSS 框架; CSS 编程方式; 构建工具; 选择一个框架,如 React、Vue 和 Angular; 学习渐进式 Web App; 了解静态类型检查器; 服务器端渲染。

0

[转]如何向小白讲述软件架构发展历程?

1. 什么是架构 计算机科学和程序设计的飞速发展,使得软件设计应用到从航空航天到日常生活的方方面面。单个人开发一段小程序的做法早就过时,大范围协作的工程化时代随即到来。 随着大范围协作的效率问题和软件复杂度的爆炸式增长,管理和技术方面的各种不确定性也爆发性增加,导致软件开发的质量无法得到有效保证,周期和成本无法得到有效控制。 人们一直在寻求找到这些问题的解决办法。然而 Fred Brooks 在 1975 年出版的软件工程圣经《人月神话》中说,没有(能解决所有问题的)银弹(There is no silver bullet)。

0

[转]从业近20年,我对于软件架构这件事的一些思考

本文要点预览:因为软件系统的分布式特点以及开发团队的分布性,了解软件架构的基础变得越来越重要。而在过度设计和毫无设计之间,我们应该把注意力放在对软件系统有重大影响的决策和权衡上。好的架构师应该是团队的活跃分子,不仅能够进行代码协作,还能为团队提供技术指导。软件架构中的沟通环节极具挑战性。C4 模型对软件架构中的沟通环节进行了结构化,从一个上下文图表开始,再逐步深入到系统的各个技术层面。实际上,可以多花一些时间实现好的架构,好的架构能够带来敏捷。

0

[转]微信朋友圈技术之道:三个人的后台团队与每日十亿的发布量

概述 截止到2015年7月,微信每月活跃用户约5.49亿,朋友圈每天的发表量(包括赞和评论)超过10亿,浏览量超过100亿。得益于4G网络的发展,以上数据仍有很快的增长,而且相对于PC互联网时代,移动互联网时代的峰值要来得更加凶猛。比如,2015年元月的流量到了平时的2倍,而峰值则达到了平时峰值的2倍,相当于平时正常流量的5倍,这对整个系统的考验是很残酷的。本次分享将简单介绍微信后台团队的开发模式、微信朋友圈的架构以及在性能上的一些工作,供各位参考。