大学
前言
天赋是无法靠努力达到才去拼的东西
这篇就不扯我阴暗的童年和阴暗的人生了,简单说就是,很多肝代码的动力,不仅仅是所谓的热爱,绝大部分跟我的生活有关,对某些事物的强烈的不甘心,从时间线来吧。
我在某些事情上会取得一些成功,除了个人的努力外,还有思想上的认知,我从来不信天赋。
我也很爱玩游戏,也不是一个只知道学习的机器人。
玩王者荣耀、原神、LOL手游,以及switch。
高中
我高中并没有电脑,只有手机,的确是比较有兴趣,高二的时候有兴趣了解过一点,下载了一个叫做 AIDE 的 app,上面还有安卓和 JAVA 的基础教程,学了一点基础,但高三冲刺高考的一年中,几乎也忘得一干二净。
高考后是我第一次拿到电脑的时间节点,在暑假期间学习了 bat 批处理,简单说就是 windows 端的脚本,很简单。
大一
这学期我是玩游戏的,可能每天玩一会,周末还会玩电脑游戏,
大学不同我想的那样,有非常多的与技术无关的课程,我当时也得不到任何人的理解,室友也经常笑我,挖苦我,说一些很难听的话。“天天看你在那儿,也不知道写些啥”
期间还和室友发生过一次很严重的争吵。
因为对安卓手机比较感兴趣,我当时一直在自学安卓原生开发,几乎是一个什么都不会的小白,而对于当时的我,百度也不知道从哪儿开始,于是就去图书馆借了几本 java 和安卓基础开发的书,幸运的是,部分能看懂,java 的面相对象当时一直理解不到,但是安卓基础开发多动手,可以写出一些简单的界面。但是的确花了非常多的时间,所以我从那会开始就非常忙。
写出的简单 app 大概长这样:
大一去大礼堂,学校说了关于协会的任务,好像是每个人都需要加两个协会,然后拿到一个协会给的证书,我当时在下面玩手机,计算机协会在招新的时候也好像没注意,但是最后我选择了计算机协会,然后太忙了,协会的面试也忘去了,所以没加上,只加上了一个计协的招新群,没有成为所谓的干事。
大概是2018/10月份的时候,群里突然发了一个群公告,说一个部长要举办一个讲座,我当时抽出了一点时间去了,当时讲座上讲的就是 Flutter,我当时完全理解不到那是什么,只能定义为“一门新的技术”,但看着挺有趣的,因为它如同安卓原生开发一样,可以写出在手机上运行的 app。
后来协会成立了一个 Flutter 兴趣小组,有个学长每周会讲一些基础,但是我跟其它同学不一样,我不仅是在大家一起的时候才学,我每天都会学,第一周,王尝试给大家装 Flutter 环境,全部挂掉了!当时 Flutter 版本0.6,1.0之前,资源少得可怜,当时是因为 Gradle 代理的问题,但是可能是我比较有强迫症,回寝室后一直查资料,总算折腾好了,其实就是换个阿里的代理,然后跑起来了第一个计数器应用(自带的 demo ),就感觉这是门很厉害的技术。
因为我的视角中是有安卓原生开发的,在安卓开发当中,我们改动了任何的代码,都需要退出app,用编译器重编译才能看到效果,但是在 Flutter 开发中,我们只需要保存我们的代码文件,就会自动应用到我们的设备上。
然后翻官方文档学了一波,然后开始试着写个跟自己 App 一样的,完蛋,不会写,every thing is widget
到底是啥意思,不理解,然后继续学习一波,写了一个 Tabbar 加 TabBarView,当时有个 bug,Flutter 一年都没有修复,就是 Tabbar 初始的时候,第一个 Tab 的所在 offset 不对,找不到人问,当时也不会提 issue。
也是那次大家一起出来学习,那个学长请来了严老师,我当时整个人也比较腼腆,鼓足勇气问了老师一个问题,是一个关于 Android Fragment 的,我当时菜到我都不知道如何描述那个问题,说话也磕磕巴巴的,很容易紧张,最后那个问题还是没解决掉。
所以必经之路:如何向别人描述清楚自己遇到的问题,这是我看到很多即将毕业的同学都完全没有学会的一件事。
之后的两个月我偶尔都试试写写 Flutter,但是对我当时基础的我也有一点难,每天写一个小时那样子,所以我同时在学 Android 开发,
最后用 Flutter 重构了之前用安卓原生开发写的 app。
可以看到我之前写的 app 有多丑,都是一点一点进步的
然后这个小组每次学习我都会在,但是我不会听,因为我自己学得比较快,然后 Google 那边有意向,让我们去进行 Flutter 的义务宣讲,去过川大,西南石油,西南民族。
西南石油
我当时在西南石油是我主讲的,硬着头皮就上了,如图,讲得也不好。
然后成都举办了 Flutter 的线下开发者大会,我觉得好玩就去了,Q&A 环节,我又硬着头皮上去问了一个很蠢的问题。
最后得到一件 Google 寄来的短袖。
大二
大二我都是不跟老师打交道的,但是我非常尊重他们,因为我尊重每一个人,因为我感受过工作的辛苦,所以我觉得在一方面,不去麻烦老师,也能让他们的工作变得轻松一点。
大二刚开学,跟王一起接了一个外包,当时是500一天,是当时觉得比较高的了,开发时间就只有一周,后来想起来一点也不值,页面很多,但是当时有个自己比较阶段性的提升是,我能够看出一些别人的不足了,能够看出别人的一些代码是不好的。
当时写的时候,不知道什么是序列化,直接将返回的 json 转 map 后就拿来用,也不知道怎么用 postman 测接口,做得异常艰难,最后一天还加班到凌晨才弄完。
于是马上迎来计协换届的时候,自己也选择了留下来当部长,证书:
所以也去准备了计协招新,图片。
随后我也干了跟那个学长一样的事,在校内举办了一个 Flutter 讲座,当时来了大概30多人的样子吧,随后成立了个兴趣小组,随后每周我把他们叫一起,教他们入门,然后到大二下完,还在写 Flutter 的只有我跟王了,其他人都放弃了~
之后自己一直执着个人的一些开源,社区经常出现的那些文章,Provider,Bloc(Flutter 相关的),自己也都学,但是自己没想过写这类的文章。
中间一直都是比较积极的学习状态,很多技术也都在看书,虽然经常是看了就忘的状态,一直关注 Flutter 的新版发布,各种文章,自己也开始写一点文章。中间还学过一些单片机,
自己做了一个遥控车,自学的单片机,面向百度编程,
大概遇到的比较难的点,单片机运行电压不够不足以驱动电动马达,然后了解到继电器,三极管和步进器,三极管难一点,种类之多,还要学发射极、基极和集电极之类的概念,
遥控车图
所涉及芯片是,ESP8266,用的 python 编程,和降压芯片,和 mini步进器
学单片机的时候遇到了一位很好的老师,陈芳,给到我很多的鼓励。
然后下一个时间点,是2020年的5月,疫情刚结束,大二下中期,我一个人带了一堆行李,来成都租房打工,当时可能觉得自己技术有点止步不前了,然后疫情期间在家里也待得难受。
刚开始出来还是执着个人项目和上网课,三个月,只挣了3000多块,勉强的活了下来,也欠了些钱。然后暑假的时候,由于不用再上网课,我便开始去找相关的兼职,找的过程比较顺利,完全是因为在掘金发过的一些文章和朋友推荐,我同时找了三个兼职工作。
一个时薪,一个月薪但不用全天,一个外包,最后外包那个基本做挂了,只拿了少部分的钱,月薪那个教会我什么是社会险恶,时薪那个是我印象最好的,我也从他们的代码中学到了很多东西。外加自己的项目,最终大概挣了1w多一点的样子,但是那个时候的累,是远超现在的,只做了一个月,早上一般是9点,晚上一般是10点,午休时间是基本没有的,周末也是在搞。也是第一次感觉到身体一下就跨掉了的感觉
大二的时候上操场唱过一次歌,由于太紧张,全程拉夸了。
大三
到大三,学校移动应用这个方向已经神奇的没人学了,直接没开起来,我想选一个跟现有技术靠一点的,于是我选择了前端这个方向,大三后遇到的老师真的都还是挺好的,对我也非常的好。
当时的我对技术已经有一些认知,像人工智能、大数据这类方向自己是绝对不会选的,个人其实更想学UI和后端这两门技术的,想弥补自己的不足,但是可能意识到大三我可能没多少时间,所以选择前端也能为自己节省很多时间,因为不管是对比安卓原生开发还是对比 Flutter 开发,都属于客户端,很多概念上的东西能相同,上课的时候我的前端代码也能写得比大家都快。
我只要求自己掌握好课上基础,所以学什么都还是一直自学,自学的越多,学习能力也逐渐上升,也发现了同学跟自己不同的地方。做项目的时候,感觉很基础的东西同学还是会过来问我,起初很不理解,然后逐渐就习惯了,他们肯定,并不喜欢吧,把所有事只当任务来做,而并不是想能学到东西。
很多老师也逐渐认识我,也比较认可我的技术,觉得我的独立性挺好的,也交给我领导一些项目,不过都是前端的,我并不是很擅长。
2020国奖前,我给辅导员交了一个很简陋的材料,当时的我一点也不懂得包装自己,但是还是被院长给选出来了,接下来的半个月就全力准备国奖,第一次预答辩,看着稿子念,下面兰姐坐在正对面,还有一群辅导员,手抖,口吃,声音小,紧张,鱼姐毫不客气的批评了我,说我就是最差的那个,还好,我是个异常能够经得住打击的人。
于是在我的小出租屋内,每天背稿子,一遍又一遍,录音听,将稿子转成语音听,用了很短的时间,我的确以比较快的速度进步到了5人中的前面几名,国奖正式前几天,我能以一种特别自信的紫台去进行答辩,还能够表情管理。
国奖答辩准备的时候,我还把抖得不行的手给鱼姐看,旁边老师说,感觉她比我还紧张,但是她最后在为我陈述的时候,表现得非常好。并且很有感情。
于是就比较顺利的拿下了国奖,然后跟老师们玩,关系也渐渐好了起来,但是当时自己应该就是有点抑郁的状态,并不总是有外向的一面,有的时候还是会很抑郁,情绪低落。
上面提到的王,大三下就拿到了 offer 出去实习了,老师都在吹,而当时的我如果不快点实习,越往后就越难了,没有任何经济来源,大三上读完,我开始准备一些计算机基础,刷题,背资料,刷面经,但效率不知道为啥,就是很低,最后大三下开学一个月,我面试字节跳动-抖音,被问得满头包,然后收到了字节的感谢信(就是挂了)。
然后陷入了自我怀疑的阶段,觉得自己可能不是公司想要的那类人,为什么其他人能过我就没过。
然后,应该是我真实的项经历,和开源的作品,写的文章,滴滴里面的老师,给了我面试机会,几乎没有问算法题,但是二面抛出了几个难的问题,磕巴磕巴也勉强得到了认可,最后见到老板,老板问了一些常见的题,问了一道偏难的逻辑题,也勉强算答对,就这样,我来到了北京实习。
可能是鱼姐看我可怜了,毫不犹豫的借了俺3w元,呜呜没有她我现在还不知道在哪拧螺丝,于是第一次坐飞机,一个人带上行李,去了北京。
可能以前粗心吃了很多亏,去北京前,想把一切都准备好,有两个方案,1是先去北京住酒店,然后租房,但行李很多,根本没地方寄。
所以最后选择用自如先把房租了(有条件建议还是现场看),最后租的房子一般,都比较贵,算上电费大概3500一个月,哭死。然后就把行李全先寄过去,然后第一次坐飞机,坐之前就疯狂查攻略。然后到了发现离住的地方60公里。哭了,手上有个行李,然后人也比较累,想早点去住的地方休息,就打了个车,300rmb,哭死。
此行算了很多东西,也赌了很多东西,滴滴实习工资一月4000,所以,大部分的开销,都是靠的我借的钱顶住的,我只为一样东西,就是正式offer,赌之前自然是需要了解正式offer大概在多少钱一个月。
我先到了4天,想先熟悉环境,但是真的吃不惯那儿的饭菜,去的时候,胃口也差到爆,什么也吃不下。
然后入职,先是路痴的我疯狂跑路,当天就跟着里面迎新的hr,看一些入职视频,然后就是路痴的我疯狂跑路,然后就见老板了,老板带我见了同事,但是大家好像都不怎么说话(后来才发现大家都挺好的,就是好像比较腼腆),然后就领电脑,装环境,然后感谢第一天叫上我吃饭的好同事,太感动了,到吃饭那一刻是最懵的,当时也不知道谁是谁,当天叫我的同事,是一个级别仅次于老板的leader,人非常好,很热心,太感动了。前三个月几乎任何场景下聊天,都是他们问我答的形式,很是尴尬😓,然后交到一个实习生朋友,看了这么多文字,看点图吧。
刚开始两个月比较轻松。并且三个月左右我还认不出谁是谁⊙ω⊙
当时这个同学因为滴滴的实习工资太低了,走了,他再次面试想回来的时候,老板不要他了,其实他不走几乎是可以留下来的,所以说想要得到我们想要的东西,一定得忍受些,失去一些的。
聚餐其实不用喝酒太多,我太久没喝酒,把自己给喝没了,半夜吐两次,太难受了,看着人都觉得该敬,当时都不认识,第二天直接没起来,请了个假。
刚开始实习我也很懵,怕犯错误,积极表现自己,但是我的老板是d12,对标阿里是p11,不算上开始能够晋升需要花的时间,每年都能成功升上一级的话,我升到她的位置,大概需要7年,我就29岁了,所以仔细想想,顺其自然也许会更好,刚实习前三个月,我几乎找不到能够表现自己的地方,几乎都是写一个没什么技术含量的东西,然后调研。
调研就是学点东西,收集一点资料,写成文档。
然后参加了一个实习生活动,上场紧张得要命,并且,大家都发现了,同事都说我太紧张了,最后啥也没拿到,图。
滴滴是每周有一次周会,汇报工作,我前5个月会上几乎都不开口,一起做事的同事一同汇报,我发现即使职级稍高的同事,汇报也会紧张,说话磕磕巴巴,声音越来越小,发现公司缺点很多的人比比皆是。我也是!
善于发现别人的缺点,然后内省自身
除了周会,讨论技术方案的时候是必发言的,并且必要时刻还要cover全场,的确蛮难,
小场合不发言的时候一定要仔细听,别急着打断,快速总结别人发言的中心,就跟:剧本杀盘剧本一样?
都勉强撑过去了,但是一旦面对人稍微多一点的场景,我还是会心跳加快,手抖,说话有点磕巴,没有逻辑,上句不接下句,我当时真的气死了,感觉怎么都调整不过来,就是会紧张,就跟拿国奖的时候一样。
然后直到滴滴的一个新项目,会用到我比较擅长的技术,于是我cover住了比较大的一部分,然后经过比较累的一段时间,这个时候,一个人做的事情就通过周围的一切,体现出来了,这个时候,你才算体现出了自己的价值。晚上平均9点多下班吧,挺忙的,当时一起跟我开发的妹子基本是11点,
重点来了,这种赶项目的过程中,产品,测试,后端加班都特别多,从第一个小版本提交开始,一个人修接近50个bug都是很正常的事,特别是对于页面多,业务比较多的,我当时cover了大部分侧栏的部分,我们用的jira的敏捷开发面板,qa(测试)发现bug然后就会提交,然后在群里@你,就这样反反复复。开发并不是一个人按着UI设计稿和后端接口就能搞定的,你甚至不能独立的发送一个简单的网络请求,因为需要做数据异常监控,会有各种sdk,一层套一层,你会发现在越大型的项目里面,里面的代码包袱越重,依赖也特别多,一个简单的功能,会经过很长的链路,经过非常多的人,如果出了问题,你还要去找他们,有的好交流的就算了,职场也有一些普信程序员,觉得一定是你的问题,就特别棘手,有的时候我就不得不去请求职级稍高的leader出马才行,很难。
但是也是这个项目,我发现无论是测试,产品,后台的同学好像都比较喜欢我,因为我很热心帮助他们。在做项目的时候,开发跟测试,后端,产品都接触超级多。
这个时候也慢慢看出了一些在职场中虚假的人
晚上加班的时候,大家经过比较激烈的交流开始安静下来时,我当时右边的后端哥们(他职级也挺高的,由于cover业务也很多,所以加班也很多),也在感叹我了,说我实习做的事情好多。
并且我的性格本就比大部分的同事热心一点很多同事觉得麻烦不想帮别人的,我都会去帮别人,然后跟组里同事们关系也好了起来,但还是经历了不开心的事,跟组里的开发同学。就好像压死骆驼的最后一根稻草,然后就破防了,觉得自己太卑微了,不懂得拒绝
我也具体记不清从后面什么时候开始,就某一个时间点,我发现我觉得这一切都无所谓了,我并没有什么没做好的地方,临走前我为大家分享了自己的个人作品,开讲前我并不知道自己会不会紧张,以为也应该会是一场很尴尬的分享,没想到我控场还不错,少有的大家在周会上鼓掌。
但是正讲的时候,我发现心跳加速的感觉几乎没有了,手也不抖了,甚至还能表情管理,我全程可以直视我老板的眼睛进行分享,嘴角微微上扬,结束后,这时大家是第一次大家看到我的个人作品,大部分的反应都是听完后相互讨论,“牛逼呀”。问答关节,一位同事就很惊讶的问“这全是你一个人做的吗”
最后转正,其它部门的三个人面我,我也拿到了比较高的评价。正式offer不仅是代表一个工作,更是对标自己能力的一个东西,感觉就是让自己感觉到,不管自己去其它的一线公司,也值这个价。
从那以后,我发现没能让我紧张的事了,见院长,在操场唱歌,上讲台分享,在街上大叫,我在朋友群打了这个备注,我成了公认的不社恐的人。
公开演讲不紧张,好像很难训练出来,因为我经过了大一千人大礼堂招新,协会各种演讲,校外演讲,国奖,国奖的时候大家很是不相信我是一个讲过很多的人,还是很烂,但是在自己某些关键思想发生变化时,就好起来了😐。
大四
实习遇到一些不开心的事,可能是在公司待了一段时间,自己有些麻木了,不懂得拒绝别人,不懂得反驳别人的观点,然后就想通了,支持完一个核心业务后,就回学校开始养老,写毕业论文。
回来的几个月自己的状态也不太好,总是犯困,一直在吃药调理,回来三个月后就好些了。
然后依然在执着于个人的开源以及上架的软件。
其实从大三开始,自己的学习就一直是比较缓慢的状态了,大部分时间都是在用已经学到的知识。
最后
很多人觉得,如果没有初高中的经历,我是达不到现在的高度的,我觉得并不是这样,回想整个技术生涯,有时候会觉得,对于技术,自己比大部分的同龄人花的时间都多,最后还不是连面试都过不了。很多东西,学完后,也许在某一个时间段,觉得自己有从中学到很多东西,但一旦不用了,就真的会忘得一干二净。
现在跟我在同一个地方工作着的好同事们,也不一定与我有同样的经历,所以我觉得,即使没有像我那些很早就接触到技术,仅用大学的时间学到我的技术程度,一切也皆有可能。
很多学弟找我都是问题的,那些个题我是真的不会,可难受。
关于进大厂
也是我在滴滴待了半年的感受吧,大厂的确不是我们想的那么难,绝大部分的人都是在面试前对自己进行足够的包装后,被选上的。
很多人,无论从表达、技术、经验,在我眼中都是不及格的,但是他们都站到了和我一样的位置,这也并不是巧合,而是现实本就如此。
如何学习
万事开头难,时间充足的同学可以将多个感兴趣的方向的基础都学一些学,然后细化到具体的框架进行学习,想要系统学习就看书,一定要多写
例如我自己,学了单片机的基础,物联网的一些基础,人工智能课上学过一点打标签,前端学了基础,安卓学的稍微多一点,后端学了基础,UI学了基础。
其次的绝大部分时间,都是在跨端框架 Flutter 上。
所以在技术的选择上,能够有更多自己的理解,而不是看到别人说是怎么自己就觉得是怎样。
每天打开技术社区刷一刷,看到好的文章收藏一下,需要动手的地方动动手。
对我个人而言,因为我自己想开发一些好的产品,所以也会推动自己去学习。
如何写作
你会发现这篇文章的所有英文和汉字之间都有一个空格,这是我的写作习惯带来的。
document-style-guide