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

这是《开发者说》的第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、未来的计划与期望?

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

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

故事征集:

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度解析FastDFS:构建高效分布式文件存储的实战指南(上)

文章目录 一、FastDFS简介1.1 概述1.2 特性 二、FastDFS原理架构2.1 FastDFS角色2.2 存储策略2.3 上传过程2.4 文件同步2.5 下载过程 三、FastDFS适用场景四、同类中间件对比4.1 FastDFS和集中存储方式对比4.2 FastDFS与其他文件系统的对比 五、FastDFS部署5.1 单机部署5.1.1 使…

Argo workflow 拉取git 并使用pvc共享文件

文章目录 拉取 Git 仓库并读取文件使用 Kubernetes Persistent Volumes(通过 volumeClaimTemplates)以及任务之间如何共享数据 拉取 Git 仓库并读取文件 在 Argo Workflows 中,如果你想要一个任务拉取 Git 仓库中的文件,另一个任…

Xilinx 7 系列 FPGA的各引脚外围电路接法

Xilinx 7系列FPGA的外围电路接法涉及到多个方面,包括电源引脚、时钟输入引脚、FPGA配置引脚、JTAG调试引脚,以及其他辅助引脚。 本文大部分内容由ug475, Product Specification——7 Series FPGAs Packaging and Pinout《7系列FPGA的封装与引脚》整理汇…

CDH大数据平台搭建

各大开源以及商用厂商的大数据产品汇总: https://zhuanlan.zhihu.com/p/675011462 Ambari 界面: 一、安装一个新的虚拟机 配置要求:8核,10G内存,最好是200G 修改yum源: 修改阿里云的镜像文件&#xff1…

计算机毕业设计 | SpringBoot+vue汽车资讯网站 汽车购买咨询管理系统(附源码+论文)

1,绪论 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理汽车资讯网站的相关信息成为必然…

24.11.19 web框架

2.2配置环境变量 2.3maven命令测试 mvn -v 测试maven查看版本 2.4maven仓库配置 配置远程仓库地址 配置本地仓库 2.5idea中配置maven 2.6通过配置idea 创建maven项目 创建项目时 构建系统 选到maven 初次创建项目时 会把maven的基础依赖库(jar包) 下载到本地仓库 需要等待一…

【Golang】——Gin 框架中的模板渲染详解

Gin 框架支持动态网页开发,能够通过模板渲染结合数据生成动态页面。在这篇文章中,我们将一步步学习如何在 Gin 框架中配置模板、渲染动态数据,并结合静态资源文件创建一个功能完整的动态网站。 文章目录 1. 什么是模板渲染?1.1 概…

【list的模拟实现】—— 我与C++的模拟实现(十四)

一、list节点 ​ list是一个双向循环带头的链表&#xff0c;所以链表节点结构如下&#xff1a; template<class T>struct ListNode{T val;ListNode* next;ListNode* prve;ListNode(int x){val x;next prve this;}};二、list迭代器 2.1、list迭代器与vector迭代器区别…

QString 转 char*问题与方法(const_cast的使用问题)

1、背景:今天有QString的变量&#xff0c;将QString的值传递给void func(char * ptr)&#xff0c;于是就有了类似下面这一段离谱的代码 当时我还在想为什么var的值为空了&#xff0c;为什么呢。 2、原因:就是因为右边函数返回的是一个临时指针对象&#xff0c;给到了右边&…

每天五分钟机器学习:支持向量机算法数学基础之核函数

本文重点 从现在开始,我们将开启支持向量机算法的学习,不过在学习支持向量机算法之前,我们先来学习一些支持向量机所依赖的数学知识,这会帮助我们更加深刻的理解支持向量机算法,本文我们先来学习核函数。 定义 核函数(Kernel Function)是一种在支持向量机(SVM)、高…

云原生之运维监控实践-使用Prometheus与Grafana实现对Nginx和Nacos服务的监测

背景 如果你要为应用程序构建规范或用户故事&#xff0c;那么务必先把应用程序每个组件的监控指标考虑进来&#xff0c;千万不要等到项目结束或部署之前再做这件事情。——《Prometheus监控实战》 去年写了一篇在Docker环境下部署若依微服务ruoyi-cloud项目的文章&#xff0c;当…

MiniMates:一款轻量级的图片数字人驱动框架

随着数字人技术的不断发展,越来越多的应用场景开始涌现,从虚拟主播到AI伴侣,数字人的应用范围越来越广。然而,现有的数字人驱动框架往往存在性能瓶颈、依赖性强、定制难度高等问题。近期,我发现了一款名为 MiniMates 的轻量级图片数字人驱动框架,它在性能、个性化定制和终…

SpringBoot3_Web开发

4. 内容协商 一套系统适配多端数据返回 移动端&#xff1a;返回JSON数据第三方&#xff1a;返回XMLIoT&#xff1a;返回自定义协议数据 1. 默认规则 1. SpringBoot 多端内容适配 基于请求头内容协商 【默认】 客户端向服务端发送请求&#xff0c;携带HTTP标准的 Accept 请求…

C++ —— 剑斩旧我 破茧成蝶—C++11

江河入海&#xff0c;知识涌动&#xff0c;这是我参与江海计划的第2篇。 目录 1. C11的发展历史 2. 列表初始化 2.1 C98传统的{} 2.2 C11中的{} 2.3 C11中的std::initializer_list 3. 右值引用和移动语义 3.1 左值和右值 3.2 左值引用和右值引用 3.3 引用延长生命周期…

mysql复习题(实验7-8)

建立一个学生入学信息管理&#xff08;x_y&#xff09;数据库&#xff0c;设计其数据库模式为&#xff1a; 学生表&#xff08;学号&#xff0c;姓名&#xff0c;性别&#xff0c;入学成绩&#xff0c;籍贯&#xff0c;院系编号&#xff09; 院系表&#xff08;院系编号&…

详细分析ipvsadm负载均衡的命令

目录 前言1. 基本知识2. 命令参数3. 拓展 前言 LVS四层负载均衡架构详解Lvs推荐阅读&#xff1a;添加链接描述 1. 基本知识 ipvsadm 是用于管理和配置 Linux 服务器上 IP Virtual Server (IPVS) 的工具&#xff0c;是 Linux 提供的一个负载均衡模块&#xff0c;支持多种负载…

反向代理模块

1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求&#xff0c;然后将请求转发给内部网络上的服务器&#xff0c;将从服务器上得到的结果返回给客户端&#xff0c;此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说&#xff0c;反向代理就相当于…

大数据新视界 -- Impala 性能突破:复杂数据类型处理的优化路径(上)(25 / 30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

Excel使用-弹窗“此工作簿包含到一个或多个可能不安全的外部源的链接”的发生与处理

文章目录 前言一、探讨问题发生原因1.引入外部公式2.引入外部数据验证二、问题现象排查及解决1.排查公式2.排查数据验证3.特殊处理方式总结前言 作为一种常用的办公软件,Excel被大家所熟知。尽管使用了多年,有时候在使用Excel时候也会发生一些不太常见的现象,需要用心核查下…

【小程序】dialog组件

这个比较简单 我就直接上代码了 只需要传入title即可&#xff0c; 内容部分设置slot 代码 dialog.ttml <view class"dialog-wrapper" hidden"{{!visible}}"><view class"mask" /><view class"dialog"><view …