自去年6月跳槽到某CDN厂,从偏向移动端开发又回到了专注后端,关于做一个移动应用独立开发者的计划暂时搁置,但是如马云所讲: "梦想还是要有的,万一实现了呢"。去年下半年辛苦加班加点干活,但是却乐于其中,随着团队规模扩大,现在负担小多了。不仅仅是涉及时髦的大数据技术,而是体会到了很多非纯粹编码的道,不再死守XX编程语言,毕竟产出效率为王,更何况虽然是在大公司内,但实际也可看作是创业部门,除了极个别领域,大部分是业务驱动产品开发,技术仅仅是作为落地的工具,技术随着产品演化到某个阶段也会随着变化,并非一成不变,具体到编程语言更是如此,保持开放的心态很重要,不要守着"人生苦短,我用python", 亦或"PHP是世界上最好的语言"这类;关注不仅仅聚焦在开发阶段,而是放到从需求到开发,测试,部署运营,以及中间的规范流程,需要为最终的产出负责,而非固执在沉迷在某项牛B技术,或对某个巧妙设计沾沾自喜;看起来灵活的设计似乎有助于产品有效落地,但很可能引起复杂度的增加,通过看似毫无技术含量的约定来达到目的,简单即是美嘛,我觉得是契合了Design by Contract。总之,除了技术上的成长外,其它方面也得到锻炼,可以说这次选择是自毕业以来在所待过的大小厂中收获最大的,即使曾经在BAT某厂呆过。

本来这篇文章是为了这次架构师峰会写的,忍不住先把这一年的经历,感悟一吐为快,现在来漫谈下本次峰会的自己的一些体会。

不得不吐槽下专题中的每个演讲都是45分钟,有的讲师PPT灌了太多内容,流于牛B功能的描述,而淡化了设计方面的演讲。但是自己听过的演讲中,有的确实给人耳目一新,打破自己的狭隘的观念。

千米网首席架构师曹祖鹏老师带来的<<从大厂到创业公司,架构师经历的三次转身>>印象最深刻。其中他将软件复杂度分为两种:一个是领域问题的复杂,这个是本质性复杂;另一个是称之为偶然复杂,即开发工具顺手,框架不好用,开发模式等等。很多开发人员,包括我,往往沉迷在技术,框架,工具的,即重点放在了偶然复杂上,而忽略了本质性复杂,把业务领域问题丢给了产品经理,而这个现在看来是一个不合格架构师的表现。"架构师!=框架师”:一语中的。进一步,曹老师给了他自己的关于如何做业务的看法:领域驱动设计和微服务架构关系,SOLID设计原则,命令查询职责分离模式,event sourcing等等设计原则。讲得虚一点的概括就是:梳理、分解、抽象业务需求并落地这是一个架构师的价值体现,也是架构师的竞争力所在。加上自己的一些经历体会,架构师不是简单的技术选型(或曹老师提到的拿着锤子找钉子),或者靠听几场鸡汤演讲和网上看各大牛人、大厂的关于XXX系统的设计文章就可以照猫画虎设计出优秀的架构,更多的是从实战,教训中得到成长,并联系理论进行总结、又反馈、指导实践,形成一个正向循环。当然合格、优秀架构师不仅仅是上面提到的方面,其他方面可以等过一段时间本次峰会的PPT公开出来后,有兴趣的同学下载看看哈。

爱因互动CTO 洪强宁老师的<<从程序员到架构师,从架构师到CTO>>:对 a good programmer定义了5个精:精细,精湛,精通,精深,精明,分别对应细节之处深思熟虑(如代码结构、封装),简洁、优雅、高效的代码,了解上下游知识(全栈、devops),掌握技术细节(语言、算法原理细节),准确交付(理解需求、优先级);a good architect: 取舍,前瞻,抽象,容错。后面洪老师提的architect到CTO的一个对比给我留下的深刻印象:架构师:用什么技术才能”支撑”业务,CTO:用什么技术才能“发展”业务。

另外在大数据框架专题中,首先是LinkedIn的Samza介绍,作为后来者,它catch到spark本身框架的痛点(目前,自己用redis作为statdb, 而remote db访问通过broadcast+kafka)并进行改进,其实后面提到的Apache Beam的支持才是一个关键点,目前各种离线、实时流计算框架层出不穷,他们的API及构建不一样,而通过一个统一的框架来封装这些差异,使得数据分析人员可以把时间放在真正有效产生价值的业务分析上。在第二个演讲中,来自网易的Sloth流计算平台(据称年底开源)则是从sql方向来统一离线,流计算,可能主要是考虑大部分的数据分析人员是以前写sql出分析报表,如果能将传统的sql转成现在的离线、流计算,将大大减轻分析人员学习成本。其实对sql的支持,也是目前多个大数据计算框架的目标之一,出发点也是重用分析人员sql技术考虑, 但是没有网易如此技术产品化的易用性的体验吧。这两种不同计算框架平台的演进方式,哪一种更好呢,个人更倾向并存,对于复杂的业务分析用sql要写出多大一坨东西呢,而简单的关系型的聚合分析, sql may be a good choice.

写于 汉庭酒店

ArchSummit全球架构师峰会2017年深圳站 漫谈的更多相关文章

  1. 优云软件助阵ArchSummit全球架构师峰会

    由极客邦科技与 InfoQ 中国主办的 ArchSummit 全球架构师峰会深圳站,于 7 月 7 日 - 8 日在深圳华侨城洲际酒店举办. 本次大会特邀 100 多位国内外技术专家,与1000余名技 ...

  2. 【重磅资料】ArchSummit全球架构师峰会·2019华为云技术专场资料下载

    ArchSummit全球架构师峰会是InfoQ中国团队推出的重点面向高端技术管理者.架构师的技术会议,54%参会者拥有8年以上工作经验.ArchSummit聚焦业界强大的技术成果,秉承"实践 ...

  3. 【TEGer 在全球架构师峰会】 : 腾讯海外计费系统架构演进

    欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 作者简介:abllen,2008年加入腾讯,一直专注于腾讯计费平台建设,主导参与了腾讯充值中心.计费开放平台.统一计费米大师等项目,见证了米大师 ...

  4. 2021ArchSummit全球架构师峰会上,大家在聊些什么

    大会PPT公开下载链接:https://ppt.infoq.cn/list/assh2021 大会主要情况介绍 2021 ArchSummit全球架构师峰会是该大会正式成立的第十年,是极客邦科技旗下I ...

  5. 干货云集 WOT 2017全球架构与运维技术峰会揭密技术难点

    WOT,World Of Tech专注互联网IT技术领域,是一场不容错过的技术盛会!WOT 2017全球架构与运维技术峰会三大章节,15大技术专场,60+国内外一线互联网精英大咖站台,打造兼顾技术视野 ...

  6. GIAC2018全球互联网架构大会深圳站盛况回顾,定格精彩瞬间!

    6月1日至2日,由知名软件培训公司msup和高可用架构联合推出的GIAC全球互联网架构大会在深圳华侨城洲际大酒店盛大召开.来自国内外顶级互联网公司.诸多著名科技图书作者在内的71名海内外著名专家与现场 ...

  7. GIAC深圳站 | 2018年不可错过的全球互联网架构大会!

    2018年6月1~2日,GIAC 全球互联网架构大会将于深圳华侨城洲际酒店举行!GIAC全球互联网架构大会是由msup和高可用架构技术社区联合举办的面向架构师.技术负责人及高端技术从业人员的技术架构大 ...

  8. 2017最新技术java高级架构、千万高并发、分布式集群、架构师入门到精通视频教程

    * { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩展. ...

  9. GOPS2017全球运维大会深圳站 出席嘉宾盘点!

    去年,GOPS全球运维大会在深圳出发,当时门票提前几周收盘,2017年,承载着运维人的期望,GOPS全球运维大会再次来到了深圳.第六届GOPS2017全球运维大会深圳站(本次)将于2017年4月21日 ...

随机推荐

  1. sparklyr包:实现Spark与R的接口

    日前,Rstudio公司发布了sparklyr包.该包具有以下几个功能: 实现R与Spark的连接—sparklyr包提供了一个完整的dplyr后端 筛选并聚合Spark数据集,接着在R中实现分析与可 ...

  2. Libevent源码分析—event_init()

    下面开始看初始化event_base结构的相关函数.相关源码位于event.c event_init() 首先调用event_init()初始化event_base结构体 struct event_b ...

  3. 我做的第一个程序(菜鸟的java课堂笔记)

    内存: 堆区,栈区,常量区,计数区,代码区: 数据类型: 基本数据类型:整形,浮点型,布尔型 boolean 只能返回真假值,字符型: 引用数据类型:类,数组: 基本数据类型-->直接存放到栈区 ...

  4. 事件总线(Event Bus)知多少

    源码路径:Github-EventBus 简书同步链接 1. 引言 事件总线这个概念对你来说可能很陌生,但提到观察者(发布-订阅)模式,你也许就很熟悉.事件总线是对发布-订阅模式的一种实现.它是一种集 ...

  5. div,css命名规范!

    命名规则说明: 1).所有的命名最好都小写 2).属性的值一定要用双引号("")括起来,且一定要有值如class="pcss5",id="pcss5& ...

  6. Android搞事篇——使用Intent跳转界面

    跳转页面基本分为三个步骤: 1.初始化一个intent:(一个intent就够用了): 2.传入intent参数: 3.调用startactivity();实现跳转页面 具体操作如下 首先你需要一个项 ...

  7. D语言需要大公司支持

    Facebook开源flint:一个用D语言编写的C++静态代码分析器 http://www.csdn.net/article/2014-02-27/2818565-Building-and-open ...

  8. JavaScript用二分法查找数据等

    //二分法查数据 var arr=[41,43,45,53,44,95,23]; var b=44; var min=0; var max=arr.length; for(var i=1;i<a ...

  9. Ext表格分页

    pageSize:配置表格或者数据的数量, autoLoad: { start: 0, limit: 2 }:自动加载时候的参数, proxy中:params: {start: 0,limit: 2} ...

  10. DB2简介和安装部署

    一.DB2相关概念 1.DB2体系结构: DB2体系结构中的最高一层是系统,一个系统表示DB2的一个安装.在由很多机器组成 的网络环境中,我们有时=也称系统为数据库分区,一个系统可以包含多个DB2实例 ...