前言

致创客。

又是一次新版本的发布前夕。坐在工位上,看着禅道上干净的bug列表,我的心境也进入了一段久违的宁静。自从开始实习之后我的心境变化好像有了一套新的节律,是一种随着软件开发周期推进而不断变化的节律。初次拿到需求文档,看着满当当的目录列表心中难免升起一丝丝的烦躁,但这并不会影响的我的工作。按部就班的开启多个并行的agent,冷静的分派着任务,逐一的去完成需求的拆解、现状的调查、后端接口的校验……与导师沟通交流需要封装的sdk接口、与产品确定设计方案没写的细节、与ai同步我们的认知。分析、设计、开发、测试、发版。这个循环我已经经历了数次,对于当初软件工程课上学到的大量抽象的理论知识有了具体而清晰的认知。

这篇文章倒也不是想聊太多技术上的东西,也不想去测评某一个ai的能力。而是单纯的对于自己内心的探索,去捕获并留存自己的一丝丝思绪。

一切的起点

最初的悸动

大学生活是那么的令人神往,社团生活的多姿多彩仿佛是青春最美好的画卷,在祛魅前的我来看这一切的一切都是那么神圣而不可侵犯。

初到学校,送别了陪伴的亲人们,第一次独自生活在一个陌生的地方,心中期待和不安交织。坐在并不怎么舒服的椅子上,呆呆的看着刚刚布置好,整洁的不忍使用的桌面,心里盘算着怎么和室友破冰?晚上去哪个食堂吃点什么?开学前一直聊天的学姐也不知道能不能见一面?想法太多太多,不知道该先做什么。于是我决定抓住我能抓住的,打开电脑开始玩起了TTF2.

并不熟悉的键鼠位置,角度偏高还很小的屏幕,周围舍友隐隐约约的目光时刻在潜意识中提示着我:“这不是家里”“这不是你的舒适圈”“你需要适应的还很多”。对于从小就没独自生活过的我来说确实是有些强装镇定的在玩着抚慰不安心灵的游戏,或许是为了逃避和陌生舍友的尴尬、或许是为了逃避不清楚吃什么好的纠结和犹豫,或许是为了逃避对于自身规划的迷茫……我也说不清楚,左手还在熟练的按着滑铲、跑墙、二段跳,右手还在一次次快速的瞄准,不安感也随之被麻痹消磨。

1

我的右手突然喊道一阵冰凉的触感,一张纸盖在了我的手上,我不由得吓得一激灵,左手肌肉记忆的快速按下左上角的esc暂停了游戏,摘下耳机放在桌上,转头看去。一个陌生的面孔正站在我身旁,手里抱着一沓子宣传海报。我尴尬而礼貌的微笑说了一声学长好,随后拿起宣传海报看了起来,避开了学长的目光。

学长后撤到了房门口,开始了介绍。“创客空间?奥,原来是社团招新。”“树莓派?那是什么?”“0基础也能进?!”我心里默默的想着,没有提出问题,没有去留学长的联系方式,但是我还是不由自主的感到了一阵燥热,这种激动的感觉是我在高中生活中所没有感受过的,这是一种想要抓住希望,掌握自己命运的冲动。

向前迈步

海报上的技术名词我基本全都不认得,大学前对于编程纯粹的一窍不通的我感到了前所未有的慌张。“这个社团是有面试的啊!”“群里的学长学姐都好专业,好厉害啊!”“他们说是零基础,那我认真准备应该就没问题吧?感觉好像没看到别的社团说是接受0基础的人啊?”……我渴望抓住机会,抓住能学到真东西的契机,希望能有人告诉我我该怎么做,所以我一定要加入!

在回忆自己过去为数不多的和计算机相关的记忆中,大多数都是在打游戏,要不就是油猴上下载过几个脚本玩玩……油猴确实可以写上去,但是感觉这又不算是什么很厉害的事情。打游戏,单机游戏装mod,装mod的时候我不是把游戏的文件目录打开了吗?还改过一些配置文件!再加上之前看过一些对于游戏经典bug盘点、解析的视频!那就以游戏编程作为切入点吧,就说是兴趣使然的去学过一点点游戏编程这样子。但还是有点心虚,怕学长更深的问我,所以我又打开新买的笔记本写下了一些关键词,又上完简单搜了一些术语记了下来。

面试当天,我看着学长在群里的分组表,我提前半个小时就进入了对应会议室排队。由于是一个个面试,我就只能在腾讯会议的等候室中看着黑屏默默的等待着。不知道是什么样的学长面试,不知道会问什么样的问题。就在我一遍又一遍看着我本子上那几个关键词的时候我突然想起,玩意面试时舍友说话怎么办,我要不要出去找地方?但我这是游戏本啊,离了电用不了多久啊。而且我也不清楚中庭有没有位置……那看来只能和舍友们说一声了。我鼓起勇气,站起来转过身面向三个舍友说出了“兄弟们……”。大家都很理解的表示同意。这也是我第一次鼓起勇气向舍友们主动说话。心中的不安也减少了很多,渐渐的镇静了下来。

在会议室里静静地等待了四十多分钟后终于是到我的面试了。学长一上来就是开启摄像头,确实是吓我一大跳,我的脸瞬间变得滚烫,我嘴上应答着好的,随后右手快速的去将虚拟背景设置好,随后将屏幕角度拉高,让摄像头只能照到我的头,流出我手部的操作空间不会被照到。随后我拿着我的本子半斜视的开始了自我介绍,忐忑的讲着那几个自己并不清楚的专业名词,学长的语气中有着一点点的欣喜,我不由得放松了一点,这时我看见了上方书架上摆着的,我暑假从书店买的《死亡搁浅》小说,便举起了例子。学长也表现的很满意,也没有进一步追问,或许他们宣传的接受零基础是真的吧。

面试结束,一名叫做刘子安的学长来加我的微信,我激动的向他询问我是不是通过了,他说是的。我长舒一口气,我的心狂跳不止,那份激动我至今仍难以忘怀。那是我第一次自己作出了决定,决定除了课程以外的事情,同时也是我第一次通过自己的自驱力准备面试并完成了临场应变,通过了面试。这份正反馈将会成为我最初的动力源,让我的雪球开始了滚动。

初登讲台

很快,面试全部结束,不到80人的大群让我感叹于面试的淘汰率,不断的给我提供着“难道我其实很优秀?”的正反馈。虽然在如今的我回首看来这个结果大概率是转化率的问题,有很大一部分人大概率都没有去参加面试,但是对我来说确确实实是给我提供了不小的初始动力。

新生见面会如期而至,走进教室,还没有多少人,我找到一个第四排的边角坐下————这样一个不靠前也不靠后边边角角的位置。还是习惯性的将自己淹没于人群之中,又不希望和陌生的同学挨的太近一会出去还得麻烦别人给我让位置。放下书包在我右手边的空位创造出一个独属于自己的空间,环视教室一周,大概能猜出坐在第一排靠在一起的那一批人应该就是我们的学长学姐,后面零零散散分散在教室各处的都是和我一样抱着一丝丝紧迫和陌生感的新生。离开始还有一段时间,我拿出刻意放在包里的《死亡搁浅》开始阅读,也不知道我到底是为了将面试时讲的“故事”继续讲下去,还是自己真的想看。总而言之,这可以让自己看起来更靠谱、更属于“好学生”的范畴就够了,还能避开一些不必要的眼神交流。

看了几页书,但更多的目光还是在偷偷的向着四周观察,去观察大家的动向和可能是社长这类重要人物的位置。心里猜了又猜试图从学长学姐的沟通中找出一些蛛丝马迹。到点了,我放下了书。我还在等待着谁会起身上去主持,突然我正前方,和我仅仅一桌之隔的人占了起来,走上了讲台,这时我才意识到,原来刚才社长就一直坐在我前面。心中升起来一丝丝的……不安?遗憾?震惊?我也说不清楚,可能就是祛魅前对于这类带有头衔的人物都天然附带的仰慕和尊敬之情吧。

开火车自我介绍?还要上台?!我在等待的过程中持续不断的安慰自己上台讲话是迟早要学的事,不断的磨练最终才能习惯在台上的感觉,但手里还是不由得慌乱的开始用手机去搜索着当初面试时聊到过的那些名词,不断的否定着自己脑海中冒出的一个又一个开场白,感觉都不太合适的样子,啊啊啊怎么说才能立住人设还不露馅,还不会被学长学姐怀疑啊啊啊。我的思绪逐渐混沌,心跳也控制不住的在加速。这时,台上的那个身影又是不知道什么时候就悄悄的坐到了我面前。我微微抬头悄悄看了一眼社长的目光,他正注视着台上的方向。这不由得让我更紧张了起来,要是没给社长留下好的初印象怎么办?我刚才假装看书的行为会不会被注意到了?……

Boom!!!仿佛大脑过载到了极限,像是动画片里一样冒出了一丝青烟。我的猛的抬起头,视野清晰了不少,我呆呆的望着台上正在自我介绍的同学,有的声音小的听不清,有的带着稿子上去激情的演讲,有的毫无波澜的讲述着自己的信息……我再看向台下,后面还差的远的同学好多再玩手机,刚讲完的同学有的露出一副劫后余生的表情,有的正在和四周的同学激情的交流。我没有想任何事,就是静静的坐着,那本死亡搁浅就在我右手没人坐的那个位置的桌子上放着,金属的书签在我的余光中闪烁着微弱的光芒。

