ThoughtWorks和崛起的中国开源软件

最近,一份来自Adobe开发者Fil Maj的分析报告吸引了我们的注意,他通过GitHub公开的REST API,对2017年内GitHub上超过200万活跃用户(活跃意味着对公开项目超过10次提交)的数据进行分析,得出了关于开源世界贡献力量的公司排名:

从这份排名上,我们可以有一些非常有趣的发现

像早期拥抱开源的组织如Google,彻头彻尾的开源先锋Red Hat,以及诸多业界开源标准的制定者参与者如IBM、Intel,它们相应的排名位置并不令人惊讶。

相反,微软位居第一的事实让人大跌眼镜(或者说眼前一亮)。那个曾经谴责开源是“癌症”后者“反美”的微软已经一去不复返了,它在商业模式上积极寻求改变的姿态,让世人对它这些年的进步有目共睹,尤其是它一直以来对于开发者价值的珍视,吸引了越来越多的开发者踊跃加入到Azure平台中来。

让我们更加欣喜的是ThoughtWorks处于第八名的位置,考虑到我们目前全球只有3000名左右开发者,700多名开源贡献者的数字意味着我们有四分之一的开发者拥有对开源积极的热情。我们相信开源的力量,不仅对于业界知名的开源软件贡献努力,也开源了自有的软件产品——Go(开源持续交付服务器)、Gauge(开源测试自动化工具)。

值得注意的是,中国的软件公司阿里巴巴、腾讯和百度也榜上有名,这也一洗过去它们更多是开源软件消费者的印象,一跃成为在开源世界不可小觑的力量。我们耳熟能详的WeexDruidEChartsAtlas还有BeeHive因为国内广泛而特殊的应用场景,在国际市场也受到了空前的关注。

可以看出,从这个巨大而繁荣的软件市场向GitHub等开源网站发布的开源项目的数量正在持续增多,质量也将持续提高。这也是为什么我们会将“崛起的中国开源软件市场”作为上一期ThoughtWorks技术雷达的主题之一。我们相信,星星之火终成燎原之势,中国软件生态也将伴随着经济扩张而加速成长。

Share

成熟开发者的“元品质”

有时候我回首望过这些年走过的职业路径,从开发到测试,参与技术社区,兼职编辑,到今天这样一个“跨界”的角色,心中没有放下过的一直是对开发者这个身份的认同。

我喜欢跟有技术内核的人在一起,击键如飞,改变世界,内心沉浸,性格单纯。虽然会觉得忝列其中而觉羞愧,但这也是我“跨界”的基础,久而久之,反而会有新的发现。

目睹着周围的同事们越来越年轻,他们有冲劲,无限的精力和好奇心,像是随时都会在我面前宣布他们终究要把我远远地甩在时间的后面。但我也不断地发现,他们在走的路以及会落下去的坑,都是那么熟悉,好胜之心,求快求新,很多东西浅尝辄止,拿着锤子四处找钉子。

也许这就是人生吧,甚至无关乎职业,人注定要在不断体验失意和收获教训之后,才从无知无畏走向敬畏和宽容。

但我周围仍旧存在这样一些开发者,他们除了那些通用的开发者品质外,更显从容和优雅,对软件,对世界,对内心有更成熟的理解和认知。他们“上得厅堂,下得厨房”,面对高大上的客户可以雍容不迫,撸起袖子干活也可以尽显极客本色,更重要的是,他们更懂得自己的存在是为了改善这个世界上另外一个地方一些人的命运,并从未停止去追逐。

所以我在想,除了那些通用的开发者品质,是不是可能还存在一些品质,可以让我们的开发者快速地成熟起来?除了要对新技术和趋势保持敏感,对工具和语言保持兴趣并熟练掌握,趁着年轻一年又一年挥洒不尽的精力和时间之外,还有没有一些品质存在,是年轻的开发者可借以成熟的路径,或者可供参考的方向?

我愿意把这些叫做成熟开发者的“元品质”。

有人文心

