TapTap(TDS)招聘前端工程师(全栈方向)

2022-08-23 00:00:19 +08:00
 leeyeh

太长不看版 JD:

要求

加分项

职责

请发送简历到 tds-jobs@taptap.com 。我们部门同时也在招其他职位,可以访问 TDS 的招聘页面了解详情。


接下来我想展开介绍一下关于这个职位的更多信息。

关于要求

首先,你需要是一个优秀的工程师。一个优秀的工程师需要做到在为你做代码 review 时你的同事不需要关心命名、逻辑正确性、是否存在性能问题这些方面,而是可以把重点放在问题抽象、模块拆分、接口设计层面。要做到这点并不容易,你需要有良好的英语水平,需要有扎实的计算机基础、熟悉常用的数据结构与算法,需要了解现代 web 应用的各个部分大约是如何工作的,当遇到不熟悉的领域时知道如何快速学习对应的知识,以及最重要的一点,需要有动手能力把所有的这些变成可以运行的工具或服务。

然后,你需要是一个专业的前端工程师。你需要了解前端领域的最新状态,知道要解决的问题是什么,哪些已经被解决了,哪些进展到了什么程度。你需要熟悉现代的前端工程的完整流程,有能力选择合适的方法与工具,独立完成一个需求的前端部分从需求分析到方案设计、开发、测试、发布、运维的完整流程。你还需要对其他与前端有交集的角色—包括但不限于产品 /运营、设计、DevOps 、SRE—负责的事情有基本的认知,知道不同角色之间的边界与接口,有能力辨别合作方案中不合理的设计。

你还需要熟悉除了前端之外的至少另一个栈:产品、用户体验设计或后端开发。拥有跨栈的能力有以下优势:1. 减少沟通成本,可以更灵活地分配时间 ,从而更快的进行迭代; 2. 可以从更高的视角看问题,从整体利益出发设计更合理的方案。对于其他栈,你不一定有像前端领域一样全面的知识体系,但依然要有独立完成相关工作的能力(当然反过来也可以,比如你是专业的视觉设计师,同时熟悉前端开发,我们同样需要你)。

最后一项是沟通能力。正如「代码是写给人看的」,工程师很大一部分工作是在与各种各样的人沟通。因此你需要能通过书面或口头的形式有效地描述事实(问题、方案)、表达观点。

说完了要求,再来说说不要求什么。

首先,不要求工作经验。能力比经验重要的多,只要你能证明你满足上述的能力要求我们都会邀请你来面试(当然项目经历是最常见的能力证明,如果你在工作经验上没有优势,请务必确保你在简历中体现出了能力)。出于同样的原因,我们也会按照简历中与面试时展现出的能力提供我们认为与之匹配 offer ,而非根据过往的职级或薪资(我们甚至不会问)。

然后,这个职位不要求你是某个领域的技术专家。我们目前阶段,绝大部分需求依然来自业务。能在广泛的领域中选择合适的工具把一个需求从 0 做到 80 分要比在某个具体领域把需求从 80 分优化到 99 分对当前的我们更有价值。当然这并不是说我们不重视技术深度,只是说如果你的职业规划是深耕某个技术方向的专家,对具体业务兴趣不大,那这个职位可能不能满足你的期望。

关于 base ,这个职位接受远程。尽管我们一直在践行异步沟通的工作方式(我们小组就分驻京沪两个办公室),但目前绝大部分的公司同事依然是 on-site 的,这事实上对远程工作的同事提出了更高的要求,包括自我管理能力、主动推进目标的能力与良好的异步沟通习惯。这部分能力很难直接通过简历或面试体现,所以如果你希望远程,请务必事先了解这一点。

关于团队

说了很多对候选人的期望,接下来分享一下我们团队的更多细节。其中很多是我们与候选人沟通时经常被问到的,本也不是什么需要保密的信息,不如在这里公开介绍一下。

关于 TapTap 与 TDS

公司层面,包括部门的基本情况,以及文化、面试流程、工作方式等信息,可以参考《文化、制度和工具 | TDS 博客》,不在此赘述了。

关于我们组

我们是 TDS 前端团队的一小组,目前由 4 位成员组成。目前除了前端支持团队的本职工作,我们在主导一个新的客服产品的开发。我们希望能向 TapTap 开发者提供一个兼顾用户体验、客服体验、客户体验与开发者体验的客服产品。我们使用的主要的技术栈是 React + NestJS with TypeScript (并非限制)。