“好像,也没什么人在意台上的同学啊?”我又看向了身前的社长,发现其实他也并没有对每个同学有过多的点评,大多是鼓励和秩序的组织。没有人会等着批评你,也没那么多人会在意你过去的经历。上去自我介绍即是给自己的一次强制锻炼,也是一次“例行的破冰行动”只需要静静的接受,静静的去完成这项“任务就好了”。

我没有继续准备稿子,没有继续拿起那本书去遮掩自己的目光,静静地等待着队伍的轮转。终于是到了我的这里,我站起来,刻意的挺了挺胸,昂首走了上去,微微弯腰双手撑在略矮的讲台上,轻拍了两下话筒确认了有声后,开始像聊天一样,从游戏中的场景聊到面试时讲过的故事,我观察到还有几个同学因为话题感兴趣而放下了手机看向了我,我突然发现也没那么恐怖,也不在控制嘴和麦克风的距离,直接把麦克风举了起来,教室四周的音响顿时声音加大了不少。

没有掌声雷动,没有嘘声漫天,没有尴尬的氛围,就静静的结束了我的介绍。在黑板上找到一个空地吧自己的名字签了上去,回到了座位。合照的时候我知道我不能站到第一排的C位,但我还是抢到了第二排的C位。坐在第四排边角的我站到了第二排的C位,漏出了最自然的微笑。

迷茫与困苦

认知的提升与道路的动摇

“他们这个专业还是考研好一些”“不考研谁要你啊”“没有研究生身份以后晋升加薪都受阻啊”……

我从噩梦中惊醒,哪些话语似乎还萦绕在我耳边。小学的期末被老师们宣扬为“最终大考”,做什么都是为了让你在最后那场大考中不犯错。上了初中从入校那一天起,一切就似乎都是中考这条主线上分叉出的无数随时可以被替换、抹杀的支线。“上不了好高中就考不上好大学,考不上好大学就找不到好工作……”这种话似乎是大多数中国孩子的人生路线图,但仔细想想,我父母似乎并没有过多的给我这方面的压力,但也确实是一直在督促我,但也尊重我这些“支线”上“浪费”的一些时间,总而言之我过去的经历中还是比较轻松愉快的,我也相对来讲是很幸运的。

高考后的我,不如陌生的校园,接受着远超过去的自由,我却不知道如何选择为好,所以我坚定的去选择了传统且熟悉的道路————认真上好每节课准备考研。这是我以及一大批新生共同的选择,我们可能并不是这种模式的优胜者,但却也只对这种模式有着无与伦比的熟练度和路径依赖。

加入创客没多久,社长突然在群里发了一张图片和红包。我看到红包的提醒条件反射似的点进了聊天界面,但刚肌肉记忆一般的点开红包时却愣了一下,刚才余光看到的那张图片的配色好像有点熟悉。领完红包退出去,点开图片,在原图还在加载的阶段我就已经通过那个配色确定了,这是字节跳动的某个证书。

“欢迎加入字节跳动”

2

我的认知在这一刻被重塑了。我此前的认知中一致认为是本科生进大厂并不会存在与我们这种双非一本的学校中,但事实证明大厂看中的是技术能力以及培养潜力,在92中出现培养价值高的学生概率更大罢了,但是自己努力去争取证明自身的技术实力也是可以进入大厂的。

我迫切的去找到骏哥私聊,渴望了解他的这条路径,具体是如何跑通的,但其实骏哥也没有很细致的去讲,毕竟没有人能完全克隆别人的道路,自身的能力和性格也不一定能走得通这条路。

但我可以确认的是,技术实力和自身的持续学习能力一定是硬通货。所以我坚定了自己要做的事————找一门自己喜欢的技术啃进去,先确保能让自己在一个技术栈内有所建树之后再去向着全栈拓展。扎根于内心的对于应试的疲惫和抗拒找到了一条疏解的出口,考研不再是大学的唯一主线目标。

道路的抉择与艰难的开始

“学什么?”这成为了我大一上到大一下前期最重要的思考课题,琳琅满目的技术栈各有各的好,各有各的就业前景。学长学姐也都走在各自的道路上就像是他们天生就知道自己擅长这个一样,问他们当初怎么选的,为什么要选择这个,得到的回答大多也都不是当时他们真实的想法和原因。一方面是时光流逝对于记忆的打磨遗失了不少的细节,另一方面则是选择这个技术栈肯定不是某个单一的因素导致的,行业的发展,新技术的兴起,国家的发展战略,遇到的贵人等等因素都会左右最终的选择。是天时地利人和的结果,是无法被轻易复制的,复制了也不一定适合自己。但我可以抓获到一个共同点,任何学长索取到的成就和选择都是基于自身实践经验所得到的,他干过这个知道怎么干或者知道大概是个什么东西才有胆量又把我去接项目去争取对应的资源,所以我决定沉下心来,暂时找不到没有关系,去实践,去尝试,才能真正的找到适合自己的道路。

子安学长的第一次鸿蒙活动是给我们介绍了一下鸿蒙的一多特性,使用音乐软件的歌曲列表这个经典案例讲解了一下栅格布局的基本原理以及断点的相关内容,当然其实一整场活动下来,我真正记住的内容只有这点基础的专业术语了。学长在讲台上一手拿手机一手拿平板,讲解着断点,我看着学长给的代码发呆,一行都看不懂,跟着学长的操作抄着意义不明的代码,并没有什么到最后自然就跑出效果的奇迹,没有什么什么突然顿悟的天赋,只有不算完美的成果和在预览器中看到的成品代码的效果。第一次真正看到一个软件的相对完整的代码我是真的很兴奋,虽然不是自己写的,但是我亲手进行了一些调试和修改,这种成就感和抄代码找不到报错原因的挫败感混杂着成为了我那一次活动的真实感受。

没有一瞬间就爱上了鸿蒙开发,也没有突然开窍,但我收获了哪份对复杂工程代码的兴奋感,从那之后,我对于学代码的热情开始被点燃,我主动去找了一些网课去看去学,那种一点点解读天书的感觉令我内心的成就感爆棚,感觉自己在逐渐接近真正的工程师。

后面我去随便找了找B站上的课看了看,对着学长的代码试图理解但还是太复杂了所以就没有坚持下去,觉得可以先当一个备选先不急。同时鸿蒙当时在国内受关注程度相对来讲还没那么大,而且在双框架的鸿蒙4系统上我并没有真正意识到独属于鸿蒙的优势,所以并没有直接开始系统性的学习。

就这样过了一段时间,我依旧参加着创客的活动,依旧是被迷茫所笼罩着,但生活还算顺利、成绩也还不错。

某天我突然看到社团的学长发了一个社团的活动宣传海报。joylab?好奇怪的名字。保研加分政策的详解,北邮保研学长现场分享经验,就业经验分享?!这几条朴实无华的宣传确实是让我心动不已,扫码加群,准时出现在了会场,却发现提前了二十分钟现场都已经人山人海了,这也反映了其实这种焦虑并不是一种个别现象而是我们这个群体的群体性困境。

活动先是介绍了一下各个等级的奖对应的加分分数、学硕专硕的区别,考保研的抉择等等读研必须要了解的内容。在保研北邮的20级学长下台后我还是积极的去加了学长的微信,虽然说我当时心里还是更偏向于就业,但也并没有确定所以还会想给自己去留一条路。

后面就业的部分,说真的我还真想不太起来具体说了什么,但只记得他们一直讲我们一直听,在那间教室慢慢坐到了11点多。6点多的我,满怀期待与焦虑的坐在教室的前排,试图抓住救命稻草一样的去听着学长学姐们的分享。7点多的我,听到了越来越多保研流程的细节和竞赛对于保研、考研的加分政策,我意识到海量的市级奖项是毫无意义的,绝大多数比赛都是只有国奖才能加那么几分,这对于毫无竞赛经验的我确实是不小的震撼。8点多,保研北邮的学长用亲身经历说明了本科生提前入组工作,积累导师人脉确定科研方向的道路,在学长讲完下台后我猫着腰小步快跑到了学长的座位旁边加上了学长的微信,努力的去为自己留一条路,随让我当时也不确定自己真实的想法,但还是先去把握住每一个能被把握住的机会吧。9点多,主持人开始劝第二天有早八的同学快回去睡觉,让听累了的同学离场,我回头看去,只有零零散散十几个人真离开了这间教室,更多的同学还是和我抱着一样的心态决心在这听完,不少人还趁着前排的同学离场赶紧向前去坐了几排。前排爆满,后排空荡,这在必修课上可是难得一见的奇观,或许只有最后一节课划重点的时候才能看到吧。

其实我内心确实是有些疲惫了,一方面是短时间接受了大量超出我当前能力范畴的知识,另一方面是我之前确实是没有在教室呆到这么晚过,内心想回宿舍和舍友打游戏的心也是前所未有的高涨,潜意识也在默默的去暗示自己:“今天已经听到很多有用的了,很有收获了,到此为止就行了”。但我就是感觉抬不起脚,在身体和精神上的疲惫之上有着一种更强大的力量让我留在了这里,这是对于把握自己命运的渴望,这是少有的能真正触达已经看清这两条出路的学长的机会,我要坚持听下去。

慢慢的十点多、十一点多,我一直坐在教室里越听越起劲,感觉自己的规划清晰了不少,虽然还是没有勇气断言说自己就是要考研还是要就业,但至少自己对于这两条路径的认知有了极大的提升,我能清晰的认识到我如果想两手抓都需要去做什么,如果真的要就业我又该去怎么找一些项目作为经历准备实习。

那天半夜,我走出WLA的楼门,站在自行车前,静静的感受着夜晚的凉风拂过脸颊,那份豁然与宁静的感觉让我感到了一种前所未有的“真实”。对,是“真实”。我为什么想用这个词呢?因为我每次毕业后步入新集体会感觉不真实,过了一段时间适应了新的集体,回忆过去的经历又会感觉到那段经历是不真实的,像是“再旅者”回忆自己原型的记忆一样。就这样,过去的一切都在这种虚实交错的感觉中模糊了,被时间打磨的只剩下了一些碎片的回忆。而这一次,我经过了深度的思考、困苦与挣扎后得到了一份自己选择的道路的“真实”,这份真实不是学生生涯的固有进程、不是家长为我好而替我所报名的活动、更不是被大众裹挟的前进的道路,是我自己想把握住的道路。

在那天之后我决定建起之前学了一点就放下的鸿蒙开发,加之不久后就是子安学长的第二次鸿蒙活动,我正式决定,不管怎样,我选择那条路,我都需要有一项能拿出项目,拿出成果、拿出奖项的技术傍身才行,于是我选择了曾让我感到兴奋感的鸿蒙开发。

我很快看完了B站上黑马程序员当时放出的一部分免费课程,还有很古早的一个被很多账号反复转载的课程具体出处是谁早就说不清了,但就是这些免费的课程让我又了初步的了解,也是第一次脱离了黑框框编程,毕竟此前的c和java都是对着终端去编程,我始终是不理解这些代码和我们真正能使用的软件之间的关系在哪里,之前听学长说是前端学起来会较快的得到正反馈,现在我终于是理解其中含义了,自己的一行行代码所带来的效果和改变能随时即时的显示在你面前,做完一个页面就能立刻截图出去炫耀的这种感觉确实不错,当然我也很清楚这些是绝对远远不够的,我们需要的是更深的去将这个技术栈学透,从表面的可见的顶层抽象一层层向下挖,真正理解一个应用是如何构建起来的才行。

就在我还沉浸在找资料自学的过程中,我舍友突然说是要学安卓开发来着,然后我突然想起来之前在黑马课里好像看到过有这个系列,后来我就说是去找找,找到黑马官网,右下角突然弹出了一个对话框自动的发了几条信息,我就抱着试一试的心态点开聊了聊。我真发送消息后就自动切到了人工客服,简单的说了一下情况后就主动添加了我的微信。随后我很快就要到了一些安卓开发的免费的资料和课程链接,我就想着说那既然都咨询上了不如再进一步给我自己问一问看看这边有没有鸿蒙的班。虽然我对于课外班这种东西已经有些疲惫了,但是其效果我认为还是有的,有人带着学一方面是可以给我答疑更重要的一个方面就是可以让我自律起来有节奏有紧迫感的去学习,这样更加高效。对于当时自驱力还没有达到顶峰的我来说还是挺重要的,或者说是系统性的学习相比于自己读文档去学习确确实实是更有效率的一条路,同时黑马的实力有目共睹,虽然他们的项目会有些老旧,尤其是java的项目都已经烂大街了,但是对于初学者来说其实很难真找到比他们更细的课程了。

我先问了价格,我本来以为要和常规的补习班一样花个几万呢,结果居然整套课加上最终的就业辅导只需要1888,还是相当便宜了,仔细一想也是,这一套课都是录好的,真正他们的工作只是日常答疑和就业辅导时的那些模拟面试而已。我确定服务包含的内容之后先要了一份试听课听了听。发现内容的风格就是黑马一贯的风趣幽默,用大量比喻进行讲解,确实是简单易懂。内容上也是相当丰富,试听课的部分已经有相当丰富的UI基础内容了。

几周后我听完了试听课。我决心要去报名正课。我先和妈妈打了一通很长的电话,回顾了过去报课外班的成果和成本,虽然我不知道这些钱花的到底有没有作用,我没有这些课是否还能考的出如今的成绩,或许,周末拥有更多自由时间的我能考的更好也没准?或许这些课是我真正的托底?我也说不清,也不用去理清了,总而言之,这一次,逆转了,不是被迫选择的路,而是我主动选择的路。

说起来还挺可惜的那位客服老师在过去两年和我都还断断续续的去保留着联系,但是几个月前因为工作调整,换了一个人和我对接,我也就没有再和黑马那边有主动联系了。

我们都在路上

做出决断后我的,正式的走上了自己的道路,身边的伙伴们也都逐渐找到了自己的道路。第一学期结束的时候,骏哥带着一众学长们开了学期总结活动,给我们分享了一下自己在字节实习了几个月后的感想和大厂真正的工作状态。福利是真的好,晋升空间是真的大,强度也是真的大的吓人,甚至开到一半骏哥讲完还是去隔壁开会了。我坐在前排中间听着一位又一位学长的发言,有科研大佬准备保研,有自己目标院校准备考研,有像骏哥一样也在实习的同学,大家都按部就班的走在自己的路上。等学长分享完坐到台下后,我悄悄走过去与学长们小声攀谈着,渴望能了解他们自身做出选择的取舍和当时的心境,渴望能得到一点参考。但越聊我越发现,好像最终引导学长学姐走上如今自己的道路的因素都是一些我们现在已经无法复刻的,只有在当时那个场景以及那个市场环境下综合取舍和自身兴趣得到的结论。

回想到当初不少学长陪着我一直debug到半夜到经历,我是真的能感受到学长们的热情和对自己事业的激情的(这部分可以移步之前写的一篇流水账文章,里面有一些截图记录的来着【传送门】),我觉得我找到答案了。我不需要再去问别人我该做什么了,胸腔中难以抑制的激情与渴望已经替我做出了回答。

我抠出大量原本课余不知道干什么的时间,开始浸泡在自学鸿蒙的过程中。跟着一点点的学了线性布局、弹性布局、相对布局等等等,了解了一个又一个组件,模仿了一个又一个现有APP的界面。这中间还穿插了一些小插曲。那个时候鸿蒙星河版还只是一个极少人知道的内部的测试版本,对应的开发套件和API9以上的文档我们都是看不到的,但是课程里用的却是API10作为演示。记得那次是在学习一个图文混编的场景,课程中老师调用了一个Text的子组件————ImageSpan,用于实现在文字中穿插一些小图标的效果。但是我一字不差的打出了这个组件的名字,但是编辑器没有像往常一样弹出代码提示,而且在打完后还是画红线报错,我还自作聪明的认为应该又是我中英文括号没分清楚。

3

知道我反复尝试了数次可能的符号修改,半角全角啊,中文英文啊,编码格式啊反正当时我能想到的都试了一遍都不行,我只好去问了老师,这才知道原来我用的是双框架的API9,老师课程中用的是星河版的API10。当时我还没报正课,还是试听的学员,所以暂时没法拿到API10的资料和对应开发套件,于是我就用image组件加上自作聪明的把文字拆成好几行用写死每行的文字和大小的方式强硬的把小图标给塞了进去。当时的我满脑子只有要把这个效果做出来的想法,完全没想过说真实场景下后端返回什么数据都有可能,我这种一像素一像素试的方式是明显不可取的,但我不知道什么是后端,不知道真实的数据结构长什么样子。我只知道这份用自己不懈努力尝试出来结果,用自己的方式去打破了客观条件的限制的爽感成为了我前进途中最重要的动力。

后来我开始在每个课程的案例开始时先暂停视频,只看效果图去进行开发的尝试,每次都能简单阅读新组件的说明文档之后就完成当次课程的开发,每个组件都一个一个样式的去调整,直到跑出来的成果和我们的效果图一模一样位置,随后快进视频直接去看最后的成品代码,虽然和教程里最终的布局方案有所不同,有些样式甚至是我做的更像一些!老师做的有些潦草了,当然我也明白那只是为了让同学们学会某个关键样式或新组件的使用方式而做的演示罢了,做成什么样都没人会较真,但是我对自己的“作品”锱铢必较的过程让我真心的感到了成就感和满足感。

真正学习了一段时间后,我理解了前端的本质简单来说就是去合理的摆放一堆箱子,有横着放的箱子、有竖着摆的、有摆不下就换行摆的……总而言之这算是我第一次对于代码的实现有了一套属于自己的逻辑抽象。每学几个阶段我都会回去看看子安学长之前的代码,然后惊叹于他是怎么写出如此复杂的代码的,为什么他一个页面里可以有几十个状态变量?为什么有这么多我不认识的装饰器?为什么有这么多我在官方文档查不到的组件?难道是自定义的?……学的越久,疑问就越多,我也试着和学长沟通过但是最终还是没法快速的得到答案,还是需要我继续去看课学习。

在看课的过程中我渐渐发现其实自己写代码在整个学习过程中起到了八成以上的功用,真正去看视频听老师去讲哪些幽默风趣的比喻的部分只占了小部分,毕竟听一个乐呵明白了其功能和参数规范之后我也必须去在一个又一个demo中去使用才能真正学会其用法。

纸上得来终觉浅,绝知此事要躬行。

初次的挑战

在学习完了第一阶段的全部UI基础之后我终于是迎来了阶段测验,那是一个综合了逻辑和UI基础的综合项目。从如今的视角来看那个考试项目确实设计的很合适,只包含了基础的布局,以及对于布局中需要随用户操作而变动的逻辑相关代码,用抽奖为载体去综合考验了我对于UI界面到数据结构之间的映射关系,以及如何将数据的计算结果再反过来映射到界面的效果上,这确实对我受益匪浅。说真的其实现在看来这个思路和学校在大二上前两周所设置的泡泡糖项目是一样的思路,在第一年学习了java的语言基础然后第二年就开始利用项目去让学生理解数据与界面的映射关系,以及基础的耦合和内聚的概念,确实很合理。但只是形式上,一坐就是一整天,虽然对于当时的我来说不算什么,因为我已经有了编程的兴趣以及找到了那个秋天独属于我的“编程神曲”

