孙玲:从流水线工人到谷歌程序员

news2024/11/21 18:18:21

这是《开发者说》的第24期,本期我们邀请的开发者是孙玲,她出生于湖南娄底一个贫穷的农村家庭,2009年高考落榜,她去了深圳一家电子厂,在流水线上给电池喷码,每天12个小时轮班,月薪2300,几个月后,她就厌烦了这种日复一日的工厂生活。上编程培训,自考本科、学习英语,成功留学美国,2022年6月,她收到了全球最顶级的互联网公司谷歌的offer,成为一名谷歌的程序员。如果现在有一部关于打工人逆袭翻身的励志故事,主人公最好的设定就是程序员。

1、请自我介绍一下。

大家好,我叫孙玲,老家是湖南娄底,2009年高中毕业去了深圳电池厂打工,后面开始学习编程,成为一名程序员,2017年去了美国,目前在西雅图谷歌做程序员,来美国差不多七年的时间。

2、分享一下自己的职业经历,如何走上程序员的职业道路的?

2009年高考没考好,家里条件不是很好,就去深圳打工去了,09年到11年的时间,我做过好几份工作,一份工作,就是在工厂里面做流水线工人,也有做过114的一个话务员,做过餐厅的服务员,直到11年的9月份,我开始做程序员,一直做到2017年。2017年10月份,申请到美国一所大学的一个硕士项目,在这边读了一个硕士,18年10月份,就开始在美国全职工作,在纽约工作两年,差不多一年不到两年的时间,在盐湖城工作了差不多十个月的时间,后面又到达拉斯工作了八个月的时间,那这两个地方是同一家公司,2022年加入了西雅图的谷歌,一直到现在。

高中毕业,在深圳只能找到工厂或者是餐厅服务员相关的工作,我当时候意识到,如果我不想在工厂里边待很长时间的话,我就必须要去学一门技能,机缘巧合,我去参加了一个培训机构推广的活动,一个免费的夏令营,七天的时间里边我有接触到一些编程的东西。如何打字、制作PPT、或者用一个C++程序写一个红绿灯之类的,之后我就对编程开始产生了兴趣。

在工厂里面待了一段时间之后,发现这不是我想要的生活,我就决定去培训机构学习编程,因为没有钱,我只能一边打工一边上课,高中毕业之后,有一个基础的学习能力是可以去学习编程的,这是我一直所相信的,当时我对计算机一无所知,我甚至要从打字开始学起,我们那个班只有两个女生,其他同学确实学的很快一些,我的成绩在班里面还算是可以及格,能够吸收。我只能付出比别人更多的时间与精力。

从培训班出来之后,就开始找工作,11年的时候,程序员的工作还是非常好找的,对我来说,最重要的是它完全改变了我的生活,给了我很多以前没有的自由,周末可以休息,去社交,有自己的一些时间去做自己喜欢做的事情,社交圈子也变大了,之前在工厂的时候,几乎没有太多的时间可以去拓展我的社交圈子,也没有这个意识,在互联网公司做程序员,这是天然的优势,你可以更快接触到更多的,更前沿的一些信息。

3、到美国工作的机会是如何找到的?

12年我开始有在一些有外教的英语培训机构学习英语,当时为了练听力,经常听BBC这种电台,接触到了国外的一些信息,我开始萌生一种想要去外面看看的这种想法。
到16年左右。就发现身边有很多朋友,他们有国外生活和工作的一些经历,他们的英语也很溜,我就觉得自己好像平平无奇,没有什么出彩的经历。从一家公司跳到另外一家公司,工资稍微高一点,仅此而已,没有一个能感动自己的经历,就开始有考虑去国外工作和生活。

有一次,看到一个招聘网站上面的一个广告,是赴美带薪程序员,我觉得很好奇,标题很吸引人,我就打电话过去了解了一下,美国爱荷华州的一个学校在中国有个代理,他们发的这个广告就是招生广告。这个学校有一个computer science的一个硕士项目,项目分为风线上和线下,一开始就是去学习8、9个月的时间,学完之后就开始去找工作,找完工作之后远程去修剩下的课程,大概就是这样的一个模式,我当时想,即使我在美国找不到工作,我在学校里面,8、9个月的时间,能够去体验一番,我觉得也值了。