行业的隔膜加上互联网的便捷,让现代的年轻开发者不用顾及太多专业外的知识,就可以在比特海里畅游不停。我们可以在虚拟的世界里,完成我们几乎所有的生活和工作所需,一切伸手可触但圈子却越来越小,不经意间把自己禁锢在一个以为可以自给自足的小世界里。

这样失去的是对周遭环境和人的感知,失去的是对更大世界现实感的体会,失去的是对自我能力和未来的认知(高估或者低估),还有对自己能改变周遭甚至世界的可能的探知。

读史,读传记,读一切可以让自己有人文心的信息,可以感知自己的渺小,这样不会再有无知的虚妄无畏,也可以知晓未来通向的方向和自己的未来之路。

有宽容心

很早之前看过一本书,《做单》,作者是IBM的金牌销售胡震生。书里详述了他作为销售的经历,抛开那些触目惊心以及不断刷新我认知的销售经过之外,让我体验最深的,是他作为销售人员所体现出来的对他人的宽容心,和对人性的敬畏心。不管对待自己想要拿下的客户,还是面对自己团队的同事,用自己的包容处处为之着想一一化解掉对方的猜忌和不满。而最后单子做成只是产生的副作用而已。

当开发者需要去承担更大职责,或者被置身于一个比独立开发更加复杂的环境时,所面临的局面和接触的人都发生了很大的变化。工作方式和风格的不同所产生的摩擦会容易让我们失去耐心。只包容自己,无意识下伤及合作伙伴的行为,会被简单地斥以情商低。

而多方共赢,甚至牺牲自己成就他人是最难的吧。从更高的层面来思考整个系统的运作方式,以及不同利益相关者的需求,结合从他人出发角度,来寻找多方共赢的可能方案。

不管是客户,还是自己团队的同事,想想他们的诉求,工作上的诉求,私人的诉求,是否跟我们自己有更大的重合面。而寻找到了就是幸运,加持以耐心和包容心,这才是我理解的成功。

有勇气

有勇气,不代表无知者的无畏,而是代表在面临困难或者诱惑的时候,对自己原则的坚持和自信。

我见过很多次,开发者在面临客户的威逼利诱时候的不知所措,在面对遗留系统代码,不重构,不测试,不尝试的推脱:

因为这个迭代太紧张,因为客户很着急。

偷懒和没有原则,失去的不仅仅是自己练习实践的机会,还有将来被各种理由裹挟的可能,更重要的是距离成为一个具备独立思考力和可被委以重任的开发者也越来越远。

会写作

不只是我自己,越来越多人开始意识到,在现在这样注意力容易缺失,四处追求快速的环境下,开发者更容易堕落成简单的问题解决者,而不是有系统思考能力的设计者和决策者。

我们更像是缺乏一种摆脱现实窘境(欲罢不能,饮鸩止渴)的方式,而在寻找之后似乎都指向了同样的方向——写作

一个人再怎么呼吁也是苍白的,让我们看看更多的人怎么说,下面是我很认可的几个:

回到写作这件事情,抛开那些“总有一天”才能实现的好处外,眼前的好处无外乎就是帮助我们记录理解消化沉淀学到的知识了。不过我们的内心里总有一个声音反复出现:反正书看了,Session听了,感觉知识已经学会了,那还值得花时间写么?我用这个时间多学点东西不更好?

你越是不开始书写,总是拿有限的思维缓存去默想一个问题,就越是没有内容可以写,如果你逼着自己将一些不成熟的想法写下来,看着自己写的内容,试着进一步拓展它们,就有可能在理性的道路上走得很远,很远。

我喜欢写作,并认为写作是最好的学习过程,它像是设计思维里知识漏斗的颈,把你以往的、现在的、以及新发现的知识融合在一起,汇聚成落在纸上的文字,这是我一直保持写作热情的秘诀。