4

是的没错,我们结束乐队的一曲UNITE,我建议大家边听边编程试一试真的很爽,对于写博客也很爽。前奏部分的鼓点带着你的手有节奏的去敲击键盘就像是你自己所打出的鼓点。副歌部分高亢的歌声和节奏感爆炸的低音声浪音墙总是让人才思泉涌,你手上敲击的速度跟不上鼓点的话你自己都难受,像是打音游连着miss一样的难受,但是一旦你跟上了就很容易带领你进入心流状态。进入心流其实是件挺难的事,对于不少人来说都是可遇不可求的一个状态,自己主动进入是很难的,但是这首歌是第一次让我一听就大概率能进入心流状态的歌,所以我成为编程神曲。这种曲子在后来我每过几个月就会发现一首新的去续杯,我想也是我编程中不可或缺的一个重要动力吧。(也许吧🤔)

好了好了说回正题。那场测试对于当时的我来说确实是算一个挑战,因为我当时还没什么解耦的思想,完全想着将所有逻辑都写在一个文件里,将整个页面的功能想象成一个逻辑严谨,一环扣一环的线性过程,只要每次启动后能按照一个预想的流程跑下来就算结束的状态。可能是学校c以及java的题目留下来的后遗症吧,c就是写一个功能之后跑完了就退出,java就是写几个类继承一下、多态一下、实现一下,就结束了。这就导致我的思维惯性强的可怕,我试图像是对待学校作业一样,直接将全部逻辑都能在脑中串下来,是那种能随时随地具体到哪个变量应该是什么值,应该走到那个判断逻辑里的那种程度,这对于一个有一定复杂度同时有一定随机性的综合练习项目来说是较为困难的,我经常性的手上操作着操作着就记混了一些数值绕不清走到了哪里导致写出来的代码属于是又臭又长又没有可读性了。那两个小时的测试时间真的是我开始编程以来最煎熬的时间了,但我还是硬着头皮完成了效果并把代码提交了上去。那不是胜利的喜悦,而是一种劫后余生的庆幸。

这次测试给我敲响了警钟,我当前对于代码的认知和理解方式存在严重问题,如果继续这样下去是无法真正理解当初子安学长那样复杂的代码的!

我开始从新从一个更高的视角审视代码,我试图理解java中所学的面向对象的好处究竟在哪?我怎么才能合理的拆解我的代码?我怎么才能更合理的掌握代码的整体逻辑?这些思考让我编程的能力上升了一个层次。哦!原来这个接口是干这个用的,那我直接调用这个,再把这个参数穿进去不就能完成这个功能了吗?!那我直接引用这个包里封装好的这个函数,不就可以实现这个算法了吗?!……像是这样一次又一次“顿悟”的时刻让我渐渐明白了封装的优点,将人类主观意识所需要容纳的代码量进行压缩,裁剪掉已经可以稳定运行给出稳定结果的代码,只记住我们输入什么就会得到什么的结论,这样我们就能用更高的抽象层级替代更多的源码记忆,从而节省我们大脑的上下文空间。

说真的我写到这里也是真的感觉模型真的很像人类,这么说好像有点奇怪,毕竟神经网络本来就是模拟人类大脑结构诞生的产物。以及最近刚刚发布的jev迈出了模拟人类本能反应的重要一步,AI和人类的相似度是真的在可被感知的高速提升。可怕、兴奋、期待等情绪混杂,从移动互联网尚未成熟的时代成长,经历互联网时代的大爆发,又是站在AI大爆发的起点开始了大学生涯,我们真是见证了人类文明奇点的一代人。

道路的交汇

在大一上的学期总结活动上,骏哥在结束了整场活动以及他的临时会议后让其他人都散了,并让想当社团负责人的同学留下,我毫不犹豫的走到了骏哥面前的位置坐下静静的等待。我放下背包回头张望,心里算着究竟谁会留下来,谁会在这条道路上与我交汇,成为同路人呢?不知道,不重要,学长学姐所组成的这支队伍对我的吸引力是由心而发的绝不是我一时冲动想要加入的。归属感也好、技术启蒙也好、道路选择的人生导师也好都不能概括那一年的创客在我心中的分量。

人走的差不多了,最后留下的只有五个人,在骏哥的带头下我们各自进行了自我介绍,有两个同班的女生我倒是挺意外的,这时我了解到创客其实是经历了一次改革和断代的,骏哥他们这届算是把创客救活并改造了,所以其实我没有错过很多,我入学的这个时机恰好是创客新时代的开年,我不由得在内心深深的感叹着自己的幸运和21级学长们的伟大。我那时还不太善于表达自我也比较畏惧讲台,所以我问的唯一一个问题就是“我们应该还不需要去带活动吧?”虽然有些奇怪但也可以理解。毕竟当时还没有扎实的技术功底,也没有拿得出手的作品,自己都不一定能完成什么作品呢就想着教别人,还是别误人子弟了。

那天晚上,骏哥把我们都拉进了负责人群聊,我们正式成为了预备役负责人,看着群聊名称,我激动的心情久久不能平复,立刻发了一条朋友圈记录这个重要的时刻。我不知道这个选择未来会给我带来什么,我也不知道我在创客的工作会不会顺利,我更不知道最后我们会不会有一个“HappyEnd”,但我知道这是我想走的路,是我的心驱动我去做的事,这就足够了。无论再来多少次我还是会选择加入创客。

旅程开始

在下半学期开始时,我在负责人群问骏哥我们什么时候开始第一次活动,我也是相当期待下半学期的活动内容。结果骏哥告诉我活动主题和负责的学长之后直接让我去成员群里发公告,写清楚主题、时间、前置条件并去借教室。我顿时一阵惊愕,但很快就被兴奋所替代,这种得到器重的感觉和那种前所未有的认真劲现在回想来看也是真的很难得。后来骏哥又搞了一些字节的周边寄给我让我去发一下,让我写一个抽奖程序。那一次是我印象最深的一次,我在致4月的那篇文章也重点写了那次的经历。我本以为就是一个随机数的事,但实际执行起来才发现,我不会用IO流读文件,我不会做多轮次的去重,我不会用java的ArrayList,我不知道怎么高效的完成名字的导入和随机数到名字的映射,骏哥给我写的Swift版本的代码我完全看不懂,他说让我学习理解这个共通的思路我也不明白是什么意思……原来我什么都不会,这么简单的一个抽奖程序我甚至做不出来,我原来连java的基础都没学完,原来我还差这么多……

最后带着一坨屎的代码走上讲台进行抽奖时,我把VScode的终端拉的高高的,挡上了我几乎全部的代码,生怕别人看到我那一长串的ifelse的石山,直接被在讲台上面赛博凌迟了……

刻骨铭心的认识到自己的无知,这比C语言的那个60分的机考成绩更令我痛心疾首,这明明是我自己选的路,自己想做的事,但是我却没有能力去做好,甚至可能拉低了大家对于创客团队的印象,我真是愧疚万分。这段经历忘不掉也不能忘,为了以后不再在自己选择的道路上感到如此的无力,我开始了疯狂的学习,不只是鸿蒙,还有更多计算机相关的知识,将主要的软件运行逻辑、前后端的架构、网页和原生应用的区别、计算机网络的基础认知全都通过各种方式和项目实践去恶补了一遍。当然,这个过程是很漫长的,不是说你看了某个课就全给你讲清楚了,而是在一次又一次的项目实践中你真的需要去用到这个点,你不了解你就写不好这个功能中来的。

但,漫长指的也仅仅是客观时间上这件事花了两年多以及以后还会一直持续,并不是说我主观上认为这个过程很痛苦很煎熬而导致的“漫长”。怎么说呢,变化肯定不只是因为这一次编程的失利就能产生的,长期以来各种不明白的点连接成线,交织成网,慢慢的变密,慢慢的收紧,最后的这一次失利将袋口彻底的封死,被窒息的感觉吞噬的我才觉醒,破茧而出,决心改变。单从这篇文章是远远无法真正理解我的心境的,就像是我当初无法通过聊天理解学长学姐的成长历程和做出抉择时的心境一样,各位读者没有必要复刻我的路径,我也没有必要去成为谁的翻版,我就是我,顺其自然,遵从内心,做想做的事就好。

骏哥真的是一个很有魅力的领导者,这不止局限在他的性格上,那种温文尔雅、平易近人的感觉确实是一开始大家愿意接近他的理由,但接触一段时间后就会发现他本身的技术实力也是相当强悍,专业素养极高。他以一个双非本科生的身份进到字节核心的技术岗实习一整年这个事本身也为其添加了一层崇拜的光环。等这都还是表象,长时间的接触后会发现他总是能在合适的时间,给合适的人派发合适的任务,让整个团队很自然全自动的在运转,同时也在兼顾着多条线的进度,一边推进社团活动一轮又一轮的开展,一边推进升级校级社团的认证,一边指导社团官网的搭建,一边协助我们预备役负责人熟悉工作融入团队,将合适的初级工作以及能融入到活动主讲者的机会给到我们。对啊,这些不就是一个优秀领导者的模板吗?我依旧只是在列举着这些“现象”,我想像那些人物内核拆解up主一样哐哐哐的从过去的经历中拆出一个又一个的心里活动分析,去抓住一个人物的内核从而解读其行动的理由和动机,但很可惜我做不到。一方面可能是我不知道怎么用语言去拆解他给我的感受,另外一方面我没有上帝视角,我看到的骏哥只是很小的一个点,我不知道他对其他人是怎么样,我不知道他过去决定接手创客时是怎样的心态,我不知道他对创客进行了怎样的改革,我甚至都不知道创客之前是什么样,我甚至都不认识任何一个20级的创客学长。所以说,我没有足够的资料去分析,也没有能力去分析,我不指望其他人能有相同的感受,但我想在这里记录下我的这些感受。总而言之,我遇到了一位伟大的引路人,带着我迈出了旅途重要的一步。