想好之后,我就开始存钱,学习英语,17年10月,就申请到了这样一个机会。也算比较幸运吧,学完之后很顺利的找到了工作,18年美国的就业市场还好,只要英语还行,可以沟通,努力刷题,找一份工作,还比较容易,我当时用了两个月的时间刷题和面试,两个月的不到的时间,就拿了两个offer。

4、国内外公司面试与工作的差异?

面试是一个可以查漏补缺的一个机会,也是成长最快的时候,即使我什么都不懂,刷题也没有刷过,我就去利用所有争取到的面试机会来帮助我去练习,了解面试流程是怎样的,他们需要什么技能的人,自己是一个什么样的水平,缺少什么,通过面试去分析,再有针对性的去提升自己不足的地方,去制定一些计划。
16年在深圳面试,一家做P2P的公司,前同事推荐我去的,面试流程会稍微的快一些,直接就是一个电话过去,到办公室跟技术负责人面谈,国内公司大部分会很实际,就是看你能不能在这个岗位上面干活,能不能比别人干的更好,面试流程很快。公司里缺什么人,才会招什么人。

谷歌的面试非常不同的是,不是说组里面缺人,然后再去发这个岗位,它是一个很通用的流程,对每个人都是一样的,你面试通过之后再去给你找组,首先第一个就是recruiter的电话,然后再就是一个phone interview,如果你的phone interview过来了之后,它就会给你安排一个onsite或者是virtual onsite的interview。这是谷歌的,亚马逊的稍微不一样,就是每一轮的时候,它就是一半是coding,一半是那个behavior。一般来说,大厂的面试流程都是有onsite的时候,要么就是coding,要么就是system design interview,看你的级别。所以我总结下来,在美国,如果是科技大厂的话就是比较通用化,没有那么具体。

国内的大厂面试的一个流程,我在2020年的时候有回国,在中国也面试过,抖音的那个技术面都面完了,后面是有被卡的话,是因为一些文化不匹配被拒绝掉了。

关于公司文化方面,国内更关注的是否有责任心,能否把工作做好。国外更注重沟通协作和主人翁意识,如果在面试中,对方给出的一些信号,你给人的印象是只会做题,不会说话,会有一些沉默的时间,这个是没那么容易被接受的。

其实面试也不算是一个很对立的过程,也是一个协作的过程,如果对方有回应,我的表达是对被理解的,对方说的话我也理解的,这就是沟通能力的一个体现。

加入谷歌之前,我是没办法想象在一个顶级的互联网公司工作是什么样的感受,有两点我觉得很重要,一个是沟通,一个主人翁的意识。在一个小组里工作,,你做了什么事情,需要很好的展示出来,这种演示的能力,或者说讲故事的能力,非常重要。

Ownership就是主人翁的意识。我之前觉得,公司给我什么事情了,我就解决什么问题,大概就是一个被动的状态。现在我就很想要主动,想要去推进一个事情,掌控这个项目的一个进度。只有掌控的更多,做的越多,才会让自己感受到我在做一些事情,我有在进步,会有这样子的一个感觉。

另外,在谷歌不仅仅是工作本身,它鼓励更多的自我成就的活动,只要有自己感兴趣的地方,都可以去给一些community,去提供自己的价值,组织活动或者是做志愿者。可以认识到不同的人,你可以有20%的时间去安排自己想要去从事的某一些领域的一些东西,这个是很被支持的一个方式。

5、你是如何学习英语的?

说一个关键词就是从输入到输出,12年的时候,利用自己的一些下班时间去学习英语,我觉得对我最大的帮助就是突破了不敢说的这种恐惧,至少我敢去说了,我敢去犯错误了,有这种勇气了。后面有接触到一些外国友人,因为玩一种极限飞盘的运动,认识了,一些外国友人,虽然跟他们说的也不是特别多,但是能够保持一个语感,有一定的语感听力在。

我也有花很多时间去练习自己的听力,听一些博客,或者听BBC和VOA,他们官网有一些那种比较适合初级英语学习者的一些资料,以主持人访谈对话的形式来去讲一个小事情,并且也都是关于在美国或者是英国某个城市的一些生活,这些听起来是蛮有趣的,也不会觉得枯燥,就是一直保持这样子的一个听的习惯。

到现在还是会觉得自己英语不够好,没办法跟第一语言或母语是英语的人去沟通,他们要么就是说话快,要么就是他们有自己的一个文化背景,很多东西还是没法理解。

我会给一起在学习英语的人去做一些分享,就是讲我的学习过程,之前也有申请公众号去把我听的一些音频的资料会整理一下,我做的什么笔记,大概就是把这个学习过程分享出来。这就是我一直以来沿用的输出输入的一个模式,我觉得还是蛮有用的。还有一点,学习语言就是必须得要用起来,如果我能够用这个英语去听更多的资料,听自己感兴趣的东西,这个内容本身就是很有趣,对我也是很有用,然后顺带把这个英语学了,这样子才不会觉得艰难。

6、你如何评价程序员这个职业?优点与缺点?

优点就学习门槛低很多,目前仍处在一个互联网时代的红利中,就是你只要是有点搜索能力和整理能力,就可以接触到所有的信息,这是一个很大的优势。缺点是整天坐在电脑面前,会影响身体健康。

在互联网行业,对女性也更加友好与尊重,不管在国内还是国外,我都没有感受到年龄和性别的歧视,反而在一些科技大厂的话,女性是一个优势,有些公司因为推崇平等会更青睐女性员工,男女比例要拉近一些。

在我们组里面还是会男性居多,女性偏少,如果我在组里面想要展示不同的话,就会有更多的一些女性视角去展示我的不同,这个是我的一个优势,我有不同的视角去表达出来。每个人的优势是不同的,我之前很自卑,发现身边的人学历很好,发过论文,或者是读了不同的专业,甚至有打比赛,参加ACM或是数学天才的这种级别的,就会感觉人家怎么那么优秀,我们两个都是同一个级别,为什么他做事,无论是写文档也好,分享东西也好,就是给到一个问题,解决的效率和做事的方式都让人值得去钦佩和学习。我就会有自己不配的那种感觉。

最近慢慢意识到,我也有我自己的独特性,有自己的一些视角或者是不同,可以给组里面去提供一些价值,现在就会更加自信一些。

7、作为程序员,你最开心的时刻?

22年6月,我拿到了谷歌的offer应该是我最开心的时刻吧,我知道要搬去西雅图,就允许自己放一个星期的假,去探索周边的一些小地方,自驾游去玩了一周,从达拉斯开车到西雅图,比较慢的速度去欣赏沿途的一些国家公园,给自己的一段放松的时间。

8、不断学习成长的内驱力来自哪里?

可以分成几个阶段来讲,从工厂到互联网,成为程序员,这个阶段主要还是想要过更好的生活,赚更多的钱,能够改善自己当下的一个处境。
从中国到美国之后,开始有更多的自我意识,之前人家看什么信息我看什么信息,人家读什么书我读什么书,人

听什么歌我听什么歌,做什么事情都是一个被动的状态,到美国之后,想要多去看看,体验一些不同的经历,来去丰富我的人生,虽然还没有看到自我,至少在寻找的路上,方向是对的。

现在我处于一个偏稳定的状态,更多的是去照顾好自己的身体,照顾好自己的人际圈子,更多的是意识到我有什么东西可以给予的,然后来去实现它,说是抽象一点,就是实现自我超越自我的这种感觉。

最近我收到很多询问方法的问题,就是做这个事情,用什么方法就可以做到,好像一定有一些方法存在,就是可以去解决这个问题,解决自己当下要解决的问题,我觉得这个是一个谬论。我的经历是自学自考,没有学历,可以到美国,确实这是一个可能性,我提供了一种可能性,是一种。并不代表这个方法就适合所有人。每个人的成长和背景都不一样,这个方法要通过自己去探索,才能够解决当下的问题。

9、分享一下自己的业余爱好?

我现在很喜欢西雅图这个城市,这里的户外活动很多,有很多山可以爬,尤其是夏天,很美,西雅图最高的雪山是雷尼奥雪山,在城市的楼顶,没有雾的话,都可以看到这个山,我每年都会去一两次,它有很多的徒步路线可以走。在西雅图附近,只要开车,近的也有远的也有,有很多山可以爬,这是我常去做的一个爱好。

偶尔也会跑步,还会玩一个极限飞盘的团队运动,西雅图是一个飞盘运动发展比较好的城市,有各种各样的活动,只要你有精力的话,你天天都可以玩,甚至在夏天,还有一些比赛可以去打。

我之前有一个习惯,会写日记,也会在公众号去复盘,或者分享一些自己的生活状态。

之前在纽约的谷歌,发现同事每个人都有一个特别酷的爱好,并且会很引以为豪,这个是我identity的一部分。我很羡慕,现在自己有这个条件,也有时间去发展更多自己的爱好。

10、未来的计划与期望?

在职场上面,希望在近一两年往下一个级别去晋升。对我来说,这是一个挑战,我得告诉自己,每个人有每个人的优势,我可以提供独特的一些视角去表达我的价值。在生活方面,想要有一个家庭或者是小孩,想要通过这样一种方式,让我可以体验到生活的这种层次感和丰富性。

另外一方面,我想要去表达一些东西,但是没有那么清晰,用什么样的的方式表达,我还是会很害怕去整理一些东西,甚至会对自己表达的东西不认可,我希望未来自己可以有一个非常清晰的认知,我知道什么,我想要表达什么。

故事征集:

《开发者说》是我们最新推出的一个访谈栏目,邀请了一些国内外有趣的程序员来分享他们的经验、观点与成长故事,我们尝试建立一个程序员交流与学习的平台。

欢迎大家推荐朋友或自己来参加我们的节目,分享与对话是一件利他又利己的事。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2244814.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kali搭建pikachu靶场

前言: 总所周知搭个网站需要有apachemysqlphp,Apache是一个开源的Web服务器软件, MySQL是一种关系型数据库管理系统(数据库),PHP是一种在服务器上执行的脚本语言 文章内容来自:【黑帽编程与攻…

android 使用MediaPlayer实现音乐播放--获取音乐数据

前面已经添加了权限&#xff0c;有权限后可以去数据库读取音乐文件&#xff0c;一般可以获取全部音乐、专辑、歌手、流派等。 1. 获取全部音乐数据 class MusicHelper {companion object {SuppressLint("Range")fun getMusic(context: Context): MutableList<Mu…

VMware Workstation 17.6.1

概述 目前 VMware Workstation Pro 发布了最新版 v17.6.1&#xff1a; 本月11号官宣&#xff1a;针对所有人免费提供&#xff0c;包括商业、教育和个人用户。 使用说明 软件安装 获取安装包后&#xff0c;双击默认安装即可&#xff1a; 一路单击下一步按钮&#xff1a; 等待…

Methode Electronics EDI 需求分析

Methode Electronics 是一家总部位于美国的全球性技术公司&#xff0c;专注于设计和制造用于多个行业的电子和电气组件&#xff0c;产品涵盖汽车、工业、电信、医疗设备以及消费电子等多个领域&#xff0c;提供创新的解决方案。 填写Methode_EDI_Parameters_Template Methode_…

uniapp自动注册机制:easycom

传统 Vue 项目中&#xff0c;我们需要注册、导入组件之后才能使用组件。 uniapp 框架提供了一种组件自动注册机制&#xff0c;只要你在 components 文件夹下新建的组件满足 /components/组件名/组件名.vue 的命名规范&#xff0c;就能直接使用。 注意&#xff1a;组件的文件夹…

【Vue】Vue3.0(二十六)Vue3.0中的作用域插槽

上篇文章 【Vue】Vue3.0&#xff08;二十五&#xff09;Vue3.0中的具名插槽 的概念和使用场景 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Vue专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年11月20日17点30分 文章目录 概念使用场景示…

C语言第14节:字符函数和字符串函数

1. 字符分类函数 C语言中有一系列的函数是专门做字符分类的&#xff0c;也就是一个字符是属于什么类型的字符的。这些函数的使用都需要包含一个头文件是<ctype.h> <ctype.h>头文件中的字符分类函数提供了一组用于检查单个字符特性的函数。这些函数接收一个字符&a…

IDEA怎么定位java类所用maven依赖版本及引用位置

在实际开发中&#xff0c;我们可能会遇到需要搞清楚代码所用依赖版本号及引用位置的场景&#xff0c;便于排查问题&#xff0c;怎么通过IDEA实现呢&#xff1f; 可以在IDEA中打开项目&#xff0c;右键点击maven的pom.xml文件&#xff0c;或者在maven窗口下选中项目&#xff0c;…

使用vscode+expo+Android夜神模拟器运行react-native项目

1.进入夜神模拟器安装路径下的bin目录 2.输入命令&#xff0c;连接Android Studio 启动夜神模拟器后&#xff0c; 打开安装目录的bin文件夹执行下面的命令&#xff0c;只需执行一次&#xff09; nox_adb.exe connect 127.0.0.1:62001adb connect 127.0.0.1:62001 3.运行项目…

IPv6 NDP 记录

