程序员学英语

这显然不是新鲜的话题,但再怎么重复强调都不过分!

为啥要学

  • IT是当今世界发展最快的行业,没有之一!作为其中的从业人员,要始终保持对最新技术的关注度,难免需要阅读英文新闻或文章
  • 平时工作中,碰到技术难题,用英文搜索引擎,会更容易找到解决方案,例如stackoverflow
  • 绝大多数流行的编程语言,都是基于英语词汇来定义保留字或语法的(if...else...)
    if (learnEnglish) {
    console.log('higher salary')
    } else {
    console.log('996')
    }
  • 看到用拼音命名变量的赶脚,总是带着一丝喜感
    const pingguo1 = 'da ping guo'
  • 进军知名IT外企(微软、苹果、亚马逊、特斯拉)的敲门砖。
  • 其他:例如一般不会有英语很不好的技术大牛,可见技术学习和英语学习是相辅相成的关系

本码农和英语学习的那些事儿

学生时代

我从小在内地一座小城市长大,英语学习是从初一开始的,那时候的英语学习基本都是应试为主,高考要求什么就学什么。我们那个年代的高考英语没有听力和口语,所以英语老师教我们的方式,基本以背单词、语法为主,俗称“哑巴英语”,另外一方面,英语老师自己也不能做到很标准的发音。当时,我们学生学习单词的时候,喜欢把对应的中文发音写在旁边,我印象最深刻的一个单词:quite (快吃)。虽然很欢乐,但......我从小就是比较顽皮的孩子,不喜欢死记硬背,对这种枯燥无味的“哑巴英语”提不起丝毫兴趣,再加上我们当时的英语老师比较年轻,不怎么能“镇”住我们,最后的结果是,我中考英语60分勉强过关。

到了高中,自己开始想学习了,但发现英语基础太差,背单词和学语法都非常的吃力,花了很多时间在上面,高考勉强考了107分(150分总分)。

进入大学时代,那时,英语四级和学位证挂钩,从大二开始直到大四,每年有两次报考机会,也就是说大学期间,总共有六次机会。大学期间学英语,我花了很多的时间,尝试了各种方式,效果还是不好,所谓事倍功半!

不出所料,我集齐了四级准考证六张。在大四毕业那年的暑假,用颤抖的双手拨通查分电话,仔细输入准考证号,自动语音回复道:“您本次四级考试成绩为60.5分,重复请按一”,我在按“一”的同时,已经泪流满面!

英文面试

进入社会的头几年,基本不需要用到英语,也就没怎么用心去学。

直到2007年,同学推荐我到一家知名IT外企面试,其中一个躲不开的环节就是英文面试,而且是比利时的同事电话面试!为了准备这个面试,我把英文“自我介绍”背的滚瓜烂熟,而且想好了“策略”。当电话拨通后,简单寒暄了几句(其实也没听懂对方说什么,就是hello, how are you? I am fine, and you?一通操作蒙混过去),接着对方提了一个问题,我也没听懂:( 我已经想好了,不管对方说什么,我都说:"Can you let me introduce myself, firstly?",果然奏效,欧洲人都很nice的同意了,于是我把之前背诵的自我介绍,“滔滔不绝”的完整的背诵了一遍,一切按照计划进行,总共三十分钟的面试时间,被我消耗殆尽。就在我准备优雅的说“byebye”的时候,那边提出:“can I ask one more question?” 额,接着就尴尬了,老外在巴拉巴拉,然后我在pardon?pardon?还好老外非常nice的,每次说一个字母的方式,来迁就我:“S - Q - L, T - O - P”(就是sql语句里面top的语法).对于字母我还是能听懂的,由于事先没有准备这个问题的英文版本,只能硬着头皮,一个单词一个单词的回应了问题。面试结束后,已经汗流浃背!我算幸运的,遇到了很宽容的面试官,使我进入了这家非常好的IT外企!感恩!!!

全英文工作环境

进入IT外企后,面对的是全英文的windows操作系统和各种软件,全英文交流的邮件,全英文的电话会议!紧张、羞涩、尴尬、不知所措是我那时候大部分时间的工作状态。还记得,回复第一封电子邮件,花了一个小时,写了不到三行英文; 第一次电话会议,说了两句话:“Good morning” “byebye”。还好公司是宽容的,给我足够的时间提高自己。

我用的都是笨办法:每一次写邮件,尽量模仿同事的写法,每一个用词,每一句话,都要查字典来确定拼写和语法都没有错误;每一次电话会议,用录音设备全程录下来,在回去的地铁上重复听,熟悉对方的发音、说话习惯;卸载机器上的中文输入法,使用文字聊天工具的时候,逼自己和同事(包括中国同事)用英语来写。

就这样坚持了5年,基本能够流畅的写长英文邮件,电话会议也能听懂八九不离十,能够用还不太标准的发音,进行技术方案的演讲。

在这家外企工作了13年,今年初离职了。离开时百感交集,离别感言也一直说,公司是多么伟大的公司,给员工极大的尊重和宽容。愿老东家摆脱困境,Great Again!

学习经验总结

  • Rule Number one: 坚持、坚持、再坚持!点点滴滴,汇聚星辰大海
  • 坚持磨耳朵:坚持听英文,耳朵是个很神奇的器官,有时候,即使听了,没经过大脑,它也有效果。比如说,反复听一首歌,不特意去学,后来也不自觉会唱了。推进一个很优秀的APP(开言英语),有很多免费的栏目,当然收费栏目的也不错.
  • 空杯心态,夯实基础:万丈高楼平地起,不要介意重学基础语法和单词,特别是发音,把this, that, it, the读标准也不容易
  • 勇于开口交流:不怕说错单词,不怕说错语法,不怕说的是只言片语。开口了,就成功了一半
  • 结合工具:开会时,结合肢体语言,和PPT辅助表达意思
  • 创造环境:大家有个误区,进了外企就能克服英文。我遇到太多待了很多年,还是不能开口说的同事。要主动创造环境,例如创造和老外的定期会议(一周一次,两周一次都可)。组织部门的英语角

有人会问,是通过背单词来提高,还是通过听说来提高?我觉得这个没有标准答案,因人而异。我学习笔记感性,喜欢听和说,可能其他人从背单词反向找灵感。可以尝试不同方式,找到合适自己的方法。

今天恰逢圣诞节,Merry Christmas!

码农英语四级考了6次,也能进知名IT外企的更多相关文章

  1. 管理与技术未必不可兼得,一个20年IT老兵的码农生涯

    作者|康德胜 我是一个喜欢写代码但几乎不太有机会写代码的CTO,也是一个看得懂财务报表.通过所有CFA(金融特许分析师)考试并获得FRM(金融风险经理)认证的拿到金融MBA的CTO,如果我有幸被称作码 ...

  2. 老码农教你在 StackOverflow 上谈笑风生

    作为一个高大上的码农,你肯定用到过 StackOverflow,必须的.会有人否定这个断言么?那他恐怕不是真正的码农,或者说还没入门.StackOverflow 对于码农的重要性,基本就和诸葛亮对刘备 ...

  3. 老码农冒死揭开行业黑幕:如何编写无法维护的代码[ZZ]

    下面是一篇有意思的"代码大全",可谓 逆软件工程. 老码农冒死揭开行业黑幕:如何编写无法维护的代码 原文如下 让自己稳拿铁饭碗 ;-) – Roedy Green(翻译版略有删节) ...

  4. 拥抱Mac之码农篇

    拥抱Mac之码农篇 使用Mac大概两年时间.之前用着公司配的一台27寸的iMac.无奈机械硬盘严重拖慢速度,影响工作心情.于是入手Macbook Retina 13.这两年的开发工作所有在Mac上完毕 ...

  5. 码农"混子"的思想转变

    首先介绍一下自己,在高中的时候学校对于我们这种普通班级采取的都是放养状态,所以高中的学习真是不咋地,可能除了自己擅长的数学以外其他也就考个三四十分,后来磕磕绊绊的在打游戏之余也会学习,第一次参加高考跟 ...

  6. 6年DotNet码农的盲目经历

    前言   第一篇没有选择记录与技术相关的文档,是考虑到有必要给查阅这篇文档的伙伴们“自我介绍”一下,大佬们看了求带或指导,我很愿意学习,初学者们看了千万不要重复走我之前的“学习之路”:我老家贵州,再过 ...

  7. 【整理】待毕业.Net码农就业求职储备

    声明:本文题目来源于互联网,仅供即将从学校毕业的.Net码农(当然,我本人也是菜逼一个)学习之用.当然,学习了这些题目不一定会拿到offer,但是针对就业求职做些针对性的准备也是不错的.此外,除了技术 ...

  8. <开心一笑> 码农 黑客和2B程序员之间的区别

    笔记本电脑 码农: 黑客: 2B程序员: 求2的32次方: 码农: System.out.println(Math.pow(2, 32)); 黑客: System.out.println(1L< ...

  9. 经典算法C++版(参考一线码农博文)

    鉴于一线码农的算法博文基本通过C#完成,此处用C++再实现一遍,具体解法可参考其博文. 地址:http://www.cnblogs.com/huangxincheng/category/401959. ...

随机推荐

  1. 3、Spring Cloud Rest工程创建(通过IDEA创建)

    1.Rest微服务构建简介 (1).介绍 以Dept部门模块做一个微服务通用案例Consumer消费者(Client)通过REST调用Provider提供者(Server)提供的服务. (2).Myb ...

  2. day8(使用celery异步发送短信)

    1.1在celery_task/mian.py中添加发送短信函数 # celery项目中的所有导包地址, 都是以CELERY_BASE_DIR为基准设定. # 执行celery命令时, 也需要进入CE ...

  3. 洛谷 P3410 拍照(最大流 + 建图)

    这道题问的是一群人要和另一群人合影,每个客人都有必须在场的人全部在场才能在场,每个客人给的有收入,但是邀请也需要支出,问最大收入? 我觉得可以总结为一类问题,就是有先决条件的网络流问题.看到费用和支出 ...

  4. 转:关于Python中的lambda,这篇阅读量10万+的文章可能是你见过的最完整的讲解

    lambda是Python编程语言中使用频率较高的一个关键字.那么,什么是lambda?它有哪些用法?网上的文章汗牛充栋,可是把这个讲透的文章却不多.这里,我们通过阅读各方资料,总结了关于Python ...

  5. PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象的toolButtonStyle属性

    tooButtonStyle属性保存主窗口工具栏按钮的样式设置,用来表示工具栏按钮的文字和图标怎么显示. 该属性的可设置值类型为枚举类型Qt.ToolButtonStyle,它包含如下值: 该属性的缺 ...

  6. Hive基本原理及配置Mysql作为Hive的默认数据库

    Hive是什么? Hive是基于Hadoop之上的数据仓库: Hive是一种可以存储.查询.分析存储在hadoop中的大规模数据 Hive定义了简单的类SQL查询语言,成为HQL,它允许熟悉SQL的用 ...

  7. 深入理解C#中的异步(一)——APM模式EAP模式

    深入理解C#中的异步(一)--APM模式EAP模式 目录 深入理解C#中的异步(一)--APM模式EAP模式 1 使用异步编程的原因 2 异步编程模式 2.1 APM模式 2.1.1 APM模式示例代 ...

  8. 题解-Enemy is weak

    Enemy is weak 求序列 \(a\{n\}\) 中的三元逆序对数量. 数据范围:\(3\le n\le 1e6\). 这题真是一道又好又水的题,可是我看别人的题解做法真是玄学难懂,于是蒟蒻要 ...

  9. 通过Spring profile方式实现多环境部署

    1 多环境部署 在实际软件开发和部署过程中,我们的软件往往需要在不同的运行环境中运行.例如,各个环境数据库地址不同,需要单独配置.spring高级装备中提供profile,来支持多环境部署. 1.1 ...

  10. Python 学习笔记 之 随着学习不断更新的Python特性搜集

    大小写敏感 缩进敏感--tab和空格不要混用,最好使用4个空格进行缩进.可使用vim配置缩进字符为4个空格 编写py文件时注意文件的编码,UTF-8 without BOM, 并且记得声明coding