亦终亦始

作为一个“半旁观者”的视角在社团中工作了一个学期后,我理解了社团运作的基本规律和应该去做的一些工作和事前的准备。学年即将结束之时,骏哥在我们负责人群里公布了官网的网址,以及我们升级为校级社团的喜讯,我的内心无比振奋,原来社团所做的远不止我所看到的那些活动,还有在私下骏哥一直在暗自推进的长期任务线。虽然马上就要换届了,但是我心中倒是也没有过多的悲伤,毕竟我们最大的学长只是21届的而已,还没有毕业,并不是说会就此送别老学长,大家都还在,只是新老交替罢了。

骏哥带着我们去唱歌恰饭团建,本来我还是挺放不开的,但我们骏哥也“向友军开腔”了那我也直接舍命陪君子二人激情对唱,虽然谁也唱不上去,也不知道到底在唱什么,唱的把两位学姐笑的喘不过来气,但发自内心的幸福感已经压过了“丢脸”的羞耻感。

不过可惜啊!没听到子安来唱歌啊!!!他下飞机根本赶不过来啊,可恶。)

唱了很久很久,夕阳的余晖渐落,夜色笼罩了久耀里,我们还在哼唱着那走调的歌曲,走到路边打车时,骏哥简单和我还有婷姐我们三个人交接了一下最近的工作,聊了几句王老师的期望和对于社团的看法之类的,可以从骏哥的神情中看到一丝丝不舍的,想必他中途接手,经历了成员剧变和对老制度的改革以及指导老师的更换之后,对创客的情感可能远比我想象的要深。(或许在这点上我们是一类人?)

对于即将到来的招新我是十分兴奋和期待的,一方面是我终于是要有学弟学妹了,另一方面是我终于是成为正式的负责人了,我主动找到婷姐去申请提前开始招新并且改革一下招新面试的流程。之前骏哥他们带着婷姐去扫楼发传单一方面是感觉效率比较低下,另一方面是感觉传播范围不够广,因为之前他们只是把招新范围锁定在了所有计算机学院的新生中,但如今我们已经是校级社团了,招生范围的扩大让我们的招新方式和宣发范围也应随之扩大。那这样一来我们就需要抢先在新生刚查完结果进入新生群之后就开始进行招新,婷姐也同意说让我来试一试,这样一来我就开始着手准备招新文案了。当时我提出这个想法时其实也是一时兴起,因为我大一入学前并没有加入新生群也没看到去年的招新是什么样子但是今年我由于认识了不少学生组织中任职的人,也是比较早的进入到了新生群,当我看到隔壁的几个像是管乐团、民乐团、RERA、棒垒社等都开始发公告招人时我才意识到该这么做,但那时现做海报肯定是来不及了,所以我只好自己写了一段宣传语就开始带着二维码再各个群里招新,由于当时我的热情极其高涨加之还没有给别人指派任务的经历,所以整个假期几乎全部的招新工作都是我一个人完成的。我记得当时是加了300多个24的新生来着,因为他们进群后基本上见到的都是我在说话,想要答疑咨询也自然都找到我身上来了。我也是相当乐意去解答了。当然,其实和新生聊天本身就是一件非常有趣的事情,一方面是可以和来自五湖四海的新生去进行交流,还可以用自己的语言去把过去的经历进行一些包装来获得新生的仰慕(虽然说这种行为没啥意义吧,但也确实是校园生活中不得不品鉴的一环了),另一方面这也是让我感觉我在逐渐靠近自己当上社长的梦想。有着一种小孩子学大人说话一样的感觉,那种明知自己还没有什么成绩,只是单纯的比他们早上一年学,但又忍不住的想要分享自己的经历和见解那种好为人师的劲,现在还是挺怀念的。

对于现在大四的我面对新生,并不是说就没有分享欲了,而是想说的话变了。自己的经历和认知的提升让我说不出之前的那些话了,或者不是说说不出,是觉得说出来没意义,过去总是聚焦在一些细枝末节的小点上,总喜欢迫不及待的去教会每一个新生我们的活动内容,甚至做不出来的会直接上手帮他操作,但现在看来这种行为没有意义,那只不过在追求那一场活动的虚假繁荣,只有自己悟出来的,自己去搜索、询问、思考之后得到的答案,经过实践解决了问题之后才是真正有意义的成长,回想我最近对新生训练营中来问问题的新生的回答可能确实显得有些“不近人情”吧。但我现在相信只有去引导他们去思考自己想要的是什么,去引导他们自己探索研究后解决问题才有意义。也许会有问过我问题的新生读到这里,你或许还理解不了我的这种感受,但我希望也相信你以后会有比我更深刻、更高层次的体会。未来我的心境和感受还是会不断变化这是一定的,但我始终不会为自己过去所作出的决定感到后悔这是不变的,一个人如果连自己都不能理解,不能认可,不能接纳的话那他也注定无法与别人建立健康良好的关系。

或许有人也会问那在时候或者是有了其他的一些机会或选择时就是因为过去自己的选择导致自己没资格或失去了一些优势去抓住那些机遇,自己就是会后悔自己做的决定怎么办呢?其实我也是被这个问题困扰过,但经历了一次又一次这样的复盘后我明白了,每个人都无法在决策时直接做出全局最优解,这时绝对不可能被一个认知如此局限的生命所做到的,那只要我保证我做出的决定都是符合当时的局部最优解,同时遵从我的内心而做出的选择,那其中取舍掉的东西也都不必继续深究了,这其实也是内耗的来源之一。人们总是在想着“如果”,总是在追求着一条完美的世界线,期待着能够改变自己的过去来获得更好的未来,但却总是在忽视一件事————我们唯一能掌握的是当下。如果你怕不够完美就不敢迈步,那就永远不会拥有未来,永远只会被困在过去。所以,把视角放长远,那些让你喘不过气的事情终究会变成你成长经历中的一块小小的碎片罢了。

面试在我的组织下开始了报名、分组、时间上的微调……我尽可能的参加了每一组的面试,一方面是很好奇新生中都有什么隐藏大能,另一方面也是一种发自内心的责任感让我去时刻准备处理一些矛盾和临场的协调。事实上,确实是发生了一些争端,有些新生的表达风格可能确实有些激进了,让我们的负责人产生了一些误判,或者说是他自己的表达就是有问题,但又由于之前没有强制录屏会议导致处理起来也是经历了比较长的沟通和协调。还有一些新生我在旁听时其实是感觉有一种在演戏的感觉但又拿不准,因为我当初其实就有一点半实半虚的成分在里面所以我也没有深究。随着假期的数轮面试结束我也是松了一口气,好像大家都是正常人,都有强烈愿望想加入我们,那就别限制太多了,基本最后都通过了。看着正式群人数从十几个涨到一百个,再到百团后的面试后逐渐涨到了两百多人,我内心是无比骄傲自豪的,认为这都是我的功劳,是我的宣发吸引来了这么多人,最终把创客的规模扩大到去年的将近三倍。

在新生军训时,我想着说找个安静点的房间去面试接下来的新生,同时也是想和之前假期聊的很投机的一些新生见见面。于是我想到了之前骏哥提过的社团活动室XXB408,那个屋子我记得是常闭的,但是我有权限进出。于是我找了一天的空闲时间带着电脑去到了那个房间。我从电梯出来,XXB4楼熟悉的机房的气息涌入鼻腔,我深吸一口气,环视四周,没有看到老师也没有看到其他人,我每一步走的都很轻,脚跟慢慢触地,感受着鞋跟对脚后跟的压力逐渐增大再慢慢的把重心移动到前脚掌,尽可能地减小着我的脚步声,大一的C语言都是在这层上的,java的机考也是在这层考的,我本是对其布局相当熟悉的,但我依旧在担心某个拐角会不会看到某个老师,“他”会不会问我在这干嘛,会不会问我谁允许我来这间教室,会不会……常闭实验室的这种有别于普通教室的这种性质以及我对于自身资格的怀疑让我产生了种种联想,不由得警惕着周围的一切动静,生怕有老师来对我发出责问。我不断的在心里安慰自己说“我是创客空间正式的负责人,而且门禁的授权是指导老师亲自给的,社团的负责人来社团活动室天经地义,没什么好怕的。”我抬起头,把肩膀往后掰了掰,挺起胸膛,试图把自己装更加自然一些,也扩大了一些步幅,向着那并不算远的408实验室前进着。服务器的风声在楼道两旁的常闭门内呼啸,隔着门听起来有些闷闷的。405、407、408……我站在拐角微微向前探出头,透过门口的玻璃看向里面。还好,没有老师,灯和空调都是关着的安静的很。我走到门口再次环视了一下四周,整个四层依旧静悄悄的,我拿出学生卡,在门口方方正正的黑色读卡器上刷了一下,绿灯闪烁的同时响亮的“滴”响起,门上的电磁铁失去磁力发出结构性的咣当声,我轻轻拉开门走了进去,一股闷热的气息扑面而来。这个房间平常不开门也不开窗,紧内侧还有一个一直在运行的服务器,虽然没什么噪声,但是在夏天本就闷热的天气下,它散发出的热量也是不可小觑的。我关上门,把远离我座位一侧的空调打开,随后打开了主灯。暖色的灯光亮起,一个个六边形的圆桌无声的等候着下一场活动,下一次招新、下一次换届……我坐在了右手边的第一个圆桌靠墙的一侧,这样我的余光能随时看到门口,也方便我随时做好准备迎接到来的人,无论是我约的新生还是来用教室的老师。我把旁边的椅子拉过来,把背包放到椅子上,拉开背面的拉链,去出放在夹层里的电脑,撕开魔术贴时手慢慢的,稳定的控制着速度,让倒钩和绒面分离的声音尽可能的减小。略显僵硬的动作也映射着我内心的不安。我打开电脑,拯救者的风扇开始呼啸,我静静的等待着面试的开始。

这一次,我坐在了面试官的位置上,坐在了一年前自己电脑屏幕的对面,面对着腾讯会议那熟悉的窗口,内心依旧是严肃的默念着自己的开场白,或许我从未坐到电脑对面,或许这也是对我自己的一场新的面试。考验着我自己对于过去一年的对于创客的理解、考验自己临场应变的能力、考虑自己语言组织的能力。毕竟,面试一场,我们一方面是要听新生的讲述,另一方面也要回答新生的疑惑,介绍我们的社团。作为被面试者我们或许还能准备一份发言稿去引导整个面试的走向,也可以去准备一些常见问题的回答方式。但是作为社团的面试官这一侧,想要准备就很难了,一方面是新生的水平参差不起,对于差一点的我们可能需要想办法引导出他的兴趣,讲清楚最基本的几条出路,对于有点技术水平的,我首先要保证自己能理解他说的话,不懂就老实承认,绝对不能不懂装懂,但同时要是遇到自己了解的部分又要能和他去沟通了解他的项目,这样才能去挖掘出他们的闪耀点,也能展示社团的专业性。还有一些有想法同学想要获得一些资源、想要社团带着打比赛,我很清楚社团在刚刚重组后并没有足够的奖项去撑起牌面,比赛也确实没有组织打过,我不能昧着良心去说会带大家打,我内心也渴望拿奖啊,但是我自己也没什么门路啊。所以被问到时我基本只能是把问题转化成社团对于竞赛的态度如此,鼓励但不强制,提供帮助但不保证结果。这或许就是一种体面的说法吧,既没有欺骗同学们,也不主动暴露社团目前的不足,我心想这只是临时的解决方案,等我技术实力再硬一些就去打比赛拿大奖,一方面是丰富自己的履历,同时也是给社团逆转竞赛方面的经历空缺。

至少,当时我是信心满满的。但后两年在回答这个问题时,我的说法渐渐变得熟练且圆滑了,听起来愈发的体面,也愈发的感到无奈。

这一次我本来是想要按照去年骏哥他们的做法,去开启等候室一个个面试的,但是我后来想了一下,其实我大一时对于身边同学的实力和追求其实认知相当匮乏,很长一段时间里都以为还和中学时候一样大家都差不多,也就导致了一些选择上的迟疑和困苦。一个一个面试固然公平,但是差异是存在的,如果不能尽早的认知到技术的差距、追求的差异,就无法理解在大学里没有“大流”可以随,尽早的帮大家点明未来的方向是创客想做的,既然最终目的是这个,那我们就应该把差异提前去揭露。所以我自作主张取消了等候室,让本面试小组的所有人同时开启摄像头,就看着大家一个个的接受面试,听着各自的自我介绍和问答环节,这很有可能会给后面的同学一些压力让他们去临时的再屏幕外面的去再准备一些东西去包装自己,我那时认为是可取的,因为人总是会为了让自己的谎言不被拆穿而去进行一些弥补,如果这也能成为自驱力的一部分的话那也是不错的。

但后来从社团发展和活动效果的角度来讲,这并不算是好事,但那都是后话了,之所以时不时的去穿插一些不同时间线的观点,获取就是我现在在编写的过程中试图去理解过去的自己,又同时客观的分析着后来的结果导致的吧。我不是作家,把线埋的太长或许我自己都想不起来要圆,这篇的本意也不是写小说,所以还是想到什么就说什么吧。

在一轮接着一轮的面试间隙,我和约来的新生学弟学妹们聊起了天,他们都是假期时就早早加入并通过假期面试的轮次的正式成员,我也让他们旁听了对其他新生的面试,一方面是践行了我前面所说的将差距暴露在大家面前的理念,另一方面也是方便于为我和他们交流找话题。我没敢聊太多的关于未来规划的事情,因为我知道我自己还没有把自己规划的模模糊糊的路走通,为别人指引道路是没有说服力的。我重复着之前学长们给我的一些建议,像是在考保研和就业两条线上的抉择,和兴趣点的探索啊,未来国家的发展趋势啊之类的,总而言之,我把学长们的话复述了一遍之后就会尽可能的去加上自己所实践过的经历,用自己尝试过的事情去解释学长们的观点,这一方面是在给新生指明道路,更重要的则是我自己对学长学姐的话的理解和对自己思绪的梳理。

讲出来,和自己闷声在心里想,是完全不一样的。自己想的时候,很多东西其实并没有被整理成清晰的逻辑,更多的是某段经历突然和学长说过的一句话对上了,于是心里冒出一种“哦!原来那句话是这个意思!”的感觉。这种感觉当然是真的,毕竟自己确实经历过,也确实从中体会到了什么,但体会到了,不代表就已经想清楚了。为什么这段经历能说明那句话?当时起作用的到底是什么?换一个场景这个道理还成立吗?这些问题在自己心里是可以暂时跳过去的,因为那段经历带来的情绪还在,只要一想起来,就会觉得自己是懂的,似乎也没有必要再往下追问了。

但讲给别人听就不一样了,对方没有经历过我的经历,也感受不到我回忆时的那份兴奋或困苦,我不能只说一句“反正我当时就是这么觉得的”就指望他能理解。就像前面说的“找一门自己喜欢的技术学进去”,这句话我当然是认可的,但如果只是把它原样告诉新生,那和当初学长告诉我时又有什么区别呢?自己还不知道喜欢什么怎么办?是看着别人做出来的东西觉得很酷,还是自己真正上手做的时候也愿意继续钻研?遇到困难时,是不适合自己,还是只是基础不够?试着去解释这些问题的时候,才会发现,原来一句自己早就觉得懂了的话,里面还有这么多没想清楚的地方。为了把它讲清楚,我就得重新去回想自己当时试过什么、为什么放下、后来又为什么捡起来,把那些被一句“我喜欢”概括掉的过程一点点找回来。

所以让我觉得可怕的并不是“感觉”本身,而是一直停留在这种感觉里,把“我觉得有道理”当成了“我已经知道该怎么做”。感觉可以让我意识到自己在意什么,想往哪个方向走,但真要迈出下一步,还是得去弄清楚眼前的问题是什么,自己又能从哪里开始。讲出来也不意味着就一定想对了,只是那些原本在心里被一带而过的地方,终于有机会被自己看见,再拿到后面的实践中去验证。这样回头再看,我当时一边复述学长们的话,一边补上自己的经历,其实也不只是为了让新生听懂,更是在试着弄明白,自己到底懂了多少。

一波波来到“小圆桌”的新生也给我带来了一次又一次逼问我自己的机会,我的回答在一次又一次的思考中愈发的清晰也愈发的熟练,我从一开始磕磕绊绊不断思考斟酌我自己的语言、不断回忆自己的经历、不断品味学长们曾经给出的指引,到后来对自己所讲出的见解越来越自信,逻辑越来越自洽,被新生提问时能越来越自然的进行解释时,我意识到我或许找到了自己想走的路,或许我能确定下来未来的“出路”了。

读到这,也不知道大家还记不记得这小节的标题叫“亦终亦始”。我自己想的解释或许比较浅显:21级学长们的社团生涯渐渐落幕,22级学长们接过了新的篇章;我也从一名普通社员,走到了负责人这个位置;曾经作为新生被学长们带领的我,也开始有了带领新生、成为学长的身份。或许放在中学的阅读题里,还能再给我拆出来几十种对仗工整的解释吧,但也无所谓了,在这种地方去用一下那种模糊的感觉去“含糊”一下好像也不错,毕竟你们自己心中,迟早也会有自己的答案的。

做大做强,再创辉煌

成为校级社团的第一年,骏哥带着他的团队给我们留下了一片盛世,我想让创客继续传递那道曾照亮过我的光芒:不必耀眼夺目,却能照亮前路;不必炽热灼人,却能温暖心房;不替谁做出选择,却能在迷茫时给人继续向前的勇气。