NDP&#xff08;Neighbor Discovery Protocol&#xff0c;邻居发现协议&#xff09; 是 IPv6 的一个关键协议&#xff0c;它组合了 IPv4 中的 ARP、ICMP 路由器发现和 ICMP 重定向等协议&#xff0c;并对它们作出了改进。该协议使用 ICMPv6 协议实现&#xff0c;作为 IPv6 的基…

个人全栈开发微信小程序上线了(记日记)

个人开发的全栈项目&#xff0c;《每日记鸭》微信小程序上线了&#xff01; 主要是技术栈&#xff1a;uniapp,koa2,mongodb,langchian&#xff1b; 感兴趣的小伙伴可以来捧捧场&#xff01;

用源码编译虚幻引擎,并打包到安卓平台

用源码编译虚幻引擎&#xff0c;并打包到安卓平台 前往我的博客,获取更优的阅读体验 作业内容: 源码编译UE5.4构建C项目&#xff0c;简单设置打包到安卓平台 编译虚幻 5 前置内容 这里需要将 Epic 账号和 Github 账号绑定&#xff0c;然后加入 Epic 邀请的组织&#xff0c…

如何更改手机GPS定位

你是否曾想过更改手机GPS位置以保护隐私、玩游戏或访问受地理限制的内容&#xff1f;接下来我将向你展示如何使用 MagFone Location Changer 更改手机GPS 位置&#xff01;无论是在玩Pokmon GO游戏、发布社媒贴子&#xff0c;这种方法都快速、简单且有效。 第一步&#xff1a;下…

如何在 Ubuntu 上使用 Docker 部署 LibreOffice Online

简介 LibreOffice Online&#xff08;也称为Collabora Online&#xff09;是一个开源的在线办公套件&#xff0c;它提供了与LibreOffice桌面版相似的功能&#xff0c;但完全在云端运行。这意味着用户可以通过浏览器访问和编辑文档&#xff0c;而无需在本地计算机上安装任何软件…

Uniapp运行环境判断和解决跨端兼容性详解

Uniapp运行环境判断和解决跨端兼容性 开发环境和生产环境 uniapp可通过process.env.NODE_ENV判断当前环境是开发环境还是生产环境&#xff0c;一般用于链接测试服务器或者生产服务器的动态切换。在HX中&#xff0c;点击运行编译出来的代码是开发环境&#xff0c;点击发行编译…

华为Ensp模拟器配置OSPF路由协议

目录 简介 实验步骤 Pc配置 路由器配置 OSPF配置 交换机配置 简介 开放式最短路径优先 (OSPF) 协议深度解析 简介 开放式最短路径优先&#xff08;Open Shortest Path First, OSPF&#xff09;是一种内部网关协议&#xff08;IGP&#xff09;&#xff0c;用于在自治系统…

【JavaEE初阶 — 多线程】线程池

目录 1. 线程池的原理 1.1 为什么要有线程池 1.2 线程池的构造方法 1.3 线程池的核心参数 1.4 TimeUnit 1.5 工作队列的类型 1.6 工厂设计模式 1.6.1 工厂模式概念 1.6.2 使用工厂模式的好处 1.6.3 使用工厂模式的典型案例 1.6.4 Thread…

Vue通过file控件上传文件到Node服务器

功能&#xff1a; 1.多文件同时上传、2.拖动上传、3.实时上传进度条、4.中断上传和删除文件、5.原生file控件的美化 搁置的功能: 上传文件夹、大文件切片上传、以及其他限制条件未处理 Node服务器的前置准备: 新建文件夹: file_upload_serve初始化npm: npm …

Spring Security使用基本认证(Basic Auth)保护REST API

基本认证概述 基本认证&#xff08;Basic Auth&#xff09;是保护REST API最简单的方式之一。它通过在HTTP请求头中携带Base64编码过的用户名和密码来进行身份验证。由于基本认证不使用cookie&#xff0c;因此没有会话或用户登出的概念&#xff0c;这意味着每次请求都必须包含…

[大数据] Iceberg

G:\Bigdata\25.iceberg 第3章 与 Hive集成 3.1 环境准备 1)Hive与Iceberg的版本对应关系如下 Hive 版本 官方推荐Hive版本 Iceberg 版本 2.x 2.3.8 0.8.0-incubating – 1.1.0 3.x 3.1.2 0.10.0 – 1.1.0 Iceberg与Hive 2和Hive 3.1.2/3的集成,支持以下特性: 创建表删除表…