愿意思考的人很多,很多人比我想得更深入更广阔,但愿意写出来的人不多,这太可惜了。其实写作是个熟练工,哪怕一开始没有感觉,写写就会有感觉的。我希望有越来越多的朋友认真写作,既为自己营造了高质量的社交,也让这个世界更美好。

我们可以看到写作对于我们个人由内到外的很多方面,都有积极的意义:

  • 帮助提升思考的能力
  • 提高学习的效率
  • 打造个人在专业性上的名声
  • 延伸人脉和职业发展的可能

而这些意义,又有哪个不是开发者需要的呢?

最后

人活着的意义和人生的价值就在于提升心性、磨炼灵魂。

——《活法》


更多精彩文章,请关注微信公众号:软件乌托邦

Share

从校园到职场,你可能会面临的几个问题

首先,我想恭喜看到这篇文章的、刚刚离开校园不久的你,恭喜不仅仅是因为你加入了ThoughtWorks、加入了我们,而是你开始了崭新的职业生涯,这是一段新的旅程,而从很长的时间来看,这段人生旅程会很精彩。

很多新鲜的事物,在等着你。新的公司、新的朋友、新的工作环境,还有新的技术、新的项目,都需要自己来慢慢体验和适应。面对这全新的体验,我想很多人会充满期待,我记得自己当年也是一样,虽然每天奔波在通勤的路上,但心里充满希望,不觉辛苦。

1-twu_cheer

伴随着新鲜体验一起的,还会有一些问题在等待着我们,这些问题可能是自己脑子里想到的,也可能是出乎我们意料的。坦白地讲,开始工作后,乃至工作很多年,问题还是会一个一个接踵而至,考验着我们,怎么去面对它们,怎么去克服它们。我工作十几年,挑战我的问题还不断出现。而你从校园到职场这段时间面临的几个问题,只是个开始。

你可能不是计算机科班出身,但你通过了面试,也许手里只有这样一个offer,或者放弃了其他所有的offer,就为了心中所爱的代码和工作体验,从你的校园来到了一个企业,对一切充满了好奇疑问,但也有点担心和迷茫,面临诸多工作上的挑战和对行业的未知,不知道自己能不能顺利的过渡和融入。

但好在我们可以现在一道,来看看可能会有哪几个问题,用我和同事们的经验,帮助你了解和熟悉这几个问题,然后尽快去克服它们,更多体验新的职业生涯所带来的美好。

公司,不再是学校

首先来聊我们的工作环境,告别校园进入社会,公司是我们要熟悉的第一个环境,或者说组织,或者就是一个办公室。你会慢慢体验到一个公司组织跟学校的很多不同,比如学校有老师、有食堂、有宿舍、有实验室,而公司只有同事。

berlino21_2x

跟学校和老师以传道授业解惑为主不同,公司有自己的运营方式和目标,有的公司唯一的目标就是客户和赚钱,而有的公司会建立自己的使命并围绕它打造自己的文化和氛围。比如ThoughtWorks有自己的“三根柱子”。

所以每个企业组织都有自己的目标诉求,以及围绕它们建立起来的文化和组织结构,还有所有的经营活动。公司有不同的部门,比如有销售,有市场,有人力团队,还有财务和运营支撑团队,更有像你我这样的工程师团队,所有人共同构成了公司的经营活动。

我们会有不同的项目团队,由不同数目和角色的同事组成,对应一个特别的客户组织。为客户设计开发产品或者软件系统,解决客户的业务问题,或者帮助客户创新抢占市场。

新人如你,需要尽快从同事那里了解公司的目标和文化,验证自己的想法是否能够和组织的目标和文化相融合,这可以从同事的工作方式和态度上耳濡目染。对于还未服务过任何客户的新人来说,这种再正常不过的日常工作活动对你来说也是新的体验,最先需要学习的就是谦虚学习的精神和职业化的态度,多观察同事的做法,不着急下判断和结论,你跟同事也许会有技术技能的差异,但我们需要共同表现出职业精神和对客户负责任的态度,多向同事请教。

也许过了几周,甚至过了几天,你会发现这个组织,这里的环境和人,跟你的预期有所不同,甚至会觉得跟招聘MM以及你的师兄师姐在做校园招聘时的描述不同,心里出现了落差和怀疑。在我看来,这也很正常,别人嘴里的描述、自己的感受和真实的情况之间,总会有些许的空档,而寻求其中的原因是我们所鼓励的。你可以自我表达出来,从你的同事那里,从我们的HRMM那里,或者从公司的邮件组里面寻求帮助。

总的来说,你是从校园——一个别人为你负责的环境,到了一家企业——一个你需要为自己负责的环境里,你心理和态度上的转变更重要,而ThoughtWorks会给你诸多其他组织不能给予的宽松环境,来表达,来试错。所以,不要轻言放弃。

同事,不再是同学

如果说毕业前,在校园里周围多是你的同学老师,在那里共同学习和研究课程问题,那么加入ThoughtWorks,你会进入一个专门的项目团队,你是跟你的同事一起,服务于某个特定的客户。

你会发现,你的团队同事里面有资深的人,也有跟你差不多经验的人,他们的背景各不相同。而你会发现这会是ThoughtWorks这个环境中最有趣的一部分,不同身份背景的人构成了你的团队,而由此所带来的思想上的冲击和灵感碰撞,会给每天的专业工作带来各种可能。

突然你会发现,你左手边这个在写代码的同事,之前竟然是一名可爱的士兵,部队的纪律和严肃构成了他品格上的端正和高效执行力,而你右手边的同事是个之前从ThoughtWorks离职过又重新加入这家公司的姐姐,有丰富的前端技术经验。是什么吸引了这样的一帮人在你的周围,在一个团队中,你可以问,你也可以学会很多。

2-together

而且正如你加入之前所了解到的,公司的牛人很多,下面是来自我同事的描述:

这里有很多很优秀的人,更重要的是,他们完全不吝啬将自己的经验、经历、思考问题的过程拿出来跟人分享。当看到他们的邮件和博客,我就有种感觉,这些人的存在完全就是为了在你前行的路上亮起一盏灯光,甚至供你仰望的。但这种感觉很好。当你困惑的时候有人诉说,当你懈怠的时候知道其他人都在干什么。

这样不同身份背景和来历的人,构成了一个再普通不过的ThoughtWorks项目团队,用符合我们价值观的工作方式,为我们的客户交付价值。我们需要的是,团队中的人能高效地协作和互相学习,用我们的专业态度。

而你需要做的,仍然是多加观察,看看你的同事怎么和客户沟通,从一封邮件的撰写,到一个会议的举行,看同事怎么写代码,看团队怎么做回顾。

一个人面对

也许突然,你发现自己才进入公司一个月左右,就需要独自面对挑战,比如像我这两位同事说的:

第一次做开源项目,第一次做公开演讲 – AgileChina,第一次做售前,第一次做咨询,第一次被人骂代码写得差,第一次把项目做失败……如果没有ThoughtWorks这个平台,可能我依然在过着庸庸碌碌的日子,抱怨现实的压力但又不敢去设计自己的未来。

TW是个很“新鲜”的地方,新鲜的项目,新鲜的团队,新鲜的客户,新鲜的工作地点。”新鲜” 对于我来说,有时的确是一种挑战。一个人出差,一个人去客户现场,第一次出国,第一次独自在国外过春节,第一次和客户开会,第一次给客户做showcase,第一次讲session, 第一次做校园宣讲… 很多当时看起来很艰难的事情,也不知道怎么就过去了。嗯,大概没有过不去的坎吧。所以就在这样的状态中,在TW待了两年。技术提升不算,做事情、沟通、自信等方面得到了提升。

你看到了,接受挑战在ThoughtWorks是永恒的话题,而这样的经历对于每个人的成长都是非常重要的,过程可能痛苦,但更加令人难忘。而我想说,这样一个人独自面对挑战的机会,在自己的工作生涯中总会有个开始,永远都不会有所谓准备好的时候。越早面对,越可以快速建立起自己的自信和处理问题的能力。

3-distributed-development-challenges-1

学习的过程总是痛苦,我们这些同事会帮助你,但有的时候就需要自己一个人去面对。

养成,属于自己的学习习惯

这个快速变化的行业,以及ThoughtWorks新环境带来的冲击是巨大的,这会被很多人包括我所低估。你有太多的新技术可以学习,公司有不同的培训和娱乐活动可以参加,有很多公益活动你可以参与,你抵达了之前从未想过的地方,太多新鲜的体验激发了不断更新的学习兴趣。

你的视野一下被打开,但你的注意力在不停的切换,疲于奔命的兴趣很快会让自己得不偿失,猛然发现消耗时间和精力后,收获很少,而这也很容易让自己坠入另外一个陷阱:眼高手低。

职业刚刚开始,你需要的更多是踏实钻研和耐心,更需要一种不疾不徐的恒心来学习,太紧张或者太放松都不是一个可以持续的状态。是的,我在说可以持续,不仅是在ThoughtWorks任职期间持续,更是你在往后所有的职业生涯中的持续。

我们这里有特别推荐的一篇文章,建议你如何学习。

然后做什么?

先引用我的同事在知乎上的回答:

对于毕业生,有两点特别重要:

第一是技术热情(passion),今天早上正好看到Quora上的问题:Debdeep Piku Bhandari’s answer to What are the greatest pleasures of human existence?技术热情可以驱动TA做持续学习,这样往往技能不会差,代码的质量会比较高,也比较追求开发效率(对开发中的大部分实践会很容易理解,也更加容易和其他人交流)。

第二是沟通技能,简而言之:能把自己在做的事情说清楚。我觉得,有时候这一项会比技术本身还要重要,特别是在ThoughtWorks这样一家专业服务公司。

对毕业生的代码要求不会像对有经验的人那样严格,也不期望你比有经验的ThoughtWorker更牛(那样的话你就不用来了,作为毕业生,一定要找一个充满挑战,周围人都比你厉害很多的地方修炼),所以不用太担心。

你的确看到了,我们欢迎你加入,我们需要你的热情和学习的能力,而不是更好的编程能力和超过现有同事的经验。

逐渐地,尝试对自己的职业生涯做一些规划,知道自己想学到什么,自己在公司的榜样是谁,谁可以帮助到你。要主动寻求帮助。更高地,寻找对组织的认同感,在不断提供给你惊喜的组织,成就你自己的工作和职业。

我曾经有一个愿望,那就是ThoughtWorks的同事们,不仅仅在技术上精益求精,用职业化的精神服务客户,对软件和IT行业有超乎常人的热情,对于这个世界和人类的存在和自己的人生及未来,也有自己的独特理解,和自己追求的方向。

是的,人生不仅有工作,不仅有技术,还有诗和远方。

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2016-10-25-%e4%b8%8b%e5%8d%885-16-19

最后

建议你关注ThoughtWorks的官方微信公众号(搜索ThoughtWorks),还有我们的微博、知乎和简书等社交媒体上的账号,可以更快的了解我们是怎样一家公司,我们都在做什么,以及我们是怎样一群人。祝你在这里会开心工作。

wechat

Share

解读ThoughtWorks技术雷达的正确姿势

接地气的技术雷达

ThoughtWorks在每年都会出品两期技术雷达,这是一份关于技术趋势的报告,它比起一些我们能在市面上见到的其他各种技术行情和预测报告,更加具体,更具可操作性,因为它不仅涉及到新技术大趋势,比如云平台和大数据,更有细致到类库和工具的推介和评论,从而更容易落地。

这是2016年4月份的技术雷达全貌:

2016 April tech radar post

其中,自上次雷达发表以来新出现或发生显著变化的技术以三角形表示,而没有变化的技术则以圆形表示。每个象限的详细图表显示各技术发生的移动。

技术雷达对于不同层级和水平的技术从业者,有可以从不同角度和分类进行解读的可能。不管你是个人开发者,对于新工具和技术有执着的追求,寄希望于从新工具和技术那里获取改进每日工作的灵感,或者你是技术领导者需要针对自己的系统做技术选型,以及对未来技术趋势的把握,技术雷达都会是一份很好的参考。

而如何解读技术雷达就是变成一件很有意思的事情,解读方式可以帮助我们更有效地利用它。下面会介绍几种观察技术雷达的不同角度。

这里可以下载到最新版本的中文技术雷达。

手持一份技术雷达,更新技能和工具

技术雷达在四个象限(技术,工具,平台,语言和框架)中,布满了大量由ThoughtWorks技术专家们发现的,可以极大改善开发效率和品质的条目。它们大多数会分布在每个象限的试验和评估区域。

这些条目多具备创新和极客精神,可以很大程度上改善个人开发者的开发兴趣,保持对于新技术和技能的敏感度。

下面是两个例子:

Gauge是一个轻量级的跨平台测试自动化工具。技术规格由自由的Markdown语法写成,因此,测试用例可以用业务语言而不是使用通常的 ‘given-when-then’ 这种具有局限性的格式来描述。不同语言和IDE的支持以插件的形式添加到核心实现中这使得测试人员能够与团队一起使用同样的支持自动完成、重构等功能的IDE。同时,这个ThoughtWorks出品的开源工具天生就能够并行执行所有支持平台的测试。

Aurelia采用最新的Javascript:ECMAScript 2016标准开发而成,被认为是下一代JavaScript客户端开发框架。Aurelia的作者Rob Eisenberg是Durandal之父,离开Angular2.0核心团队之后全力打造了Aurelia。Aureliarelia最了不起的是它的高度模块化,包含了许多小型库,可以非常方便的进行定制化开发。Aurelia遵循约定优于配置的理念,而且其约定恰到好处,很容易进行模块的产生和使用。Aurelia有一个庞大的开发社群,它的官网还提供了非常好的入门文档。

开发者把玩并品味,将新工具和技术应用到手头的软件开发工作中,可以给日复一日、陈旧乏味的遗留系统带来新的气象,而成就感也就伴随而来。

如果对于已经处在采用(非常推荐)区域的技术条目,如果开发者仍然觉得陌生,那这也许就是自己对技术的敏感度在下降的征兆了。比如DockerReact.js

停止对不推荐技术的过度投资

开发者会觉得有一些技术和工具方兴未艾,依然趁手,但技术雷达已经将它们放入了暂缓区域(停止推荐),开始唱衰,这样的态度可以给开发者一些前瞻性的警示。

过度地投资在不被看好前景的技术上,势必会拖累开发的节奏和进度,跟不上市场的步伐,开发者需要的是拥抱更具市场前沿性的工具和技术。

比如这一期的技术雷达对于单一CI(持续集成)实例的担忧:

因为只有一个统一的配置和监控点,但是在一个组织中多个团队共享一个臃肿的CI会导致很多的问题。构建超时、配置冲突和巨型构建队列等类似问题出现得越来越频繁。这种缺陷导致的单点失败会造成多个团队工作的中断。要认真考虑在这些陷阱和保持单点配置之间找到一个平衡点。而雷达的建议是,由各个团队分布式地管理自己独立的CI。

还有一个很显著的例子是关于雷达对于Gitflow暂缓的态度,而这里有一篇很好的文章:Gitflow有害论,来自我的同事刘尚奇。

看技术演进动态

除了可以静态地看一份最新的技术雷达,我们如果对照比较浏览最近几期技术雷达中一些技术点的动态演进趋势,这会是一个更加有趣的体验。一方面也可以培养开发者自身对位技术未来趋势的把控力,另外一方面也可以印证技术雷达的前瞻性和可靠性,

这样动态形式看技术雷达,大致可以分下面两类方式:

单看某个技术点的演进

一个典型例子可以是技术雷达关于AngularJS的态度:

虽然我们使用AngularJS成功交付了很多项目,并且也能看到大型企业中越来越多的项目采用该框架,但是我们决定在这个版本的技术雷达将Angular移回“评估”。这个改动是为了让大家注意:React.jsEmber也有很不错的可选性,Angular从1.0到2.0的迁移过程充满不确定,同时我们发现一些组织在使用这个框架时并没有认真思考单页应用是否适合他们的需要。为此我们进行了激烈的内部辩论,但是可以肯定的是,同时使用双向绑定与不一致状态管理模式会让代码变得过于复杂。另外我们相信,相比于尝试移除一个固有框架,更好的方式是通过仔细的设计,在外层使用Redux或者Flux,来解决这些问题。

目前在前端框架方面,技术雷达的新宠是React.js

另外更加明显的在技术雷达上不断演进的例子是GradleSpringBoot。比如下面是技术雷达的历次版本对于SpringBoot的推介态度:

springboot-radar

从技术雷达的主题展开看

技术雷达开头的”最新动态“旨在展现当期雷达中最为引人注目并值得关注的几个技术或者主题。比如下面是最新这一期技术雷达的主题截图:

theme-radar

由主题内容开始,去寻找当期技术雷达中对于该主题的展开论述,在各个象限内找到对其有支持和补充的具体技术点,可以在开发者脑中绘制出一份更加完整的关于这个主题的现状和趋势来。

比如对于微服务这个技术,我们可以看到在技术雷达中,有这样一些技术、工具或者平台对于微服务架构的支撑:

microservices-map

而跳出单份技术雷达,开发者可以留意到,连续两三期的技术雷达都可能在针对同一技术,做主题性质的连续阐述,来阐释这一技术点在雷达中的重要性和演进的程度。

再比如微服务,它在技术雷达中的演进过程是,2012年3月雷达建议开始评估微服务,2012年10月则建议可以在系统中试验微服务架构,直到2015年1月出现Microservice Envy(微服务羡慕嫉妒恨),雷达建议暂缓实施微服务。

可以看见,对于微服务,雷达的态度是推荐而且敏感的。跟随雷达,开发者可以提前时间预见到自己可能遭遇的坑,以及会有相应的解决方案。

同样,不止于微服务,我们仍然可以找到类似这样的主题技术在雷达中的位置和全貌。

比如技术雷达对于安全领域的关注,在最新一期中,除了积极推荐采用的威胁建模方法外,雷达还提到了一下这些技术点,从证书管理、安全规范、漏洞检查、机密信息访问等方面,提供了一些推荐试验或评估的条目:

如数家珍,开始做技术选型

现在开发一个典型的Web应用,前端+后端可以有很多技术的选择,前端AngularJS方兴未艾,ReactJS已经异军突起,而对后端进行架构和选型,可以挑选的空间则更大,我们不得不在业务和技术采纳,甚至加上遗留系统之间,做更多的权衡和把握。

比如如果我们需要尝试微服务架构,并且碰巧身处Spring生态,那么SpringBoot会是更优的选择:

很多的工作已经通过使用SpringBoot来降低复杂度和依赖, 这在很大程度上缓解了我们以前的保留意见。如果你在Spring的生态系统中并正在走向微服务架构,SpringBoot就是当下最好的选择。而那些不在Sping生态环境中项目,Dropwizard也值得认真考虑 。

我的同事佟达对关于如何采用Python作为大数据全栈式开发语言的论述,同样精彩。他就云基础设施、DevOps、网络爬虫、数据处理四个方面,细数Python技术栈的选择,对于打造一个大数据处理平台的可能,信手拈来。

就像只要会JavaScript就可以写出完整的Web应用,只要会Python,就可以实现一个完整的大数据处理平台。

期待更多

ThoughtWorks技术雷达是一份不限行业,技术中立的前瞻性技术报告。它预测技术趋势,小到一个工具和类库,大到平台和架构,而我们已经在不断见证事实的发生。本文提供了一些可能有帮助的观察技术雷达的视角,你还有更有帮助的视角吗?

Share