想要去做到这一点的话我们首先就需要去拆解一下,这道光具体来讲是通过什么样的活动?技术实力?人文关怀?或是其他什么的帮助传递到我身上的?但是的我认为最重要的两个点是零基础友好和学长们的硬实力。零基础友好主要是体现在宣发时对招新要求的讲解和招新群的互动上,而硬实力一方面是体现在学长们的头衔和活动中展现出来的技术实力上,当然还包括了骏哥去字节实习这种重量级的大厂实习经历。我开始梳理我手上的牌,我有什么?我有靠谱的22级的学长学姐,他们是这一年社团运行的内核,对于学校的相关组织的对接、和指导老师的对接、年审相关材料、经费管理等等我不太擅长应对的部分基本都是有专人处理的,我所被分配的职责只是办好活动,和新生多多互动,把社团的氛围搞起来,这确实是我想做也擅长做的。再向上,子安学长备战考研,也在学校里常驻,偶尔出面带一两次活动还是很游刃有余的,骏哥虽然依旧在大厂实习,但是对于社团这边他还是有放不下的情节,也会回来分享分享相关的实习面试的经验。王老师的话也有一些资源能给到我们,也会来带一场活动。从活动的数量上来说是不需要我操心的,光是22级学长学姐就能撑起来,我需要做的是锦上添花,首先我自己的话就先以身作则去带一场鸿蒙的活动吧,刚好也是给子安的流式输出活动当做前哨站打一个铺垫,让大家至少能装好软件配好环境。我自己有把握,比较熟练的部分也就是复刻现有应用的UI了,虽然对于更复杂的一些页面逻辑上我也有一些能力去做了但还是没有那个自信能在现场去完成同学们的debug任务的,同时按照我自己的学习曲线来讲一开始如果没做过前端开发的同学上手确实会相对较难,我只能说是让大家先有个大概的概念就算是成效显著了,所以实际的代码我需要尽可能的控制布局逻辑上的难度和总代码量。将封装builder和组件的内容去放到更后面一点的部分作为看情况再选讲的部分……

具体的顾虑还有很多很多,于是我决定先去自己把demo的代码写好并把PPT给做出来。

我选择了很久的复刻素材,想的是找一个比较大众而且能尽可能的少用一些复杂组价种类的,最终选定的是用B站的视频卡片去作为最终选题

5

这张图是25年HSD活动PPT的截图,两场活动我用的是同一套素材。现在回头看,这个选择确实很合适:线性布局、层叠布局,再加上图片和文字这些基础组件,难度不高,却能覆盖不少常用内容。对刚接触鸿蒙开发的同学来说,跟着做完就能看到一个完整的界面,既不会一上来就被复杂逻辑卡住,也能对UI开发有个直观认识,拿来做启蒙再合适不过了。

PPT的模板嘛……我选了半天感觉都不咋样,于是我决定……直接把子安去年的ppt拆解重组!!!哈哈哈我真是天才。纯黑加设定好的切页动画真的很爽,我把内容换一下就做好啦!

对于前半部分的教学呢,我就决定采用尽可能简单易懂的直接把对应组件和对应的一些效果图给放上去,属于是看图识字了。后半部分的代码实操,我直接没做ppt毕竟这部分我要是放手让他们自己写,那这场活动就彻底崩了。就像当年的我一样,抄错代码根本不管红线是什么,只觉得是自己没抄完所以报错,到最后就是一坨屎山。所以我决定带着大家边分析边写,控制整体的速度。

对于这场活动的构思其实是大一下的时候就已经在想了,在我自己写完全部代码做完PPT之后,我向后仰倒在椅子上,想象着自己第一次作为主讲人站在讲台上的场景,想象着新生会遇到什么样的问题。模拟数次后想到的最大卡点居然是在假如我在台上一时间写错了代码,写不出来代码。我的内心还是潜藏着对于自身实力的怀疑。

自己在写的时候,是按照黑马课程中教的方式一点点从外向内,先纵向分上下两部分,上半部分用层叠加横向,下半部分用纵向加横向布局。思路是很清楚的,但是具体的圆角啊,图标资源的命名啊,svg和文字的颜色啊这些东西在台上调整的话就比较慢了,虽然只是个演示的demo,但我也希望还原度能做的高一点。所以我就作出了一些调整。

先是把我统一命名好的图片资源直接打包zip到时候直接让同学放到指定文件夹下就行,随后是将当前写好的原版代码上传GitHub,一方面是我自己在写的时候直接拿平板看github的代码作为兜底,防止样式取值上的反复调整。“应该没问题了吧?”我心中反复质询着自己这个问题,想象着自己是新生的话可能会有什么堵点。我是真心想把这场活动办好也希望能作为我上台讲话能力的检验。在上半年数次的活动辅助以及我认知上的变化,我开始理解了如何与人平等的对话,如何在台上自然的表达,以及看淡他人看法的重要性。没那么多人会记得你的错误,甚至没多少人会记得你,所以完全无需因为别人的目光而紧张。紧张只需要为自己想达成的表现服务就好。

终于是来到活动当天,走进教室就看到那几个最活跃最积极的新生坐在前排,我也是十分欣喜。人越来越多周围有插座的位置都被渐渐占满,看着后来的同学开始在中间没有插座的地方落座一个个还都是游戏本,我赶紧安排人上楼去拿插排,从脚下把插座顺到了中间的位置。回到讲台上,点开讲台上的上课按钮,白色的投影幕布缓缓落下,我将电脑连接并打开了PPT的第一页,打开麦克风开始招呼同学们尽快落座,中间的同学们看下脚下有拉过来的插排。还剩五分钟开始,我把平板打开,架在了讲台桌的电脑屏幕后方,打开GitHub之前传好的代码,上下滑动复习着代码。

教室后面的电子钟闪烁着红色的光芒,时间到了,我深吸一口气,拉起麦克风,“大家好,欢迎大家来到创客空间,这次由我……”说真的我也想把那段话全写下来,但我是真记不清当时是怎么说的了,但倒也无所谓只是一段开场白。那场活动我们没有借到阶梯教室,借的是一个平层的大教室。我每次写完一段代码的间隙,走到台下去穿插观察的时候也是比较方便快捷。

前半部分的组件功能讲解同学们听得都很认证,也都没提出什么疑问,我还以为是我当初多虑了,其实这些都很简单。但后半部分的实操迅速打了我的脸。大多数同学真的只是在照抄……大括号前后数量对不上的、把上半部分代码写到下半部分里的、把背景图盖在文字上面的、Text组件参数传图片的资源路径的……就怎么说呢,可能人真的无法共情曾经的自己把……吗?也不对啊,我自己学的时候好像也没这么没脑子啊?我只是抄的慢而已啊……我的脑海中在反复不断的自我博弈,我总感觉他们的错误相当离谱,我总是觉得自己当初没这么“蠢”但好像这都是人类美化自身的本能,我当时第一次鸿蒙活动好像也是啥也没看懂,但好像那次活动又是很进阶的内容,第一次就是一多……客观的来讲,难度确实不一样,但我现在也无法确定当初的我如果第一次活动学的是一些比较基础的UI布局会不会表现得更好一些,哪怕我所假设的都是真的,那也和现在他们的表现没有关系,和我现在讲的内容没有关系。所以我很快抛下了脑中的种种杂念,开始去一个一个的现场debug。说实话,过程中能绷住是真的需要一些“功力”的,而且有很多重复性的问题,纠正了一次下一段代码写完他还是可能会再犯。但就在我将下半场进度推到一半左右时,我还真发现有人已经凭着自己的理解把完整的demo写完了。我是真的很惊喜,我恨不得把他的电脑举起来给大家看。我在一阵夸赞之后开始引导他自己尝试阅读文档并去做进阶的内容:将这些简单重复的UI元素封装成@Builder并将关键的UI数据提取为形参,通过准备一个合适的数据结构来去循环渲染出可滚动的视频卡片列表的效果。我特意只告诉他了这个关键的修饰器和目标,让他自己去找文档去实现。这是我从我自己学习经历中得到的答案,这样的引导我觉得是很能激发新生自主探索学习的能力和习惯的。

心满意足的我离开他的座位回到讲台上以他为例子去鼓励了一下大家,然后继续向下推进,继续debug。那时候的AI还都不知道鸿蒙是什么,都不会写ArkTS,让他们直接去问AI在那个时期是最为不负责任的做法,所以我还是决定自己来一个个debug。有了这一个优秀学员的案例之后我也是心情舒畅了许多,我鼓励邻座之间互相帮助去debug,主动走下去牵线搭桥的凑出了几个小组,我站在讲台上看着教室后墙上的电子钟,时间已经相当紧迫了,我决定舍弃进阶部分,不能强留大家到太晚的时间。于是我把写好的代码的仓库链接发到群里,并让想走的同学离场,想继续听的同学可以留下来继续去做进阶内容。还是有一部分同学愿意留下来的!我很高兴,真的。进阶部分的推荐明显就顺利许多,毕竟能留下来的都是有自驱力的,都是会尽自己所能去理解,去检查代码的人。最后也是进入了一种边聊天边做的过程,也是我最喜欢的一种活动状态。因为到这里就不会那么拘谨,而是想朋友一样的感觉,纯粹的技术交流总是那么令人神往。

整体还算是成功的一次活动,现场的氛围,整体的推进速度,最后的成品率都还算可以,但还是存在不少问题。

复盘时找出的问题我感觉都很难解决,像是前期的组件语法讲解可能不够细致啊、后期推进的节奏偏慢、过程中debug只有一个人的效率太过低下啊这些都是问题,但又没法解决的感觉。组件的语法这块我是特意做了一些省略,因为大多数人是没有编程基础的,我直接去给他们将对象啊、闭包啊、装饰器啊什么的是真的不现实的,一方面是会提高门槛,另一方面是会把节奏拖的更慢。所以我就特意省略掉了前面的语法细讲的环节,只是去讲解了组件的效果让大家有个概念。后面代码实操的部分直接对着代码去讲该怎么写明显是更高效的做法,事实上我也是这么做的。而对于后面节奏慢和debug效率低其实是同一个问题,毕竟我不能强拉着不会的负责人来帮我一起debug,人力上的限制我没法解决。而现场问题前期白怪,很多都不是因为自己的逻辑上有问题,大多都不知道自己是怎么想的,只是单纯的抄错了,缩进也对不上,就造成了大量毫无逻辑无厘头的错误。仔细想来其实去年参加子安学长活动时情况也差不多,我们也是只能一个个等着子安学长来debug过程确实煎熬。或许把这一切都归结于社团资源的限制和新生自身自驱力过差也未尝不可,也是属于无奈之举,但那时我还是想积极的想办法解决的,感觉还是自己的能力问题。

当然在后面参加社区的活动,无论是走出去的,还是拉进来的活动,我才渐渐意识到“助教”这个角色的重要性。没有助教你的活动规模扩张和比较高质量的进度推进就是会很艰难。孙妈拉来的很多校外资源都是由创客去进行承接,我也是当了不少次的助教,无论是什么活动,无论是什么大佬讲的课,其实新生的水平和现场的表现都差不多……各种不动脑子的问题依旧是高频浮现。

还有之前在新生军训期间子安学长开了一次小圆桌,讲的是网络请求、长链接,甚至是用仓颉写的,这部分我是又没实践过,又没学过仓颉语法,只能说是enm……确实是一脸懵,但是我还是尽力去用我现有的知识去分析,去思考,抄着抄着就渐渐明白了。但又因为确实对于计算机网络的一些基础知识以及对于底层原理的认知,就导致我对于长链接的本质和子安学长辩论了半天没搞明白。想起来也可笑,这种东西明明是一个确定且唯一的技术种类,去搜索了解一下实现的原理,常见的使用场景什么的完全就可以解决所有困惑,又不是一个有摇摆空间的哲学辩题或是说技术选型上的优劣取舍。

后来我参加了越来越多技术深度更高的峰会和技术沙龙,才渐渐意识到自己的无知,也开始重新理解那场新生活动里的种种表现。人真的很容易忘记自己是怎么走过来的:当时觉得理所当然的东西,回头看就像是人人都该会;当时觉得别人怎么讲都听不懂的时刻,也会被记忆悄悄磨平。等自己站到了讲台上,就很容易拿现在的理解去要求刚入门的新生,甚至把他们的卡顿归结成“不认真”或者“缺乏自驱力”。但人总会被困在当下那一小块认知里,眼前的经验、身体的状态和情绪的起伏,都会悄悄影响我们怎么判断别人。

现在回想,那些新生面对的可能并不只是几行代码。对很多人来说,开发工具、项目结构、组件语法都是第一次见,投影上的代码还没来得及理解,手上就要跟着敲;一旦某个括号少了、资源路径写错了,屏幕上立刻出现一片红色报错,后面的内容也就更难跟上了。更何况大家还坐在教室里,周围都是陌生同学,讲台上有人讲解,自己却连代码都没跑起来。越怕落后,越着急往下抄;越着急,越容易抄错。错了之后又不知道该从哪里问起,只能等我走到身边。这么看,那些看起来很离谱的错误,未必是他们不愿意思考,也可能是他们还没有足够的知识去判断该思考什么。

而我当时也并不是一个只需要站在讲台上讲课的人。我既想把准备好的内容讲完,又要盯着时间、观察大家的进度,还要一个个处理不断出现的问题。一个人同时顾着整间教室,注意力很快就被切得七零八落。看到同一种错误反复出现,我会着急;发现进度落后,又担心后面的内容讲不完;好不容易有人做出来了,我又会因为这份正反馈松一口气。情绪随着现场的反馈来回摆动,判断自然也容易跟着变:有人做得快,我就觉得是不是内容其实很简单;很多人卡住,我又会怀疑是不是自己讲得不够好、能力还不够。现在想来,这两种反应都只看到了现场的一部分。

我当时为了降低门槛,省略了不少语法解释,直接从组件效果讲起,再带着大家照代码往下写。这个取舍有它的理由,但也可能让一些同学只记住了“这一行要这么写”,还没有弄明白每一段代码为什么要放在那里。于是代码稍微写错一点,他们就不知道该怎么自己定位,只能等我来帮忙。那时我把问题更多地看成了人手不够、自己能力不足,后来才慢慢明白,活动设计本身也会影响现场表现:讲解的颗粒度、每一步留出的练习时间、遇到错误时有没有人能及时接住,都会改变新生的体验。一个人 debug 不过来,当然有资源限制的原因,但不全是我一个人还不够厉害,也不该简单地归咎于新生不够主动。

这大概就是我后来越来越在意“助教”这个角色的原因。助教不只是多几双手,更像是在主讲人与每个新生之间搭起一座桥:有人卡住时及时发现,有人已经跟不上时帮他把问题拆小,也能让主讲人不必一边讲、一边猜、一边救火。活动现场的表现从来不是某一个人的单独表现,它是内容、节奏、经验、情绪和支持一起作用的结果。只是身处其中的时候,人很难同时看见这些。那时的我会觉得“是不是我能力还不够”,新生可能会觉得“是不是只有我这么笨”;等到后来走过更多现场,才发现大家都只是在有限的经验和注意力里,努力理解眼前发生的事情。

说了这么多,也都只是现在闲来无事进行的一些分析,沉浸在社团的活动准备周期里面时还是更多的被前文提到过的“感觉”所模糊了具体该进行的改革。事中身的我没有清醒的头脑去思考这些,那段时间也是相当繁忙,毕竟脑子要切分成好几份用,每天课也是排的满满的,想来我还真有点“高精力人群”那个味道,只不过仔细尝起来还算是一段美味的回忆。(哎,这段写的乱七八糟的回头有机会再捋一捋再改吧)

我第一次主讲的活动结束后自己其实有点意犹未尽的感觉,还想再办一场活动,于是我就去找婷姐问了后面都排了什么活动。听完之后我对照着去年的活动去看差了什么,有没有我能带的。我想了几天,突然一个主题从我脑海浮现————“博客搭建”我这才想起来当初婷姐带的hexo博客搭建的活动上我搭出了一个站点后来也没再维护没再更新了,我何不捡起来顺道开始更新起博客的同时准备新的一场活动呢?于是我找出了之前的教程,找出了之前的博客文件夹。但是我发现早就忘了该怎么写文章怎么去部署怎么去……总之就是忘的差不多了,而且当初也没做什么修改,于是我决定重新去做一遍。我又找到了我熟悉的B站看看有没有详细的视频教程。我还是很相信我们的B友的。事实上我还真找到了,但实际跟着操作时候就发现好像这些命令和网址我照着一个个抄实在是太慢了,所以我就决定去网上找一个文字版的教程。这倒是一抓一大把,随便找了个合适的就开始跟着做。但是做着做着就发现各种教程中没有的意料之外的错误涌现了出来。我本来想直接问ai去解决一下,结果发现我高估了那时候AI的能力,那时候AI根本解决不了,生成的很多指令甚至不能执行……wow。我果断关掉了AI的网页开始在CSDN上搜索起了报错信息。一步一步的艰难推进。网络问题、ps和bash的连接符的差异啊,环境变量配置问题导致的找不到命令啊,缺少渲染器导致线上效果有问题……就就就很艰难,挣扎啊,真的很难受。部署成功那天我在第一篇文章里塞了一张时间截图本来想着是纪念一下这个正式复活的时间节点的,结果一直渲染不出来,404找不到资源。绝对路径、相对路径、项目根目录路径、图床……一直试到图床之后才成功,我也不知道为什么渲染不出来,后来过了几天我写了原来尝试过的本地路径居然又成功了???总之就是到最后我也没搞明白那个一直干到凌晨两点的bug到底是什么原因,但至少,我坚持下来了,而且成功了。在当时看来搞得我身心俱疲的绝望环节,现在看来不过是沧海一粟,所以继续向前吧,没有什么能阻挡你的脚步。

盛世已至

在前面408小圆桌的数十场小聊天会和几场正式活动的铺垫后,这个两百多人的社团算是真正的进入了盛世。校内活动稳步推进,校外资源这边我们得到了孙妈的倾力相助,越来越多的开源社区和互联网大厂开始将活动落到我们学校,我们走出去的机会越来越多,活动现场一同参加的学校档次也越来越高。同时子安学长建立了HSD和花粉俱乐部,我也有幸成为了北信科这两大组织的元老成员。子安学长的HSD活动得到了华为官方的资金和物料支持,现场有大量的礼品送出,手环、充电宝、鼠标、体脂秤等等,这是真的震撼到我了,原来HSD是真给钱啊。作为开元之年也算是狠狠赚了一波关注度,也为后续的招新和面试提供了不小的便利。

6

7

自从子安学长开始HSD的系列活动之后我就一直是在承担着助教的职责,一方面是之前认识到了这个职位的重要性,更重要的也是想为明年竞选HSD校园大使积累经验。没错,我的目标又增加了,我要当上花粉部长和HSD校园大使!不是一时的冲动,是再一次感受到的我是真心想要去做这件事,想要选择这条道路。

在一次又一次的校外活动中或许我印象最深的是MarsCode的发布会吧。可能现在的新生都没听说过这个产品,因为他现在又一个更加响亮(也不是很响亮就是了)的名字————“Trae”。对没错,本来这玩意只是vs code里面的一个插件,后来逐步发展成了国内最早的一批AI IDE产品之一,是对标cursor的国内产品。为什么说是印象深刻呢,可能一方面是我们去到字节内部参加活动,相比于其他厂商,字节对于我来说被渲染的天然有一种顶级大厂的光环一样,但我也清晰的知道这只是需要被祛掉的魅。来到火山引擎标志的门口,领取了访客的通行证。