校招 | 虾厂预备程序员小贴士——技术岗位特辑
2022 秋季校招网申阶段逐渐步入尾声,部分同学早早投递简历已进入 offer 抉择期,还有不少同学仍在投递与面试环节。无论你处于哪个阶段都可以读读这篇文章,这里提供了一些关于 Shopee 不同技术岗位的介绍,希望大家在面试准备或是 offer 选择的时候可以多几分参考。
Shopee 众多技术岗位各有什么特色?不同岗位的优势和挑战分别是什么?各岗位对校招生的期望又有哪些?点击下方你感兴趣的岗位名称,就能看见对应领域前辈的经验分享。
Shopee 研发中心涵盖电商、供应链、O2O、金融等多元业务,不同业务线依照技术领域,又分为 BE、FE、Mobile App 和 QA 四条通道。
◉点击以下标题了解详情
FE
所见即所得的可视化开发内容,强烈的即时成就感——这是前端工程师的独一份体验。如果你对项目的逻辑交互和产品体验更感兴趣,选择距离用户最近的前端岗位准没错。
在 Shopee 做前端开发,最具特色的地方是国际化的业务场景带来的挑战。这种挑战是全方位的,体现在多个方面:
怎样建设 i18n 工具体系,以满足提取、校验、更新等全链路诉求?
采用怎样的项目结构来支持不同市场之间的业务差异?如何平衡业务灵活与架构整洁?
如何为不同市场提供灵活、完善的发布策略?
怎样为不同市场建立便捷的数据监控和分析体系?
对于初入职场的校招生,这种国际化且多面的业务场景挑战不失为自我成长的好机会。我们的前端前辈也有一些 tips 想和每一位校招同学分享:
Shopee 期待校招生同学具备扎实的基础知识、较好的学习方法和不错的表达能力。
相比于通过社区文章获取零散的知识点,通过阅读高质量书籍进行的系统化学习更有价值。在这个学习的过程中,多做总结、输出文章、常常重新审视,是一个不断加深个人理解、真正掌握知识的过程。与此同时,沟通表达也是一项重要的能力,校招生同学可以有意识地进行这方面的锻炼,提升结构化表达的能力。
针对应届生的面试,同样会从上述几方面入手,重点考察同学们的基础知识、应用深度、知识广度、学习方法和沟通表达等能力。
Mobile App
Android 开发涉及到的知识面非常广泛,不仅有 Framework 和应用层的 Java/Kotlin,还有底层的 C/C++,当然也包括诸多跨端技术,如 Flutter 和 React-Native。想要完整掌握 Android 所涉及的技术栈需要涉猎很多内容,这是这个方向的厚度所在。另外,Android 世界从底层系统到上层组件绝大部分都属于开源项目,非常适合深入学习。掌握好 Android 知识后是非常容易向其他领域扩展自己的技术栈的。
在 Shopee 做 Android 开发,和所有面向海外的产品一样,需要遵守 Google Play 的严格约束,比如对用户权限、隐私的保护,以及对新 API 的适配。而且 Shopee 还处于快速发展的阶段,项目变化多,有很多融合、迁移或者快速搭建架构一类的技术挑战。
面对这些挑战,校招同学们大可不必担心。我们针对毕业生有量身定制的培训课程和入门项目,针对高手也有公司级项目等你来挑战;Shopee Academy 还会定期组织资深 Android 工程师来分享心得和前沿技术。只要你热爱技术、选定了 Android 开发这条道路,就来 Shopee 做客户端吧,这里会为你提供成长的沃土。
如果想用最新的 iPhone,如果对流畅的界面有追求,iOS 开发自然是你的不二选择。
在 Shopee 做 iOS 开发,兼容性和性能上都有不小的挑战,因为我们的目标用户往往用的都是比较老的手机,性能可能偏弱。如何针对这些用户做好性能和兼容性的保障,是需要开发者认真思考的问题。在这个过程中你会发现,直接套用一些开源方案很可能没办法完全解决问题,所以需要开发者对系统底层有更深的了解,并给出更可行的解决方案。对于开发同学来说,这也是一个能够飞速成长的过程。
至于针对应届生的考察,iOS 岗位的一面侧重技术基础,包括算法/数据结构,也可能会涉及一些系统/数据库等方面的知识点;二面可能会在一面的基础上,进一步深入考察某个方向,以及系统设计能力。同时,会对候选人的沟通能力、问题解决能力等软实力进行考察。
作为校招生,接触过 iOS 会是加分项,但不是强制要求。iOS 开发岗位期待每一位保有开放心态和技术好奇心的你。
BE
从大方向上来看,在 Shopee 做后端开发主要分为业务开发和基础组件开发。而 Shopee 业务众多,对业务开发的需求量相对更大。做业务开发主要考察对业务的抽象建模能力和业务架构能力,C 端业务会涉及到高并发问题;如果是金融业务,还会涉及到分布式数据一致性等问题。
在 Shopee 做后端开发的优势就是业务众多、业务领域复杂,同时要满足不同市场的多样化需求,很考验开发的抽象建模能力;业务往往要对接较多的周边系统,同样是提高沟通协调能力的好机会;另外,业务系统生命周期长、发展快,如何编写可测试性高、易于迭代演进、支持高性能高并发高可用的代码也是对编程功底和架构的一大考验。
后端开发的技术挑战大、综合能力要求高、职业天花板高,既可以提升技术水平,也可以沉淀某一领域的业务知识。我们期待热爱技术、对技术有追求的同学们来 Shopee 做后端开发。在这里,你有机会在工作后继续保持学习,在工程实践中提高自己的软技能,就像打磨一款产品一样在技术和软技能等方面迭代更新自己。
数据开发在 Shopee 涵盖大量应用场景:
在业务运营场景,提供周期性和实时数据报表以及主题洞察报告,便于管理层、业务和产品人员及时、准确、全面了解业务和产品运营状况,识别问题,有针对性地采取措施;
在授信、支付等金融场景,提供实时数据特征,输入到反欺诈规则和模型进行风险校验,识别和拦截可疑交易,减少用户和平台的资金损失;
在搜索推荐等场景,提供丰富精细的实时数据特征,输入到推荐搜索引擎,准确识别用户意图,提供精准的内容推荐,提升用户体验和业务转化;
在业务营销场景,构建丰富的用户和商户画像,以及灵活的用户圈选工具,让业务运营人员方便准确地将合适的内容投放到合适的人群,并对后期效果跟踪分析,持续迭代。
在 Shopee 做数据开发,可以选择数据仓库与集市、数据服务、数据应用开发等不同发展方向。
数据仓库和集市方向:你将基于 Hadoop、Spark 的大数据生态,掌握 SQL 开发技能,掌握海量数据复杂处理的底层逻辑和性能优化方法;同时,深入理解业务,构建合理的数据指标体系,产出丰富的数据报表和洞察报告,呈现和剖析业务产品发展状况,成为一名衔接技术和业务的复合型人才。
数据服务和应用开发方向:你将掌握 Flink、HBase、Kafka 等大数据开发技能,构建大容量、高并发、高性能、高可用的分布式大数据处理系统,提供高效、稳定、易用的数据服务和应用;深入掌握大数据组件的底层原理,并进行调优、改造和封装,成为一名大数据技术专家。
大数据已经逐步渗透到人们日常生活的方方面面,也是人工智能的基础,未来会成为社会发展的基础设施之一,有着巨大的发展空间。掌握大数据技术会成为未来互联网诸多领域核心人才的必备技能之一。欢迎同学们一起来研究数据技术,探索数据价值!
Shopee 的运维岗位大致可以分为业务、中间件、平台和运维开发等方向。
业务方向:Shopee 有电商、游戏、支付等各种业务,SRE 要从质量、效率、成本和安全等方面保证网站稳定运行,让用户能够顺畅使用 Shopee 的产品和服务;
中间件方向:主要负责消息队列、内存存储、接入层等中间层服务的稳定运行;
平台方向:主要负责监控系统、日志系统、统一存储等平台服务的稳定运行;
运维开发方向:负责 CMDB、作业平台、变更系统等运维支撑平台的研发和迭代。
SRE(Site Reliability Engineering)最核心的职责是确保站点(业务和系统)的服务可用。为此,SRE 要熟悉精通业务、架构、系统和组件,关注站点各架构层运行时的状态,时刻监控健康情况,对性能进行优化,排除故障隐患,快速恢复运行。
SRE 还要懂编程,在工作中开发和积累各种工具箱及平台,不做重复的事,帮助自己和团队高效运维大规模系统,让工作流程化和自动化,借助机器实现智能决策。能力更强的 SRE 能够深入掌握开源组件源码,具有二次开发能力,让开源组件更适配 Shopee 的业务,同时把好的特性反馈给开源社区。
站得高、望得远、随时深入细节——在 Shopee 做 SRE 可以掌控网站全局,深入了解电商全流程,理解多元化业务类型,操盘分布式高可用集群架构,掌握多文化背景沟通交流。
来 Shopee 做 SRE,你将有机会选择自己感兴趣的操作系统、网络、中间件、容器、数据库、高可用架构等不同的专业方向;能够与优秀的 SRE 专家团队共事,扛起 Shopee 快速发展的业务和系统,和海外团队一起全天候保障 Shopee 服务的稳定运行,服务大量用户和商家。
QA
QA 的全称为 Quality Assurance,即质量保障。除了测试行为之外,QA 还需要进行一系列活动,为产品方方面面的质量提供保障,包括但不限于流程管理、环境治理、TestOps 等实践工作。
在 Shopee, QA 同学需要参与到整个研发流程,与产品、研发和业务团队紧密协作;另外,QA 同学负责产品的端到端质量控制,涉及到的技术方向会比较多,技术视野会更开阔;压测等工作还对 QA 同学的技术深度和架构理解能力有一定的要求。这些都是 QA 岗位的优势,同时也是挑战。
除了基础技术能力,QA 岗位期望候选人有强烈的质量意识,也就是责任感,这种软技能同样是考察的重点。
作为校招生,该怎样快速适应职场?如何实现自我成长?进入 Shopee 后有哪些收获?曾经也是校招生的他们有话想说——
在 Shopee Games 团队,我们不仅做游戏开发,还做前端性能监控等内部项目。我的业务水平不断提高,也学习到了如何在大型项目中进行内部和跨团队沟通。这里的技术氛围很好,大家都会进行技术分享,我也学习了很多平时工作上比较少接触的东西。除了技术的提升之外,最大的收获还有越来越有主人翁意识,开发过程中更加注重代码质量、从用户视角看问题、对最终结果负责等。
成为一名优秀的前端是需要耐心和热情的。如果你现在正在学校里,应该要先把基础打好,包括计算机的基础知识,算法、网络、安全相关,还要多学习一些前端的基础知识,JS、CSS、Node、Vue 或 React 等框架。前端要学习的东西很多,最好可以自己做一个思维导图,有计划地学习。有条件的话可以来公司实习,做一些真正上线的项目,第一份实习可以学到很多,包括团队沟通协作、流程规范等等,这些在学校很难真正接触到。
来到数据架构部门后,进入了一个从未接触过的领域,一切知识都需要自己从 0 到 1,但是使用的技术栈很有趣,所以算是在快乐中飞速成长吧。并且认识到了 nice 的 leader 和 peers ⑅︎◡̈︎* 。
想来 Shopee 一起高效工作的宝们!一定要认真准备面试,有机会就多多实习!这样可以为简历增色。
校招进入 Shopee 以来,我在工作上最大的收获是学会长远思考。作为客户端开发,发布新功能常常有固定的时间节点,不像后端那么即时,所以在开发过程中需要考虑得更加周全,为用户带来更好的体验。
学弟学妹们在校期间可以多储备一些计算机基础知识,比如数据结构、网络这些,然后选择一门自己感兴趣的开发方向,在空余时间多找一些开源项目动手做一做,把学到的知识加以运用。
作为刚踏入职场的新人,担心?其实大可不必,公司为应届生新人提供了一套完整的培养方案——“虾米计划”和一对一导师,所以如果遇到了不会或不懂的地方,可以放心大胆地去向自己的导师或领导请教,有问题就多问问,会有很大收获的。
在 Shopee 学习到了系统级别的代码规范和工作流程,以及成熟电商公司的技术框架和技术栈。这些都对我的职业生涯有着莫大帮助,既有编码技术能力的提升,又有整体宏观局面的视野拓展。此外还认识了很多友善且技术能力厉害的同事,这都是应届生的我收获到的“财富”。
如果毕业就决定工作,在校期间应该先明确想去的岗位,了解这个岗位要接触的技术栈,在技术栈中找到自己熟悉的知识点去系统学习。课外适当拓展更多的东西,比如编码实践或者搭建系统/网站都可以帮助到自己很多。
作为职场新人千万不要过多焦虑,Shopee 有长达六个月的虾米计划辅助,应届生可以很平滑地度过这段时间的身份转换。当然也要勇敢一点,遇到不会的问题,先尝试寻找解决方案,实在无头绪一定要大胆去问同事。大家都很友善,只要开口都会帮你解决。
校招进入 Shopee 以来,最大的收获就是业务能力的提升以及测试能力基础的巩固加深。我目前在项目小组内基本上可以独立负责某些市场的大版本测试,例如巴西市场和马来西亚市场的产品业务测试。
建议学弟学妹们在校期间尽量多去实习,有项目经验的加成,面试时候总能有所准备,哪怕实习的项目并不是大项目。还有就是软件测试的基础知识要巩固好,代码能力也不能落下。
在 Shopee,我们提倡分享、交流、学习与成长。
这里有丰富的技术、英语及通用类培训课程,有各类线上线下培训资源与大会补贴,有每年一度的 Tech Summit 技术盛会,还有 Code League 编程大赛、1024 程序员节等大大小小的技术类活动。
如果你对 Shopee 感兴趣,想了解更多在 Shopee 工作的体验,欢迎关注“Shopee 技术团队”与“Shopee 虾皮招聘”公众号,我们会在近期陆续给同学们带来关于技术培训和日常福利的详细介绍。