ArchSummit全球架构师峰会2017年深圳站 漫谈
自去年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年深圳站 漫谈的更多相关文章
- 优云软件助阵ArchSummit全球架构师峰会
由极客邦科技与 InfoQ 中国主办的 ArchSummit 全球架构师峰会深圳站,于 7 月 7 日 - 8 日在深圳华侨城洲际酒店举办. 本次大会特邀 100 多位国内外技术专家,与1000余名技 ...
- 【重磅资料】ArchSummit全球架构师峰会·2019华为云技术专场资料下载
ArchSummit全球架构师峰会是InfoQ中国团队推出的重点面向高端技术管理者.架构师的技术会议,54%参会者拥有8年以上工作经验.ArchSummit聚焦业界强大的技术成果,秉承"实践 ...
- 【TEGer 在全球架构师峰会】 : 腾讯海外计费系统架构演进
欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 作者简介:abllen,2008年加入腾讯,一直专注于腾讯计费平台建设,主导参与了腾讯充值中心.计费开放平台.统一计费米大师等项目,见证了米大师 ...
- 2021ArchSummit全球架构师峰会上,大家在聊些什么
大会PPT公开下载链接:https://ppt.infoq.cn/list/assh2021 大会主要情况介绍 2021 ArchSummit全球架构师峰会是该大会正式成立的第十年,是极客邦科技旗下I ...
- 干货云集 WOT 2017全球架构与运维技术峰会揭密技术难点
WOT,World Of Tech专注互联网IT技术领域,是一场不容错过的技术盛会!WOT 2017全球架构与运维技术峰会三大章节,15大技术专场,60+国内外一线互联网精英大咖站台,打造兼顾技术视野 ...
- GIAC2018全球互联网架构大会深圳站盛况回顾,定格精彩瞬间!
6月1日至2日,由知名软件培训公司msup和高可用架构联合推出的GIAC全球互联网架构大会在深圳华侨城洲际大酒店盛大召开.来自国内外顶级互联网公司.诸多著名科技图书作者在内的71名海内外著名专家与现场 ...
- GIAC深圳站 | 2018年不可错过的全球互联网架构大会!
2018年6月1~2日,GIAC 全球互联网架构大会将于深圳华侨城洲际酒店举行!GIAC全球互联网架构大会是由msup和高可用架构技术社区联合举办的面向架构师.技术负责人及高端技术从业人员的技术架构大 ...
- 2017最新技术java高级架构、千万高并发、分布式集群、架构师入门到精通视频教程
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩展. ...
- GOPS2017全球运维大会深圳站 出席嘉宾盘点!
去年,GOPS全球运维大会在深圳出发,当时门票提前几周收盘,2017年,承载着运维人的期望,GOPS全球运维大会再次来到了深圳.第六届GOPS2017全球运维大会深圳站(本次)将于2017年4月21日 ...
随机推荐
- struts2.1.6教程三、在Action获取Scope对象
引言:在前面的Action操作中,关键就是Action中的exectue方法,但是此方法并没有request.session.application等对象作为参数,自然就不能利用这些对象来操作.下面我 ...
- Dubbo微容器(Cooma)详解
ExtensionLoader ExtensionLoader是Dubbo中的SPI的实现方法,它是Dubbo框架的微容器,也为框架提供各种组件的扩展点 三种注解 SPI Adaptive Activ ...
- Java ClassLoader 原理分析
一.ClassLoader(类加载器)的作用 如果一个程序包含不止一个class文件,那么当程序启动时,带有main方法的类的class文件作为程序入口先被JVM加载,然后根据程序调用的需要,再逐步进 ...
- Local模式下Spark程序只输出关键信息
使用spark-submit提交local任务时,会输出很多Info信息: ------------------------------------------- Time: ms --------- ...
- netty心跳机制测试
netty中有比较完善的心跳机制,(在基础server版本基础上[netty基础--基本收发])添加少量代码即可实现对心跳的监测和处理. 1 server端channel中加入心跳处理机制 // Id ...
- 【源码分享】jquery+css实现侧边导航栏
jquery+css实现侧边导航栏 最近做项目的时候,突然想用一个侧边导航栏,网上找了几个插件,有的太丑而且不太符合我的预期.与其修改别人的代码,不如自己来写一个了.废话不多说先上图,感兴趣的请继续看 ...
- Oracle查询数据出来乱码问题?
为什么Oracle 查询出来的数据会产生乱码? 安装的数据库和客户端编码编码不一致就会产生乱码,要想解决此问题改一下客户端的编码即可 1. select * from table; 如果是这种问题 ...
- C# 并行任务——Parallel类
一.Parallel类 Parallel类提供了数据和任务的并行性: 二.Paraller.For() Paraller.For()方法类似于C#的for循环语句,也是多次执行一个任务.使用Paral ...
- java 中变量存储位置的区别
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字 ...
- MVC 5限制所有HTTP请求必须是POST
今天有位同事,提出了这样一个问题,他想限制所有MVC接收到的HTTP请求必须是POST方式. 接下来在下面的内容中,将我想到的方式分享给大家,如果大家有其它的方式,请留言. 一.HttpPostAtt ...