大家好,我是小杨,你有没有过这样的体验?英文会议上您到自己说话的前一分钟紧张到呼吸困难,到自己说话的时候不知所云,说完以后回味一下自己说过的傻话,又懊丧不已,自己明明很能侃,但一旦用英文表达的时候,就感觉自己的智商急剧的下降。你以为这种感受全是英文基础薄弱造成的吗?其实不一定是,也许是你没有掌握会议对话的方法,从而造成了一定的心理障碍。
看过我撰写简历,那期节目的朋友一定知道,我曾经做过英文教师,也出版过英文教材,今天我暂时不想具体去聊英文的学习方法,而是想讲一下程序员在全英文的工作环境当中需要具备怎样的英文水平才能生存下来,生存下来以后又需要怎样的进阶英文水平才能支撑你在这个事业上走得更山更远。
与此同时我会分享给你一些开会时非常实用的对话方法,还有常用句式,还有一些马上能够解决你在会议当中有实时对打心理障碍的超级好用的诀窍分享,所以一定要听到最后一个初级程序员在纯英文的工作环境下生存下来,其实对你的英文水平要求并不太高,你只需要具备简单叙事水平的英文听说能力,也就是说你可以用一般现在进行时,一般过去时和一般将来时来讲清楚一些facts就足够了,什么方面的facts?
它包括比如每日的站会,也就是stand up meeting里面,你用一般过去时说说自己昨天做了些什么,用现在进行时说说自己目前正在做什么,因为一般将来是说说做完了你下一步打算做什么,用一般现在时来说一说有什么东西妨碍了你的工作进程,或者你遇到什么困难,有什么问题。
我举个例子,我下面说的这段话就是一个很典型的初级前端程序员在站会当中经常要说的一些facts,比如 yesterday I started working on the user profile page,I mainly focused on the UI implementation。For today,I'm currently confirming with designers about a few layouts。After that,I will start to work on the functionality of the purchase flow。I'm blocked by back and right now,so the feature can only be tested with more data later。
就这么几句说清楚你目前的工作进程就可以了,有时候连这三四句其实都用不了,比如你整个一周都在聚焦于一个大的功能,那么很可能你每天的update都比较雷同,有一点需要注意的是,即使你每天的工作都很雷同,也尽量说清楚你每天的进展,比如yesterday I finished data mocking,或者yesterday I set up the monk chorus and mutations,不要每天都说同一句话,比如I continued working on the purchase globe,这样每天重复的 CNN内容属于废话,对团队也没有什么价值。
刚刚说的是每日的战会,那么在sprint Rachel这种阶段性小结会议当中,一个初级程序员应该具备怎样的表达能力呢?你应该能够发表一些简单的想法,比如对上一个spring,你认为团队有哪些地方做得好,哪些地方需要改进,你有什么建议等等。我再举一个例子, in the previous sprint,I really enjoyed the smooth communication among team members。I was able to confirm with designers about layouts and discuss with back and people on schemas efficiently to get myself on blocked。In the next sprint,I hope we could split a big issue into smaller ones so that my PR won't get too huge to review。这只是我举一个例子来帮你找找感觉,你可以借用这样的句式来套用不同的内容。
那么对于初级程序员除了以上这些开会听说方面的英文沟通还需要什么方面的沟通呢?你还需要一点点基本的读写沟通,主要就是比如在guitar,艺术里面可能需要讨论和确认一些功能和它实现的方法,在你的poor request里面你你需要看明白同事给你的建议,在review同事普瑞快死的时候,你能够表达清楚自己给别人的建议和想法等等。
这些都是非常基础的读写,比如给别人提建议时,你可以就简简单单的发问说shall we change this to typescript?回复别人的建议的时候,你可以说it makes good sense。Let me address that in a separate PR as it is out of the scope of this ticket,日常你还需要和团队在通讯软件比如沟通一下随时产生的问题和想法,我感觉相比这些写作上的沟通,实时的会议听说沟通会相对的难一点。因为你要马上对别人的问题和想法作出反馈,而读写沟通,你不懂什么单词可以查词典,你打出来的字也可以通过一些软件来帮你检查拼写和语法的错误,所以相对要简单很多。
那么应对了初阶的英文需求,我们还需要进阶到第二个阶段,那就是从表述事实也就是facts到更深入的表达观点,也就是opinions。比如在spring planning这类的阶段性规划会议上,通常初级程序员在这种场合下会显得相对比较沉默,这个时候貌似主要是pm还有中高阶程序员的舞台,pm会说一说下一阶段的工作规划,而这个时候程序员会针对工作任务去表达一下以下这些层面的观点。
第一这些任务实现起来的可行性。
第二评估一下所需要的资源。第三预计一下完成所需要的时间。第四讨论一下优先权等等这些观点,当然首先是要有技术能力和全局视角来支撑的,绝不仅仅是英文的问题,所以我不认为初级程序员需要具备这些综合能力,但你可以去观察和学习senior native speakers是怎么样表达这些复杂观点的,慢慢的你的技术能力跟上了,英文句式和用词熟练了你,你也就能开始简单的表达自己的观点了,不要急,一开始你就先从同意和补充别人的观点开始,然后再试着说自己的新想法,最后才是对别人提出不同的意见,并且进行友好的辩论,一点一点进步,别上来就给自己太大的压力,如果你觉得实时表达自己的复杂的观点,对你实在太困难这,这里我也有一个小窍门能帮到你。
实话实说,小杨就是一个很难在会上发言的人,这不是我的英文问题,是我的性格问题。也许你不相信一个曾经当过英文教师的人,一个YouTube也会有这种问题吗?有,而且还蛮严重的,我总觉得开会我多少得说点什么,可是我紧张开不了口,不好意思没自信。
等我终于做好了心理建设要说话的时候,这个话题的讨论就已经过去了,然后我就又陷入了我刚刚明明想的挺好的,为什么不能及时说出来这种悔恨当中这种感觉太刻骨铭心了,我可以单做一期节目把每一个情绪细节给捕捉出来,但是我今天点到为止,如果你也是像小杨这种性格的人,那么我建议你和pm或者senior engineer沟通一下,告诉他们你目前实时发言会有一点心理的障碍,希望他们能给你一个presentation的机会,把时间腾出来专门留给你,让你来分享一下,比如最近的技术,展示一下最近你做的新功能等等,我就是在这些机会当中练出来的,了更大的勇气当众表达观点,甚至是不同意见的。
你第一次做presentation的时候一定很紧张,你可以写出来英文的逐字稿,我就是这么做的,我甚至会把重音词汇用黑体字标出来,确保自己在紧张的时候也能够注意语气和重音,别让别人听出来我是在读俗话说一回生二回熟,熟悉了这种当众发言的感觉,听到了别人给你的掌声,你当众发言会越来越多,越来越娴熟自信的,那么最后我想说说程序员英文进阶的第三步,那就是持续学习,技术的更新换代太快了,新的技术领域也是层出不穷,要想在这样的行业环境下持续具备竞争力,就必须持续的学习去参加塞米娜 conference,阅读documentation、看paper,这些都是对自己有要求的,程序员工作生活的常态,可以说程序员生存下来的英文其实是很简单的,但想不被淘汰,想晋升英文就是你必备的工具,是你在知识的海洋里遨游的船桨,我想这一点在任何行业当中其实都是适用的。
我从自己的经验感受出发,结合自己英文教师的工作背景,给大家介绍了程序员的英文阶梯,小结一下初阶你能用简单的语法表达facts和基本的opinions,能在给tab上的医术里面和slack上与同事做基础的写作沟通,这样就非常可以了。
中间你能用简单的语法表达复杂的观点,与同事进行技术层面和产品功能层面的讨论,做一些说明文文体的presentations,读懂技术的box,高阶一些你能够站在更高的视角去分析产品参加研讨会conference在读懂duck的基础上能够读懂比较深入的技术和行业论文,甚至自己可以去撰写英文的技术不老的英文进步的路很长,我们给自己充分的时间慢慢来,以后我会找机会和大家专门的详细聊一聊英文学习的具体方法,期待你的订阅点赞和留言,我们下期再见。