自去年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. TP框架 增删查

    TP框架添加数据到数据库1.使用数组方式添加造模型对象 2.使用AR方式 强类型语言存在的方式 3.使用自动收集表单添加 :只能用POST方式,提交数据一个操作方法实现两个逻辑:A显示页面B得到数据 ...

  2. data.table包简介

    data.table包主要特色是:设置keys.快速分组和滚得时序的快速合并.data.table主要通过二元检索法大大提高数据操作的效率,同时它也兼容适用于data.frame的向量检索法. req ...

  3. iOS安全攻防之结构体保护使用

    Objective-C 代码很容易被 hook,因此需要对一些重要的业务逻辑进行保护,可以改用结构体的形式,把函数名隐藏在结构体里,以函数指针成员的形式存储.这样编译后只留了下地址,去掉了名字和参数表 ...

  4. 为什么各大厂商要抢先跟进H.265?

    继爱奇艺.乐视等视频厂商宣布支持 H.265 高清视频后,2014 年 4 月,搜狐视频宣布正式上线视频行业首个 H.265 高清大片专区,可在线观看 200 余部当下最火的超高清大片.国外 BBC ...

  5. Java 9 揭秘(1.Java入门介绍)

    文 by / 林本托 在第一部分中,主要讲解如下内容: JDK 9 包含了哪些内容 运行代码的系统要求 如何安装 NetBeans 1 JDK 介绍 JDK 9是Java开发工具包的第九个主要版本,计 ...

  6. HTML5笔记3——Web Storage和本地数据库

    上一篇:HTML5笔记2——HTML5音/视频标签详解 Web Storage概述 在HTML5中,除了Canvas元素之外,另一个新增的非常重要的功能是可以再客户端本地保存数据的Web Storag ...

  7. RabbitMQ安装配置和基于EasyNetQ驱动的基础使用

    一.RabbitMQ基本概念和原理 1.AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计. 2.Ra ...

  8. Java对【JSON数据的解析】--官方解析法

    要求:解析下面5个JSON数据 1.String string ="{name:'zhangsan',age:18}"; 2.String string2 = "{per ...

  9. Ch.3 Aray and String

    3-1 scrore  Here is a string with o and x. The length is between 1 to 80. Calcuate the score. The sc ...

  10. Dom元素的Property和Attribute

    Attribute就是DOM节点自带的属性,例如html中常用的id.class.title.align等: 而Property是这个DOM元素作为对象,其附加的内容,例如childNodes.fir ...