坚持看英文编程资料提升自己已有一年多了,这期间帮助很大。总体感受,英语对软件工程师真的很重要。

为什么要提高英语能力?

  1. 软件领域的新技术资料,较有深度的技术资料均为英文
  2. 由于计算机编程语言是以英文逻辑为基础,用英文思维更容易理解。 中文技术资料很多名词及表述很生硬,理解困难。
    举个例子,操作系统的翻译教材或者国内教材,进程间通信机制 Semaphore , 相信很多人都看得都是一头雾水,学习时只好强记,通过考试就行。多年后,看了英文原版教材后,才豁然明白其原理,Semaphore 就是1个counter, 进程A进入critical region 操作共享数据时,将counter置为0, 其它进程看到counter为0后,就进入wait region 等待,直到进程A离开,将counter 再加1,等待区的进程才有机会进入critical region,. Semaphore 在教材中翻译为信号量,mutex 教材称为互斥量,说实话,理解起来不达意,反而是看英文很快就理解了。
  3. 在调试程序中,由于各种软件包都是英文为主,代码的报错基本都是英文,用英文在stackoverflow , bing搜索帮助更容易。
  4. 当介入1个较深的技术主题,往往找不到中文资料,讨论及论文都是英文的,这时你不得不用英文,如人工智能技术问题。

提高英语水平很难吗?


个人经验,关键是坚持,再辅有好的学习方法,坚持下去,就会看到自己的进步,逐步增强信心。

下面是我的一些学习心得:

  1. 克服初期阅读英文资料的“厌烦”关。
    根据学习内容,先从初级英文教材网络上选择合适的教材,如w3schools, tutorialspoint等学习网。也可以将材料打印出来,有空就读。选一本英文入门趣味读物,平时放松时坚持阅读,如《The Wizard of Oz》(绿野仙踪)等。
    开始时,读了几页就犯困,当读完了5本英文书籍后,随着阅读能力的提高,厌烦感会逐渐减弱,阅读时逐渐能够沉浸入学习内容。
  2. 搜集计算机专业词汇,如C++, Python,数据库开发等语法词汇,保留字、术语等,牢记这些词汇。
    把词汇表放在电脑、手机上,随时记忆,不让词汇成为阅读的障碍。
  3. 遇到问题时,坚持用 bing 来搜索而非百度,用 stackoverflow 而不是csdn与国外开发者交流。
  4. github上找1个小型开源项目,学习代码,阅读文档,试运行项目,有问题与作者交流,尝试对代码做一些改进,发给作者,通常作者会与你做更多沟通。
  5. 培养英文思维习惯。原因是,因为编程语言是以英文思维逻辑为基础。
    • 用英文写文档。
    • 坚持每天花半小时在脑回路中用英文思考,自己用英文来回答问题。
    • 观看国外公开课. 我看了C++公开课,人工智能基础课,下载到手机上,有空就看。
    • 遇到陌生词汇,不要使用汉英词典,而使用英-英词典来查询解释,如cambridge dictionary, Merriam-Webster等,主要目的是学习用英文解释英文,强迫自己用意译理解,形成对新词汇的长期记忆。
    • 熟炼掌握UML。在Coding之前,坚持用规范的UML图形化工具来进行软件设计,用图形来表达思路,与英语建立关系。
      用图形来表达思维非常有效,而且UML还是软件开发的基础工具,一举两得。
  6. 英语读写能力与口语能力可以分开进行。
    本质上,我们大脑思维已经是中文思维。而英语口语表达熟练要求大脑思维与听觉、发声器官协同形成条件反射,因此成年人因听力以及思维习惯固定的原因,学习外语口语,需要大量的练习才能达到效果。而读写能力,相对而言,是“慢”思维,所需要的练习量远低于口语的量,因此可以分开进行。
  7. 只有当英语阅读量、与国外开发者的勾通累积到一定量级,英语水平才能得到质的提升,同时编程能力也得到大幅提高,形成正反馈循环。这是1个台阶式成长的过程。

总之,英语是一门语言,但我不认为它是某国的专属文化资产,而是全人类的文化工具。既然我们认为它是1个工具,而且对编程学习很重要,那么用好这个工具,就有了意义。

对软件工程师提高英语能力的建议相关推荐

  1. 学软件工程的人计算机几级,学软件工程师对英语的最低要求是过几级?网络工程师需要对哪方面强一点?具休达到什么水准?...

    学软件工程师对英语的最低要求是过几级?网络工程师需要对哪方面强一点?具休达到什么水准?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起 ...

  2. 如何在大学期间提高英语能力

    随着全球化的加速和国际交流的增多,英语作为一门全球性语言,已经成为了现代社会中不可或缺的重要工具.在大学期间,提高英语能力可以帮助你更好地掌握专业知识.扩展国际视野.增强竞争力等.然而,如何在大学期间 ...

  3. B站硬核up主稚晖君:对于有志学习嵌入式开发的软件工程师,我有这些建议!...

    稚晖君,何许人也? 本硕就读于电子科技大学 华为AI架构师 热爱硬件开发 B站硬核UP主 "栈溢出"工程师 加入"华为天才少年计划" 或许当你看到这一堆Titl ...

  4. PwC上海AC面经-助理软件工程师(英语)

    PwC上海AC面经-助理软件工程师(英语)(AC) 宣讲+笔试 ​ 介绍了下剩余岗位和大概薪资和待遇,接着做一个问卷星形式的英文笔试(时长大约80分钟),大概有简单的英文阅读理解,逻辑题,HTML(2 ...

  5. java工程师面试英文自我介绍_软件工程师面试英语自我介绍范文

    软件工程师面试英语自我介绍范文 当碰到陌生人时候,常常需要我们进行自我介绍,通过自我介绍可以让别人认识自己.怎么写自我介绍才能避免踩雷呢?以下是小编为大家整理的软件工程师面试英语自我介绍范文,欢迎大家 ...

  6. 提高软件测试能力的建议

    我起初准备自己写10条建议给刚入门的软件测试员们.但之后我看了lolcats/icanhascheezburger 上的名人Ben Huh的一段演讲.Ben指出,有了互联网,信息成了免费资源,但组织, ...

  7. 破解技术人才招聘难、培养难!CSDN 软件工程师能力认证标准正式开源开放

    对于企业.高校.开发者个人而言,我们总面临这些问题: 个人没有明确的成长路径,学习资源越来越分散: 从学校里学到的知识无法很好地运用在工作中: 能力泡沫严重,一纸简历随意美化,无法检验真实能力: 企业 ...

  8. 软件工程师的职业建议

    原文:http://survivor.ruanyifeng.com/startup/advices.html 什么样的人适合当软件工程师? 下面的职业建议分别来自台湾的侯捷老师,以及美国的著名程序员尼 ...

  9. 转:高级软件工程师成长秘诀(文末有笔者自己的小评论)

    作者:Neil Kakkar 译者 | 张健欣 身为软件工程师,你要如何进一步成长? 2018 年的时候,我开始在彭博社(Bloomberg)工作.从那之后,事情发生了很大变化.我不再是公司里最初级的 ...

最新文章

  1. android点击事件注册方式,Android界面控件(3)— 注册同一个点击事件的监听器...
  2. SPP pooling layer
  3. apache-tomcat-7.0.54安装
  4. Android studio之提示Failed to resolve: com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.46
  5. Windows Presentation Foundation 开始介绍
  6. 从Android界面开发谈起
  7. 2021-10-21 pgRouting
  8. Xamarin.Android AlertDialog中的EditText打上去字为什么不显示?也没有光标闪烁
  9. 任务调度框架 Quartz 用法指南「超详细」
  10. “职业丑人”:大公司雇“职业杀手”大裁员
  11. mqtt简介及在web端的应用(接入阿里iot)
  12. LCD显示屏选购技巧是什么?
  13. 初创公司,如何找到靠谱的产品经理?
  14. cannot find method ‘value‘
  15. 【Office】解决Excel关闭Personal工作簿导致宏不见的情况
  16. 大学计算机实践教程在线阅读,第一部分 实验免费阅读_大学计算机基础实践教程免费全文_百度阅读...
  17. linux 去掉终端控制符,Linux终端显示控制字符
  18. leetcode 51. N 皇后
  19. 当你在浏览器上,指尖轻轻输入 www.taobao.com 以后发生了什么?
  20. 聚簇索引和非聚簇索引(通俗易懂 言简意赅)

热门文章

  1. Invalid byte tag in constant pool: 19
  2. 服务器指定gpu命令,用于亚马逊网络服务深度学习的10个命令行技巧
  3. 『Flutter开发实战』十分钟入门Dart语言
  4. ios 计算label宽度(高度)出错在iPhone5s、iphone6上出错
  5. Java毕设项目吃到撑零售微商城(java+VUE+Mybatis+Maven+Mysql)
  6. 2022年安卓装Windows11操作系统教程+附软件包
  7. 代码参数里的 payload 是什么意思
  8. 特征工程——文本特征
  9. vue核心原理之--理解Tree-Shaking
  10. Retrofit打印网络请求日志