我有一本微微发黄的时间相册,藏于记忆深处,它承载着我斑斓而平凡的回忆。将相册快速向前翻页,定格在了2017年9月25日,那是在广州白云机场国际航站楼,家里人为我送行拍的一张合影。彼时即将踏上美国大陆求学,将在那里度过4年的求学和工作生涯。合影里的我笑容满面,而父亲的眼角却包含着不舍和留恋。年轻人总是对眼前弥漫雾气的前途,充满着期待、迷茫和恐惧。但是我相信只要坚定的朝着正确的方向前行,总有一轮初阳会穿破迷雾照耀而来。
我对记忆里每个片段都很珍惜,不管是窗外的草坪上挂着的血红夕阳,还是那些在图书馆长灯不眠的学习夜晚,这些记忆组成了人生的血肉,使我变得丰富,从而拓宽了人的定义。
今天,我从记忆里挑出了一段很重要的片段:毕业后成为软件工程师。分享给各位读者,我们一起来从这段经历里探索:我(留学生)是如何找到工作的?在美国当程序员是种什么体验?是否和国内的“程序猿”们有明显的区别?是否存在996和可怕的加班文化?
我的专业
我本科是211院校的网络工程,硕士毕业于美国雪城大学,所学专业为计算机科学。学过的课程几乎涵盖了所有计算机基础知识:比如计算机网络、网络安全、网络架构和协议,各种编程语言(C++, Java, Python, JS, Swift, CSS,HTML)、数据库和数据结构、人工智能等。
从我的专业(Computer Science)可以看出我完全符合STEM领域划分。STEM是科学(Science),技术(Technology),工程(Engineering),数学(Mathematics)四门学科英文首字母的缩写,这四门学科是利用数学逻辑,探索自然规律、推动社会向未来发展的重要工具。
而STEM专业,在美国具有良好的就业前景,这是文科专业留学生非常羡慕的一点。美国重视实业创新和科学技术,强调科技型应用人才。尤其是当下信息技术、人工智能、生物工程、新材料、新能源等领域的热门,使得美国政府十分重视STEM领域的投入。STEM专业的学生可以享受36个月OPT时长(毕业后可以呆在美国的工作时间,和H1B有区别)、毕业后即高薪,更高几率拿到绿卡等优势,深受国内学生和家长的喜爱。
求职心得
我是在5月份毕业的,但是在毕业前的半年至一年,就已经在投递offer了。具体做法分为以下几步:
树立紧迫心态,走出舒适安逸。
相信很多刚入学的同学,回想起大一大二,或者研一都觉得是一段轻松愉悦的时光:初入学校的新鲜、各种社交活动、灯红酒绿的玩乐party。但是到了大三,研一下半学期(两年制),就要感觉到找工作的紧迫性,跳出安逸的舒适圈,强迫自己去思考未来的现实问题。
树立理性心态,明确就业目标。
到了人生选择的岔路口,我所学的Computer Science其实是一个包罗万象计算机科目。但为了就业或者继续求学,必须选择计算机的某一专业方向,而这个方向,就注定了你的工作岗位寻找方向亦或是读博的选择导师方向。
对于我,我确定了两个方向(Java编程开发或iOS编程开发)和一个城市目标(克利夫兰市Cleveland)。因为在我选择的计算机语言里,JAVA这门面向对象的设计语言不仅吸收了C++语言的优点,还摒弃了难以理解的多继承,指针等概念,很适用于Android开发,TensorFlow(深度学习框架)开发和后端开发等场景。当然因为我自己使用苹果手机,我找工作偏向于寻找苹果手机开发岗位。
制作精炼简历,准备求职信件。
在毕业季前半年,美国大学会针对留学生提供简历和求职信指导服务。同学们可以查询自己学校/学院的网站寻找。好处是native person会帮助留学生定制符合本地工作文化的简历,发掘学生的优点长处,修改不通顺的语法单词,使用专业求职名词,列出HR想看到的求职要素,从而提高简历和求职信的质量,以免学生碰触找offer的雷区。
其次,可以寻找曾经的学长学姐、已经在各大厂公司就业的前辈帮忙修改自己的简历或者寻求内推机会。一般学生间会有微信交流群,同学们要主动加入,从中积极发言,交流就业前景,获取最新的招聘信息,
广发群发简历,坚定磐石心态。
同学们要抱着投出十几份,几十份简历的心态去投简历。不怕失败,被拒绝一次就成长一次。机会是留给有准备的人,同样工作也会眷顾那些投了很多简历的人。此举的意义首先在于从数学逻辑上增加上岸的概率,其次是丰富面试经历,也可相应根据自己的简历在市场上能获得的反馈从而及时调整内容。
不要只投大厂(Amazon、Google、Apple、Microsoft等头牌IT)的简历,除非能力超群,否则一旦错过大厂的机会(千军万马,竞争激烈,名额有限),也就意味着错过了就业季。对于留学生来讲,错过了就业季意味着毕业即失业,很容易造成因为F1身份过期而不得不离境的窘迫。多投一些符合自己求职意向的,良好公司文化的小公司,也许你加入这个公司后,就成了未来的上市公司创始人了。总之,不放弃任何能上岸的机会,不要眼高手低,不要畏惧被拒绝,要坚定你的磐石心态。只要先找到工作,稳住身份,还可以边工作边成长,继续找下一份薪水更高的工作。
工作体验
工作职责
花了些篇幅写出自己的工作职责,是想给一些喜欢移动端开发,尤其是感iOS,MacOS开发的同学提供一些工作细节,对未来从事这个方向能更多了解自己可能的职责是什么。
负责智能蓝牙设备 Everykey iOS 移动端和 MacBook 笔记本端的程序架构设计、核心模块研发以及维护工作。
与团队合作开发基于 Bluetooth low Energy 匹配的程序,该设备用于解锁智能设备并通过存储网站的登陆密码实现一键登陆。主要使用技术:低功耗蓝牙、Swift/Obj C 编程、密码 Autofill Extension、MVC模式、Cocoa Touch 框架、RESTful API 结构等其他开发技术。
负责手机端程序的开发流程。从参与新模块会议,到制定框架,到计算机语言实现,再到进行严格的测试步骤,反复调试内测中出现的问题,最后迭代产品到苹果商店,确保程序能高质高效。
兼任售后技术服务岗,积极于客户沟通交流,及时修复所反应对程序问题,功能改进,确保bug能在最短对时间内反馈到技术人员并立马解决,提升用户满意度。
工作体验
我们公司是一个初创小公司,只有数十人的规模,麻雀虽小却五脏俱全,有Windows、iOS/MacOS、Android研发工程师,还具备销售、客服和仓库管理团队,由CEO和CFO负责公司的整体进程。因为公司小,工作氛围灵活且规则少。如果是大厂的话,肯定会有更多的规则去管理和约束员工行为。所以个人经历不能代表在美国的其他软件工程师。
2020~2021年美国深受疫情影响,我的工作体验分为线上办公和线下办公。工作时间是周一到周五,要求每天有效工作时间约在6~7个小时。
线下办公的话,我的公司在克利夫兰市区,而我住在离公司大约45分钟车程的小镇上,因为当时我所在地区油价1L大约1美元不到。所以如果是要求线下办公,我会选择来回开车,加上有效工作时间约为6小时,基本就是早上9点到公司,下午5点离开。一周去公司3天左右,2天的居家办公,但是不能错过每周五的周例会和月度例会。
每14天为一个周期发工资,通过Rippling(是一款统筹管理员工薪酬福利、硬件及应用,确保新员工入职顺利,帮助中小公司化简行政工作的软件)负责员工的薪水和合同管理。通过Slack(类似国内钉钉)来负责将不同成员按身份划组聊天,通过制定时间计划,及时传递消息,文字会议讨论等方式保证高效沟通和问题交流。通过GitKraken(一款git的可视化工具)来push小组成员的工作成果到GitHub(远程存储端)上去,这样可以保证不同的工程师可以围绕一个项目齐心协作而互不干扰。
因为是小厂的缘故,没有感受到内卷的加班氛围。如果第二天是特定假日,例如独立日,公司成立日等,我们领导会专门在Slack群里艾特大家第二天不要上班。记得有一次我不记得当天是假期,还是发现没有人在线才知道大家都去放松娱乐了。一年里偶尔几天的加班是为了赶项目进度,纯属个人没有将某件任务完成,并非全公司范围内的集体加班。
整体来说,这一段时光使我而言学到了很多:无论是轻松的开会氛围,还是纯英文工作环境的锻炼,还是在同事IT大佬代码里学习到的知识,还是夏天划船跑步、冬天滑雪度假的惬意,都让我十分怀念这一段当程序员的日子。从我个人和部分身边朋友的经历出发,在美国当程序员,要比在国内压力更小,工作方式更加灵活,加班时长相对较少。当然如果是一个项目领导,可能责任更大,工作也更加忙碌。不过美国人骨子里的“懒散”的度假精神,让乏味的工作多了对生活的期待。就连美国总统都有固定假期去山庄海岛度假休息呢。
写在最后
我在美国的工作故事充满局限性和个人色彩:努力+运气+文笔有限。不足之处多多包涵。希望这份简短而有趣的经历,能给各位读者带来些许的思考和启迪。叶落知秋告诉我们要从变化推测事物的发展趋向,但也要避免一叶障目。
多学习多看世界多与外界交换信息,听取他人的经历同时保持自己的思考,对比总结出综合而健康的价值观,有助于我们较为客观的了解自己。
天行建,君子以自强不息。祝各位万事顺遂,海外学子平安健康,增强本领,磨砺自身。