5

十年编程之路

 8 months ago
source link: https://me.ursb.me/archives/10-years.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

本文节选自个人月刊第24期:《WJ.24: 十年编程之路》

时光荏苒,回首望去,自系统接触编程已近十年,这篇月刊就写写这十年的编程之路吧。

深得周围小朋友的羡慕,家里小时候是开网吧的,因此我对电脑游戏向来比较熟悉,但未曾设想过以后会走向编程的道路。2007 年的时候,初中组织了一波 Pascal 的奥赛班我也半途而废了, 2013 年高考之后报了教育技术学专业,这是一个在教育学院里和计算机稍稍沾些边的理科专业。如果按照正常的轨迹发展,想着大概毕业以后凭着专业的教师资格回老家的中小学当一名老师吧。

但一切在 2014 年的年初发生了改变。

2014:初识

年初那会儿那段逼近死亡的经历给我带来了巨大的变化,后面的每一天都有向死而生的感觉。如同《存在主义心理治疗》中对死亡焦虑的剖析:“死亡的觉察使人们脱离对琐事的关心,为生命提供深入、强烈而完全不同的观点。”也是自那之后,我的人生观发生了重大的转变——人生目标定为想要为世界留下些什么。我不愿按照之前的既定之路走完一生,于是重新安排生活的优先级,努力找寻未来人生的方向,恰好那时有一门 VB 的课程我很感兴趣,也是 VB 让我正式敲开了编程的大门。

记得接触 VB 那会儿自己开发文字 RPG,每天晚上搞到一两点仍意犹未尽。

20231109134159.jpg

姓名大乐斗最终迭代了 6 个版本:

20231109133726@2x.jpg

那段时间的每个深夜里,满怀激动地开发着游戏,这种心情哪怕是现在回忆起来也仍未有任何衰减。现在想来,那恐怕就是最纯粹的热爱吧。

因为课程表现优异,被老师拉进了项目组,之后自学了 Java Swing 和数据库,做了一些游戏化的课件和管理平台。

在 VB 和 Java Swing 时期我开发的 GUI 小玩具们都是直连数据库的(不敢相信),为了弥补上中间的桥梁,也是因为向往做一些联网应用,于是又学了 ASP.Net 和 JSP,那个时候不管开发什么 API 都是直接 Struct + Hibernate + Spring 一套撸上去。那个时候感觉自己无所不能,貌似自己凭借着 GUI、JSP、Access 就已天下尽在掌握之中。

之后和每个技术人一样,我购买了自己的域名并备了案(ursb.me ,一直使用到了现在),并魔改了 WordPress 的主题把博客部署在虚拟主机中。(所谓虚拟主机也是古早时期的产物,就是服务器上给你一块目录随便操作。)

那个时候博客大概长这样(古早的 3G 网络和 iPhone 5):

04b0d14653332a6699b3171ea12679%201.jpg

大二的时候,我们学校开放了一些第二专业,我便申请辅修了计算机,每天白天上本专业的课程,晚上去上二专课,九点多下课回宿舍捣鼓自己的东西。虽然有点辛苦,但是回忆起来异常充实,而且稀里糊涂地总是第一

3d1f1c4f311d701f2fac3f4d0c7773.jpg

2015:Web 前端

一五年的时候接触了 HTML、CSS 和 JS,也就是现在所谓的 Web 前端。刚接触 H5 开发的时候还在用 DreamWeaver…之后了解到了 Sublime,便把 DreamWeaver 卸载了。

afa372be5a1f3f23eee5d46d63d3ba%201.jpg

学 JS 期间用 Canvas 写了个微信聊天界面模拟器,项目也迅速上了 100 Star。

20231109192948@2x.jpg

在那之后写了一本 Canvas 的教程,也收获了许多 Star:

20231109193106@2x.jpg

打印出来之后给班上同学授课也是成就感满满:

a75270287ac6dfb1ea89dba5b217ab%201.jpg

这一年年初,和专业的同学组队去参加了人生中的第一次 Hackathon,团队决定写一款叫 AskNow 的 Android App,由于我不会 Android,所以被分配去画 UI 了。经过这个项目学习了 Sketch,也了解了移动端的一些基本组件,之后又对移动端开发感兴趣学了段时间 Android。

由于手上没有 Android 设备,总是在模拟器开发很没意思。恰那时 Swift 刚出没一年,立马开始学起了 iOS 开发,那个时候简直是 iOS 开发的黄金时代,而自己的学习欲望也特别强,感觉什么东西能有兴趣,什么东西都能学下去。

69d124a038d6637dc5fe09ce2f2de6%201.jpg

那一年,苹果发布了史上第一款 Apple Watch,当时看得满眼冒星星,马上去 Apple Store 买了一个,并付费了 Apple Developer 资格证书,开始开发 Apple Watch 应用:

20231109135133@2x.jpg

很庆幸自己生在这个时代,时不时有新技术涌现出来,也毫无顾虑地可以学习一切想学的技术。

2016:无限可能性

学完 Swift 之后便跃跃欲试,做了一个 App 并上架了,成就感满满:

3f4621fa4bccdd3afb856c9eb5b7dd%201.jpg

在那之后又做了一款 Apple Watch 的宠物养成+英语学习的 App —— FeedMe:

Capture-2023-11-09-195333%20%281%29.png

这一年还学了 R 语言还有 Python,做了一些爬虫和数据分析的项目,迷上了 Kaggle。但可惜的是后来没有往这个方向发展,当时也觉得学了以后对做软件可能没有帮助。(但神奇的是,今年年初在对一个外网现象做技术数据归因分析的时候用到了!当时觉得好不可思议!)