关于我们的工作方式

我们按照需求分工,一个人负责一个完整的需求,从需求分析一直推进到最终发布。如果某些重要的工作不在你擅长的领域,你可能会需要在组内或组外找到合适的人与你合作完成( TDS 层面还是有专精产品、设计、测试、DevOps 的团队的)。同时我们要求每个人又都是一个或多个模块的 owner 。这个模块可大可小,大到一整个业务方向,小可以是某个具体功能,相同的是都要求这个人是全公司最了解这个模块的人,要对这个模块负责(更具体一点,要收集与分析模块的需求、思考与决定模块的目标与计划、review 涉及到该模块的方案与 MR )。一个需求可能会涉及到对其他人负责的模块的改动,此时需求的 owner 需要找到模块的 owner 商量方案,多数情况下还需要负责实现并提交 MR 。

公司践行 OKR ,每个团队有自上而下对齐的目标( O ),它们是我们日常大小决策的依据。我们组每个月初会根据团队目标讨论并确定当月的工作计划,然后每个人独立拆分更细的任务与个人计划。每个季度结束后,TDS 每个团队负责人会以 OKR 为线索通过直播向所有人汇报工作。

我们的日常议事原则是提供完整上下文、广泛充分发表意见、owner 拥有最终决定权。为了做到这些,整个 TDS 团队几乎所有的代码都是内部公开的,工作中所有的沟通都需要以公开的方式进行(比如 Slack 公开频道、Confluence / GitLab / Figma comments ),保证任何人都可以在任何时候看到整个决策过程。


这个 JD 有点长,但工程师招聘是一个相互了解与选择的过程,我们深知互相坦诚在这个过程中的重要性。因此如果你看完上面这些后,认同我们的目标与追寻目标的方式,并认为可以胜任该职位,请不吝将简历发送到 tds-jobs@taptap.com (或者 liye+v2ex@xd.com ,如果你想单独找我聊聊)。

感谢你的关注。

3048 次点击
所在节点    酷工作
15 条回复
FrankFang128
2022-08-23 00:23:24 +08:00
现在这种程序员很难找,因为现在很多程序员只负责一半模块,不负责完整模块。
sixi712
2022-08-23 01:18:14 +08:00
😂,这个 JD 完全就是我作为一个小前端的目标。特别是这句“可以把重点放在问题抽象、模块拆分、接口设计层面”。工作模式也挺喜欢
wu67
2022-08-23 08:20:23 +08:00
307 点击 2 回复, 已经能说明问题啦.
Cbdy
2022-08-23 08:59:49 +08:00
然后进去 996 吗?
polobug
2022-08-23 09:12:32 +08:00
所以如果完全符合条件值多少呢
kunkunzhang
2022-08-23 10:25:42 +08:00
要求很高,日常开发能给多少时间呢,做不完自愿加班?薪资又有多少。。
richardwong
2022-08-23 15:00:24 +08:00
说了这么多,薪资范围了
jguo
2022-08-23 15:07:42 +08:00
写了上千字,最重要的两点完全没说
R1N
2022-08-23 16:09:48 +08:00
如果这份要求是对于后端岗位,我想我可能有把握投递一下这个岗位,目前技术栈和工作内容可以比较贴近这份详细描述。
zhwithsweet
2022-08-23 17:34:41 +08:00
一个人一个创业公司的节奏?
Ansem57
2022-08-24 15:15:01 +08:00
😂,找到远程后你们才开招啊,希望后续还有机会吧
JoeyZou
2022-08-30 11:50:36 +08:00
Boss 投了已读未回 求捞
leeyeh
2022-08-30 13:52:50 +08:00
@JoeyZou 感谢关注,其他渠道投递的会经过一遍筛选再到我这里,你也可以直接发我邮箱,我一定会回复的。
AnnatarHe
2022-09-13 15:58:18 +08:00
看着挺好,要求比较高,团队应该不错的。

想去~
tonytonychopper
2022-09-27 22:31:05 +08:00
近期看到的写得最用心的 JD ,我目前就是那种不仅写页面,同时还要兼顾 prd 、操作手册输出的人。可惜不找工作暂时~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/874685

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX