注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
Hi 大家好,lz 在一个月前结束了暑期在Amazon的 Data Engineer实习,因为最近在求职但发现去年攒的大米都烂掉了 所以希望通过这个分享给一部分朋友一些帮助并且赚一些米来看面经。
. Waral dи,
背景:
in case 有一些朋友还不是很了解 Data Engineer这个岗位,我想先简单用我目前的理解概述一下:每个公司的 DE 的 JD 其实不大一样,有一些比较偏向 BIE 有一些比较偏向 SDE,比如我的 mentor 和onboarding buddy 就一个专门搞开发另一个大部分时间都写 SQL。我对这个职位的初印象是负责数据仓库 DW 的维护和 ETL 的搭建维护 -> 这次 internship也让我明白很多数据产品 Data Product 的开发也属于 DE 的工作范畴,比如我的项目是做一个 Check Data Quality 的 Framework。那么我实习的组一共 7 个人除了我和一个 remote 的西裔美国人以外, 其他都是印度人,包括我的 mentor 和 manager。
Midpoint Review 之前:
和很多 SDE interns 的schedule 不大一样,我在 midpoint review (6-7weeks)以前没有任何 required 的 coding part,以下是我这段时间需要完成的 milestones:- Get familiar with AWS services, DE duties and tools, and Project scopes (1-3 week)
- Design Data Models, and **** (specific requirement for this project) (4-5 week)
- Finish design draft and review with the team. Do the midpoint presentation (6-7 week)
有一些具体的要求我有点忘记了,但大体上一个 DE 前半程的主要任务除了熟悉 AWS 各个 service 以外就是设计出你的project 的整个结构(high level and low level design/architecture) 这一块也是最折磨人的。即使我之前特意为了这个实习考了 AWS Cloud Practitioner 的 certificate (推荐所有 intern 有时间的话去考一个),但对于真正的业务运转需要的 services 和他们分别的 pros and cons 是一知半解。但这恰恰是前半段最重要的部分之一,在选择每一个service over another 的时候都要列举出各个理由 (Design Choice)例如为什么要用 RDS而不是 DynamoDB, 为什么是 Step Functions 不是 MWAA。然后在设计整个数据结构的时候需要考虑的东西(normalized vs denormalized)也和在课上学的不是完全一样,更多的是为了具体业务和目的而服务而不是刻板的要去 follow 一些 rules(SDE 多数只会使用 DynamoDB 可以略过). 1point 3acres
. 1point 3acres
Midpoint Review 之后:
设计完每一个 component 以后就到了具体 implement codes 的时候,我的设计包含了三个 Lambda 总计 2000+行代码,但因为可能时间有点紧张并且 DE 的 nature,所以 mentor 对Design Pattern 和 Unit Test 这一块是没有太多要求的。这一块相信大多数朋友都比较擅长在这里就不多说了,在最后五个周最复杂,花了我最多时间的其实是各个 permission,network VPC setup 这种在学校里不怎么会注意的地方,通常是 code 云淡风轻,但因为某一个权限错了或者 push codes 的时候的一些 trivial errors 就要花掉数倍的时间, 但这个也会随着一周一周而越来越得心应手。但坦白的讲,在实习开始之前我预计能做许多 bonus parts,但现实是我在 final presentation之前一天都还在慌张测试代码。Mentor 和 skip manager 都承认 Amazon 对给intern 的 project是比较严格但因为我也没接触过别人的 project 所以不大确定这是不是一个普遍现象还是我个人能力比较生疏。在 final week 前一周我们 org 还举行了两天的团建,但 lz 当时完全无法享受其中,在首晚就告辞回公寓继续加班 (funny 除了 manager 我们team 的人都找了个各种各样的理由 skip 了第二天,只留 manager 自己和别的 team 在那里,这让我再次感叹美国的职场文化)
结果:
在最后一个小时的 final presentation 中,lz 成功发挥出了有史以来最差的一次介绍,整个说的磕磕绊绊而且本来预计 15 分钟的 demo 直接在各种 QA 中拖到了 40 分钟,最后也是匆匆结束了其他 parts 的介绍和对 LP 的分享。但应该是给 mentor 和 manager 留下的印象足够好而且 deliverable 的质量也还可以,周五还是收到了 manager 的 confirm inclined meeting。对 presentation 打怵的小伙伴可以 chill 一下,这毕竟只是整个 project 过程中的一小个环节。
. Χ
一些 Note:- LP! LP! LP! 除了 best employers 和一些 manager 才适用的 LPs,另外的所有都要在这三个月中得到体现,尤其是 Customer Obsession,Dive Deep这种。尽量在 self-review 的时候不要把这些归成 growth areas。另外,体现的意思不是你认为你自己做到了这些,而是让别人尤其是 mentor 和 manager 认为你做到了这些!
- 和 team members都要搞好关系,不光是 mentor 和 manager 这两个掌握着你生杀大权的人,其他的人都可能给你的 final evaluation 里 comment
- (来自 manager)不要怕问问题,所有人都是你的 resources来帮助你成长的(但不意味着盲目问问题)。一个经过深思熟虑以后的问题反而可以展示你 learn and be curious 和 dive deep 之类的特质。没有完美的 intern,重要的是你是否展示了你的进步。
- (来自 skip manager)经常列出你要做到的目标并把他们拆分成一条一条细节,然后问问自己是否做到了这个,为了做到还需要掌握什么样的条件。
- Intern 表现的衡量指标:a) Project 完成质量 (25%) b) L4 是否达到SDE/DE表现要求(25%)c) LP 方面 (25%) d) 是否积极吸取获得的 feedback 并且 incorporate it well (25%)
.google и
以上就是 LZ 这三个月的经历和收获,希望对大家有帮助!还有疑问的朋友可以评论我会力所能及的回复。求求大家多多加米!祝大家上岸!
|