在thoughtworks官网 工作是怎样一种体验

:转载时请以超链接形式标明文章原始出处和作者信息及本声明
最近有几篇关于科技公司面试的新闻,这篇格外受瞩目,因为竟然有公司力压Google,成了面试最难的公司,而这个公司居然是ThoughtWorks。
这个结果真的让我有些惊讶,作为一个面试过许多人的ThoughtWorker,我之前还真没想过我们的面试到底有多难。既然有人关心ThoughtWorks面试,我就不妨在此分享一下我的&面经&。
先来说说,我们的招聘流程。ThoughtWorks的招聘流程大抵分成如下几个部分,以社招开发人员为例:
电话面试,称为Phone Screen,由负责招聘的同事了解候选人基本情况
技术电话面试,称为Techinial Phone Interview,TPI,这个环节通常是针对远在外地的候选人
代码作业,称为Homework,动手写代码对程序员的考核而言是不可或缺的。
通过上面流程,候选人就可以进入到我们的办公室。一般说来,候选人要来办公室两次,第一次会做一些测试题:
逻辑和英语测试
通过之后,才是真正的重头戏,也是称为&面试&的部分。一般说来,这些环节会在一个下午的时间完成:
结对编程面试,称为Pair Programming
面谈,称为Office Interview,在我们招聘同事的口中,它有一个更复杂的名字:Overall Technical Interview and Culture Interview
这是主要的流程,有些情况会因人而异稍做调整。一般情况下,整个流程需要3周左右时间。我个人参与较多的主要是后两个环节,我的&面经&也主要在这里。
结对编程面试,是候选人和面试官一起写代码。所用的代码就是候选人之前在代码作业环节所写的代码。这是个真刀实枪的环节,想作弊是不可能的。之前曾经发生过这样的事情,候选人找人代写代码,结果,一到这个环节就完全暴露。
在这个近距离一起工作的面试中,候选者对代码的理解、开发习惯和与人交流的方式等等就全部展现在面试官面前。有些人之前习惯于窝在一个角落里写代码,像这样,写程序时身边还有人交流,对他们来说是一个巨大的挑战。我曾经看到很多面试者在这个环节紧张得不能正常思考,导致实力打了折扣。
之所以采用这样的方式进行面试,因为这就是我们日常的工作方式。我们希望了解候选人的情况,同样,也希望他们能够最真实地体验我们的工作方式、交流方式和思考方式。我们不仅仅要写程序,还要彼此交流,降低项目中出现&关键人物&的风险。以我之前的一个项目为例,这是一个总规模在十人左右的项目,一年半的时间里,这个项目先后下了四个团队lead,离开项目的开发主力也有五六个,但项目一直顺利进行,未受太大影响,就是因为通过交流,知识得到了充分地分享,避免了&关键人物&带来的风险,也让更多的同事得到了充分地锻炼。
不可否认的是,不是所有人都喜欢这种工作方式。有了这样的环节,候选人在体验之后也会有个新的评估:ThoughtWorks是不是他在找的工作,这样的工作是不是他喜欢的。
透露一个秘密,如果在结对过程中,候选人能够展现出他对快捷键和命令行的熟练,会在面试官心目中有加分的。
接下来是面谈环节,面试官和候选人坐下来,聊聊候选人的一些经历。以我个人的面试风格而言,了解了候选人过往的经历之后,我会让他挑一个自己最想讲的项目,做一个介绍。听起来很容易,但接下来,根据他介绍的内容,我会做进一步挖掘。比如,候选人说自己做过某个设计,我会问他为什么这么做,而不是那么做,对比不同方案之间的差异。这是一个说难不难的环节,如果在做设计决策的过程中,候选人经过了深入思考,回答出这些问题简直易如反掌,但对于那种直奔结果而去的候选人而言,这个问题却并不容易,当初决定的草率会在这个环节暴露无疑。这是整个面试的重头戏,候选人完全可以在这个环节将自己对技术的深入理解体现出来。
所有的问题都是开放的,没有正确答案可言,通过这样的交流过程,我们可以看到候选人更多方面的能力:思考方式、分析能力、表达方式等等。当然,也有一些人让人遗憾,他们应该是做了很多出色的工作,但完全没有办法清晰地表述出来。我喜欢听到的介绍方式是,层次清晰的讲述,当然,如果有激情就更好了。如果你看到过对技术真的有热情的人讲技术,你会知道,与那样的人交流简直是就是一种享受。
之后,我们还会了解候选人的本职工作之外的努力,因为我们相信,所谓的工作,并不能阻止一个真正热爱写程序的人求知的心:即便他只是Java程序员,并不妨碍他了解Ruby;即便工作再忙,他也会抽空学点东西。如果候选人曾经利用时间做过一些东西,那是我们乐于见到的,如果再能涉猎更多的东西,那简直太好了,当然,我们会问一些问题,了解他是&听说、了解、用过,还是深入研究过&。
单就面试过程而言,ThoughtWorks的面试并没有特别的。但为什么还有很多人会觉得这个过程很难。或许,这就是他们习惯的工作方式与我们工作方式的差异所在。
众所周知,ThoughtWorks在&如何做软件&方面是走得很靠前的。当我们的客户还在考虑ClearCase是否要切换成SVN时,我们已经抛弃了SVN,拥抱了git;当很多公司开始做持续集成时,我们已经开始了持续交付;当许多人开始拥抱敏捷时,我们正逐步地&去敏捷&。
在ThoughtWorks工作,我们要找的是真正热爱技术的人,喜欢刨根问底的人,那种为了完成而完成的人不是我们想要的。在公司里,我们经常会听到这样的话:我们不只要实现功能,更要以正确的方式来做。追求是无止境的,所以,我们要找的就是具备深入思考的能力/潜力的人,这样,我们才能不断向前。
在很多的人印象中,ThoughtWorks有一群特别能说的人,没错,在我们的工作里,沟通占了很大的比例,无论是我们在交付项目中,还是咨询项目里;无论是与自己人,还是与客户。所以,在面试中,我们也特别重视一个人的表达能力,肚子有货的人是否能够清晰地表达出来,而表达能力往往是一面反映多方面能力的镜子:分析能力、组织话题的能力、对技术的理解等等。
以个人观察而言,在程序员这个闷骚遍地的行业里,所谓不擅与人沟通的程序员只是没有找到合适的环境。其实,表达能力完全是可以锻炼出来的。还记得我第一次在东软给别人讲东西的时候,紧张得手心里全是汗。在公司内部主动讲讲东西,在社区活动做一些分享,多讲几次,什么问题就都没有了。
其实,所谓ThoughtWorks面试难,在我看来,只不过与其他公司只重视技术能力而言,我们更注重全方位的工作能力而已。因为在ThoughtWorks,我们是程序员,但我们不只是程序员。
历史上的今天:
引用地址:
::::::::::主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
一只文艺范的软件攻城狮,Keep Learn,Always.
本人热爱编程,有着很强的兴趣,做事认真,对待项目任务有很强的责任心.
以前买过腾讯云centos服务器,自己搭建java环境,将自己编写的网上商城小项目发布在服务器上,通过域名绑定ip可以成功访问,
平时自己也用网络编程socket套接字,然后结合Thread线程做过聊天系统,用链表的方式做过贪吃蛇,坦克大战游戏。
?熟练运用Eclipse/MyEclipse在Window下进行Java软件开发
?熟练运用MySQL、SQLServer等数据库技术
?熟练运用Struts2、Hibernate、Spring、Spingmvc、Mybatis框架进行web开发
?熟悉Tomcat等主流服务器了解jetty服务器
?熟悉XML、HTML、Servlet、JSP、FreeMarker、JavaScript、AJAX、Jquery,DOM了解CSS+DIV等前端技术
熟悉Linux下的基本命令操作
?掌握SVN版本管理的使用以及nodeJS的模板引擎 jade
?掌握MVC,proxy,chainofResponsibility,Adapter,factory等设计模式的思想
?掌握maven,webService,activiti工作流的使用
?掌握easyui,Bootstrap等前端框架的基本使用
掌握java反射调用,FIFO,topK等算法
了解nodeJS,Jfinal,JPA在世界顶级的IT技术咨询公司工作,是一种怎样的体验? - 简书
<div class="fixed-btn note-fixed-download" data-toggle="popover" data-placement="left" data-html="true" data-trigger="hover" data-content=''>
写了194114字,被276人关注,获得了489个喜欢
在世界顶级的IT技术咨询公司工作,是一种怎样的体验?
IT技术咨询公司是做什么的?
几乎每个成功的IT技术咨询公司,例如:
<sys2.Accenture3.Avanade4.Intride5.Thoughtworks
都有自己的特点和擅长的领域,以thoughtworks(TW)为例,其业务模式是通过咨询帮助改善企业的IT组织,改进软件开发方法,以软件带动企业业务发展,主要业务可分为:技术咨询和定制化交付。其中定制化交付占了咨询公司收入的大头。
IT组织优化: 通过敏捷和精益之类的项目和组织实践,提高组织的交付或者创新能力技术咨询: 通过系统自检、架构审查与指导、SOA策略为客户提供多方面的实用建议测试策略: 帮助客户重新审视和思考其测试策略,通过将测试完整地引入软件开发过程,帮助客户提高软件的质量、软件的可预见性和可靠性客户体验: 通过卓越技能驾驭各种常见的技术,帮助客户交付创新力及功能性并举的产品
定制化软件交付
一般是和客户一起完成一些定制化的软件项目交付。
在这类公司内工作,是一种怎样的体验?
主要有哪些工作(员工)分类?
由于这类公司一般都采用扁平化的管理,所以员工的职能更多的是一种在某个时间段内所处的角色。大部分员工都会在不同的角色间转换。
一般的角色设定通常是:1.根据业务需求设定角色再找到符合这个角色的人选2.因人设岗,因为个人意愿和资质,为了发挥其作用,专设此角色
对于以上的业务类型,自然的就会有这些角色,例如:1.敏捷、精益咨询师2.应用开发工程师3.运维4.项目经理5.测试6.HR7.UX
不同工作需要怎样的背景和技能?这些角色虽然和大部分软件公司差不多,但是TW的一个特点是这些角色并不固定对应某个人,有很多角色甚至没有专门的团队,只是因为你做了这个工作,所以你是这个角色, 比如:
项目经理一般只是团队中一些影响力比较大的同时来做这些工作
运维,在TW又叫做开发自运维,其实还是整个团队自己来运维自己的开发的项目
所以其实是尽量鼓励每一个人去掌握全栈的技术,对软件的整个生命周期负责。
1.全栈当然是每个人的理想,但是之所以在TW是现实可行的是因为:
2.每个人在一个项目上平均会持续有3~6个月时间,下一个项目可能完全是不同的领域
3.每个人的每份工作结对完成,无时无刻不在接受知识传递,你还要锻炼口才不停的说服你的pair
4.每对pair每2~3天换一次工作内容,上下文传递
工作中能接触到怎样的同事和客户?
一个词概括:五花八门。同事:有能拍电影当导演的,公司内有自己的乐队,有各行各业转行过来的,有在公司内搞八卦杂志的,有在公司自己酿酒的。每次新同事介绍,都有各种料去挖掘。虽然限定在IT领域,但是由于现在IT技术渗透范围之广,TW所面对的客户范围之广是我们自己都无法预知的。其中,地产、银行、保险和电信都是大客户。
整体过程中自身会有怎样的提高?
其实这种类型的咨询公司像极了理想中的一个创业孵化器:
平时都是一个个独立的项目为单位的团队和工作内容
聚集有想法的geek
喜欢hack各种奇思异想
喜欢挑战,不怕失败
交流的效率
交流的深度:
每天对于自己工作的任何想法和片段都得时时刻刻的去跟别人交流。因为pair,你会很自然的体会到,即使你觉得多么理所当然的事情,别人不一定会就这么想。你的所有自认为的奇思妙想必须先通过一个语言上得论证,说服别人才能最后体现在工作结果中。极大的避免了闭门造车和潜意识里说服别人的方式是提高嗓门而不是讲道理(想想成天高嗓门最后你肯定会学会别的说服方式)。
交流的广度:
由于项目的跨度大,而不同项目的同事就在隔壁桌子,甚至很可能很多别项目的同事就是你上个项目里一起工作过的。很难不在闲聊或者吃饭的时候聊起来别人在忙什么,往往是分别几周,你已经听不懂别人新研究的高大上的东西了。好奇心和显摆心驱使,很多人会要求分享或者分享。由于大家都是比较熟识的同事,所以提问,反馈都可以比较直接。其实知识工作者的生产率大部分时候,不在于工作时间长短,而在于知识获取和积累的效率。在有条件的时候,当面交流还是最有效的知识获取来源。关于交流最直接的体现就是不定期举办的hackday和各种业余项目了。当各种天马行空得想法被提出来,甚至连提出者自己都不知道是不是一个现实的想法的时候,最幸福的事情莫过于总有人出来说:我知道。而这个人还是非常熟悉的同事。在最近的一次慈善主题的hackday上,在2天时间里面就完成了一些包括硬件、手机app、微电影宣传片、NGO组织接洽的项目。
最近的一次以慈善为主题的hackday
在我们业余发起的酿酒活动中,很容易的就凑齐从机械制图、开源软硬件、云技术、到酿造专家全套的人才。
使用云技术实时监控的酿酒设备
以上酿酒设备使用的技术栈有:
Raspberry pi
AWS kinesis
Elasticsearch
所以在一个足够多元的团队里,由于有足够的差异化,使得交流的本质:能够交换得到的信息非常多。因此集众智总是可以完成一些预期之外的事情。
对失败的态度
在上一家公司的时候,大部分项目是以进度来管理的,而进度又关系到考核。考核又可能致使个人绩效差异非常大。每一层级都有很大的进度压力,所以如果进度不好,没有人会有空人会问你为什么。最终大部分人在接受一个任务的时候并评估的时候,总会逐渐趋于保守而选择有更大的确定性的工作。在TW可以想象每几个月换一个项目,很大的可能是个完全不同的技术栈甚至领域,有时候甚至犹如换行一样的状况,会使一个保守的人多么的诚惶诚恐。
然而TW大部分业务模式是卖人力时间的,项目又都是客户的。大部分客户都是各自领域的先行者,足够成熟去对看待创新过程,以个人角度来讲,没理由有人会喜欢重复做已经非常熟悉的内容。
虽然开始的时候,猛然去接受一个挑战,都会心有忐忑,担心失败。但是任何难事,只要是有心思和时间的积累,总会逐渐有更深刻的认识。在相对宽松的环境下,担心会逐渐被掌握新知的喜悦和攻克难题带来的信心所替代。
TW的业务模式也形成了,在公司内部更值得/炫耀和分享的是知识而不仅仅是产品的成功。
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
被以下专题收入,发现更多相似内容:
@IT 专题 由 IT大分类,转定位于IT·互联网行业观察与思考,数码产品极客体验。
主编:向右奔跑 http://www.ji...
· 264287人关注
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
选择支付方式:}

我要回帖

更多关于 thoughtworks招聘 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信