这一年参加许多竞赛,其中有一个项目是电子信息技术专业的,做一个搬运机器人。刚接触项目的时候对单片机没有任何了解,为了恶补知识和赶项目进度,项目期间还搬进了实验室住。那个时候实验中心的项目组给我分配了一个独立的实验室,劳累着、幸福着。

da41799d63df979f0b1c8b5f3f62b2%201.jpg

做完这个项目之后,发现自己某种意义上成为了全栈工程师——UI 设计、Web、后台、客户端、硬件。我对这一切都感兴趣。

那段时间跨端技术开始初露头角,Ionic 和 Cordova 也是立马学了然后撸了几个 App 出来参加比赛,感觉自己的精力好像是无限的…

而这些比赛基本上都获奖了,也算是收获满满了~

PS. 这一年的空余时间依旧在折腾我的博客:

3b14912d5c6ef4def505534a1e8d67.jpg

(明明是最简单的 Hexo,被折腾的臃肿不堪)

2017:前端大杂烩

前文说到博客,这一年我最后一次修改博客,力求简洁,于是改成了现在的样子(me.ursb.me)。自此之后再也没有动过博客的样式,博客本应该以内容质量为本。

20231109210317@2x.jpg

2017 年过年期间,又一次生病住院了。住院期间我记得微信发布了小程序,然后对着官方文档敲了个小程序出来:

20231109135857@2x.jpg

(现在看来简直不敢相信自己能左手敲代码。)

那一年学习了 VUE,做了个社区:

sophia-shot%20%281%29.jpg

那一年的本科毕业论文写了个推荐系统。

那一年入手了个咕咕机和树莓派,做了个玩具:

gugu3.jpg

那一年参加了很多比赛,在互联网上组建了零熊团建,用 React Native + Express 做了一图、双生、四时等众多上架了 App Store 的 App:

__%20Oh_Bear%20-%20https___oh-bear_github_io_%201.jpg

那一年接了个健身房的外包,做了一整套卖课、约课、排课、打卡、监测上课运动状态的系统,赚了不少生活费:

20231109195704@2x.jpg

这一年的年终总结:再见了,我的大学

2018:实习

这一年上半年主要在重构 双生日记 2.0,最终凭借它拿到了小程序大赛的 Top2。

20231109195513@2x.jpg

3 月份开始秋招实习面试,凭借着这份校招简历和不错的八股文准备,如愿进入了鹅厂,岗位是 Web 前端(当时觉得前端比较好准备)。自此之后,一直一直在这个团队做到了现在。

那个时候的工卡照(真年轻啊…)。

20231109140130@2x.jpg

这一年的年终总结:2018,沉淀初心

2019:WWDC 与工作

这年赶上了两年学硕的末班车,顺利硕士毕业。毕业前夕收到了 WWDC Scholarship 送的门票和住宿,加上浙大慷慨给我中大学子包机票,免费去美国玩了几天。

20231109140340@2x.jpg

这趟旅途上认识了很多厉害的同学,也知道了前途永无止境,需要不断向前。

回来之后正式入职,前几个月基建有点落伍,还在写 JQuery,年末团队推动了 React。这年除了 React 业务活动页面,还做了个小程序,也用 Hippy 做了一个独立的 App。

这一年的年终总结:2019,走走停停

2020:Flutter

这一年跨端异常火爆。我这年的主旋律有幸是 Flutter,在团队内主导 Flutter 混合开发框架的建设,也做了一些 iOS 侧的研发工作。基于项目做了一些 BU 和司外的分享,还拿了两个五星,这也是毕业之后第一次拿五星绩效,对个人的激励还是非常大的。

这个项目让我重燃了对原生开发的兴趣,也激发了对底层技术的钻研精神。自此之后,技术宽度收窄,开始深挖。

这一年的年终总结:2020,追逐星火

2021:中台与元宇宙

这一年中台概念兴起,我们也做中台;年底元宇宙兴起,我们又开始做 3D 渲染。

这一年业务繁忙,被推着往前走,鲜有沉淀。

这一年,从 T6 升到了 T9。

这一年的年终总结:2021,自渡向前

2022:工程化

这一年年初升到了 T10。

这一年专注 3D 渲染和 Web 工程化,但是成长不多,如果说成长率=学到的知识/时间,反思一下这两年的成长率是很低的。于是寻求突破,业余时间搞搞开源项目、看浏览器内核代码、写文章,虽然鲜有练手,但是知识储备上丰富了不少。

这一年的年终总结:2022,平安喜乐

2023:iOS 与游戏渲染

这一年主要在做游戏渲染这块,技术上主要做 iOS 容器和 C++ 跨端,但同时也要写一些 ts 和 debug Android 问题。

十年,大概就是这些啦。

最后分享一下学习编程的技巧,其实从前文也能看出来,最核心的是热爱,其次是要以项目为中心,学了什么就想着去做个东西出来用,但还有一些文章里没有谈到——需要沉淀。

  • 学习过程:看官网文档即可。
  • 应用过程:以项目为目标是为了加深对前一个环节的理解,同时做出东西出来也很有成就感。
  • 沉淀过程:开发记录总结,写博客分享。

学习过程中除了做笔记:

20231109204530@2x.jpg

对问题的深入研究也需要把核心点画出来:

20231109161956@2x.jpg
20231109141638@2x.jpg

画出来可以贴图记录现场,同时思路是白板般的四处扩散,这个比普通的笔记记录好。

最后知识的输出就在于勤写技术博客。

20231109210427@2x.jpg

希望自己还能在这条热爱的道路上再走出下一个不一样的十年。

本文由 Airing 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Dec 13, 2023 at 01:55 pm


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK