岗位职责 1.根据公司或客户的要求通过网络搜索信息,找寻相关条件的人才或者证件完成人才与单位之间的协商沟通,证件的注册继续教育,专业性问题的回答等
1.負责所辖业务区域资质办理业务; 2.负责与辖区相关政府窗口的对接工作,做好关系开发和维护; 3.负责部门团队管理; 4.领导交办的其他事务 岗位要
岗位职责: 1.根据公司或客户的要求,通过网络搜索信息找寻相关条件的人才或者证件, 2.促使双方签约完成合作流程以及后期的信息维护、整理等相
仪器仪表/工业自动化未融资20-99人
京东商城-Y事业部-供应链收益管理研发部团队诚招量化分析领域的专家,包括统计学习、機器学习、深度强化学习和运筹优化方向我们希望您以坚实的技术功底和对研发的热忱
电子源恒商务酒店已上市10000人以上
1、主导课程、订單、支付、促销、财务等核心系统的架构设计、研发、重构与优化; 2、负责技术难题的预研与攻关,解决系统关键架构问题对系统稳定性负责; 3、持
互联网已上市10000人以上
1.熟悉java需要,有各种脚本shell python 加分 2.保证项目质量完成项目的功能和性能测试 3.对大规模产品设计合适、完备的測试方案。对产品
移动互联网D轮及以上人
工作内容/职位描述: 1、参与京东大数据相关产品的前端架构设计及开发; 2、优化改进现有前端技术體系满足相关业务快速、稳定、高效的基本要求 3、与后端工
电子源恒商务酒店已上市10000人以上
诚招高级数据分析师 岗位职责: 1、对业务部門进行数据需求支持,挖掘分析活动开展数据分析工作。基于分析成果为业务部门提供策略分析和业务优化建议,持续改进运营
互联網已上市10000人以上
职位描述: 1.负责高德导航数据质量控制与各产品部门密切沟通,准备拆分产品需求把握质量控制方向,建立质量评价體系策划制定质量控制方案。 2.带领团队对海量
计算机软件已上市10000人以上
互联网不需要融资500-999人
移动互联网D轮及以上500-999人
GoLang开发工程师 岗位职责 1. 負责教育设备管理系统设计与开发 2. 负责服务器/客户端功能开发 3. 参与相关产品需求讨论、架构设计、功能开
互联网已上市10000人以上
科技界的大多数新生事物都只是┅波又一波的潮流:说话和做事的模式来了又走没有留下永恒的印记。微内核IA-64 架构,对象请求代理20 世纪 90 年代的神经网络,这些东西嘟已经不复存在也不会再回来了。时间已经证明了哪些东西是昙花一现为了说明问题,我们必须追溯到很久以前
今天的我们很难想潒,在鼎盛时期那些技术有多么的受欢迎。它们有很多极具魅力、真诚且聪明的倡导者倡导者们得到了看似合理的基本原理论证的支歭,这些论证证明了他们选择的技术必然会取得胜利这些潮流催生了运动、宣言、会议和公司。但请不要把这些潮流与蓄意欺诈混为一談后者要少见得多。推动这些技术潮流的动机是发自内心的真诚不管它们以何种方式出场,二者产生的结果是完全不同的
另一方面,一些重要的新技术是革命性的:它们强大而持久的变化为技术采用者带来了长期的优势面向对象编程、硬件虚拟化、万维网、公有云、CI/CD 和 20 世纪 90 年代的神经网络(深度学习的重生)现在成了计算机世界永久的组成部分,而它们曾经“混迹”在潮流之中难以区分。我们被技术浪潮所包围在它们展露头角之前,我们并不知道如何用它们来获得成功
与其他科技公司一样,Slack 希望在正确的时间采用革命性的技術避免把过多的精力浪费在追逐潮流上。Slack 采取了什么样的战略来确保做到这一点这篇文章介绍了 Slack 用来解决这个问题的方法。
我们不能依靠个别领导者的直觉来区分哪个才是赢家相反,我们要积极地探索新事物虽然我们也知道这些尝试大部分都不会有任何回报。但为叻让我们的投入偏向于有用的新事物避免踩太多潮流的坑,我们应该在早期就要无情地扼杀那些没有价值的实验我们希望每件事都去嘗试一下,这意味着我们仍然要与潮流为伍我们希望最终能够乘着潮流到达彼岸,我们与潮流打交道的经验不断为我们提供积极的回报
我们创建了一个描述性的新技术采用曲线模型。
这是一条典型的 S 曲线描述了技术的采用随时间变化的情况。S 形反映了技术采用的变化一开始,当只有几个实验者在做实验时我们别无选择,只能慢慢地接受稍后,当情况变得清晰的时候就会有更多的人参与进来,峩们会在中间陡峭向上倾斜的部分快速地将新技术应用到生产中当大多数有成果的试验圆满完成,就会剩下寥寥无几难啃的“硬骨头”于是,在周期接近结束时采用速度又慢了下来。
我们把这三个阶段画出来:
我们并不是第一波发现技术采用遵循这种 S 型曲线的人Everett Rogers 在 1962 姩的《创新扩散理论》(diffusion of innovation)一书中就已提出了这一模型。不过Rogers 并没有提到 Erlang 或者 MongoDB,因为他是一位农村社会学家他观察的是农业技术采用嘚模式。但事实证明计算机领域与人类活动的其他领域并没有太大的不同。
为了让这个抽象的概念更具象一些我们将例举一些已经在 Slack 經历了探索、扩张和迁移阶段的技术。
从 2015 年发布第一个稳定版本以来React 席卷了前端开发领域。虚拟 DOM 和单向数据绑定让它成为开发 Slack 桌面用户堺面的一项引人注目的技术
在服务器端我们从 2016 年开始从 PHP 迁移到 Hack。这次迁移的一个关键部分是在我们的 PHP 代碼中逐步引入类型:
Vitess 是一个用来进行 MySQL 水平扩展的集群系统,在进行数据分片策略演化过程中我们选择了它。
与以上那些经历了各个采用阶段的技术相比我们的跨平台 C++ 客户端库并没有走到第三阶段,并且最终停止了
到最后我们并没有进行全面的迁移我们将从 LibSlack 中学到的东覀以各种方式应用到移动和桌面客户端开发工作中。代码工件并没有被长期采用但这个项目让我们学会了应该如何构建客户端以及如何組织我们的工程团队。
需要注意的是这个模型是描述性的,而不是说明性的我们并不是想要强迫人们接受这个 S 型曲线,尽管我们想要這样实际上,这是一个自然的过程早期的探索阶段不可能像中期阶段那样迅速地进行,最后的阶段也不可能像中期阶段那样迅速地进荇全面采用这三个阶段并不是任何里程碑、过程、工具或 Slack 工程人员作用的结果。它们是技术变革的一部分不管我们有没有注意到它们,它们都会存在
现在,我们已经注意到了它们我们可以利用它们,让我们的努力更加卓有成效每个阶段的战术和战略是不一样的。
苐一阶段是无门槛进入当工程师第一次开始调研他们感兴趣的技术时,不需要任何许可授予过程或仪式在 Slack,这样的事情一天可能会发苼几十次:有人发现了新技术或者发明了新东西,然后就开始研究它们他们可能是因为读过关于 Elixir、Cassandra、WebAssembly 或 TCR 的博文,或者下载了一些软件编译打包,四处看看浏览一些介绍性的材料,还可能尝试把它们应用到日常工作中
大多数的探索工作都在这个阶段进行。在这个阶段为了避免在不必要的事情上花费太多精力,我们要懂得放弃掉一些东西不过确实还是有一些东西被用到了实际的工作流程和代码库Φ。有时工程师可以直接应用某些解决方案,因为它们解决了一些局部问题有时候会出现更加令人兴奋的结果:某些解决方案也解决叻其他团队所面临的问题。这个阶段的工程师相信他们知道一些其他人不知道的东西:一些事情可以用更好的方式来做一旦他们的工作開始影响到其他人,我们就进入了第二阶段
进入第二阶段,工程师就有点可怜了!因为他们现在正试图改变其他工程师的行为这将涉忣沟通、说服,如果一切进行得顺利的话他们还需要做大量的技术工作。对于大多数项目来说第二阶段是最困难、最耗时、最令人沮喪的阶段。在技术周期中这是“产品与市场匹配”阶段,很多进入该阶段的项目无法成功地走完这个阶段
在 Slack,用户团队可以自由选择昰否要依赖你的系统很少有例外。如果你习惯了“基础设施驱动”的公司那么我们的情况可能会让你大吃一惊。在其他公司领导层會在第二阶段产品市场适应得出结论之前就选出了赢家和输家。他们之所以这么做是为了提供清晰的信息(比如未来会怎样、我们应该采用哪个系统)和降低成本,因为在这一阶段需要支持更多的做事方式
虽然这些都是合理的目标,但 Slack 并没有选择这种方式我们优先考慮的是适应潮流的能力,而不是适应的速度因此,我们(有意地)将促进其他团队采用新技术的主要负担放在了小部分人身上虽然这鈳能会让这些人感到沮丧,但我们知道没有其他更好的办法为了清除这一障碍,我们不得不选择更加有效的方法如果新技术真的像我們所希望的那么美妙,那么它们应该能够帮助依赖它们的团队顺利完成工作反过来,这种结果会促使他们采用和推广这些新技术
第二階段的一些工作更像是产品工作,而不是工程工作你需要研究用户,以便确定哪些问题是重要的你需要按照用户所期望的方式将你的解决方案的价值与之前的实践联系起来。你需要想办法缩小当前实践与你正在做出的改变之间的差距让用户更容易接受。
在第二阶段取嘚的成功最终会导致一些自发式的采用用户可以自由地选择是否采用新技术。当新系统成为事实上的标准第二阶段就接近尾声了。偶嘫性地遇到这种采用情况是很不寻常的因为这真的很难,而且并不是每个工程师都具备相关的技能
自发式的采用最终会逐步减少,最後剩下一些顽固的人他们似乎很抵制新的做事方式。一些后台运行的系统尤其没有动力去做出改变因为它们的开发度不够活跃。在某些情况下我们到了后期才发现一些旧系统在某些方面按照旧有方式运行会更好。最后总是会有一些顽固的用户坚持使用老方法。
虽然峩们一直在讨论“技术采用曲线”但实际上在第三阶段会出现一个分岔口。即使非常成功的项目也不可能彻底采用全新的技术例如,茬 Slack我们已经广泛地采用 gRPC 作为内部的 API 技术。但是我们不太可能构建一个全新的基于 gRPC 的 memcached。memcached 的自定义协议很不错并得到了客户端的良好支歭。这种例外并不意味着采用 gRPC 是失败的
对于其他一些情况,采用多种技术的成本(工程师的认知负担、运行旧系统的负担)太高所以峩们有必要彻底采用新技术。对于这样的项目我们需要制定一个应对顽固派的计划,不同的情况需要采用不同的策略长时间没有发生妀动的系统可能需要使用代理,并逐步对其进行迁移如果顽固派的存在是因为新系统缺乏必要的功能,那就需要增强新系统或者对新系统进行封装,模拟旧系统的功能
对于对旧系统产生了情感依恋的情况,进行面对面的沟通通常比高风险的公开辩论有效得多请温柔些,如果你的新系统足够成功总有一天它也会成为旧系统。
作为 Slack 的工程师和工程负责人我们对彼此的期望是什么呢?
如果有疑问,请记住:你偠对技术采用的成功与否负责而从长远来看,这是由你的产品的用户来决定的
结合高校当前雲计算技术的教学要求从服务器虚拟化、桌面虚拟化、企业平台云搭建和管理、存储及网络虚拟化、云计算安全等5个方面为高校提供专業的课程定制方案。恒电为配套课程提供教材、实验指导书、教学PPT、程序源码和真实项目数据帮助学生进行全方位多层次的自主学习,將云计算理论和实验知识一网打尽公司与高校合作,组织云计算技术相关培训曾与Pivotal公司合作举办PCF培训,帮助高校教师提升专业能力助力于云计算技术的教学。
成功案例:暨南大学、广东外语外贸大学、广东技术师范学院、广东科学技术职业学院、广东创新职业技术学院、广州航海学院、广东理工职业技术学院
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。