当前的工作,我是操作公司的iOS app以及鸿蒙元服务的上架、提审与测试的工作。
不仅仅是当前的工作经历,其实从之前以来,一心想做产品经理兼技术的我,自毕设开始,就想着有机会一定要成为一名开发者,做自己的产品。
如果纵览一下我的语言之路,那肯定是 :Swift -Java - Html、Css、JS(dom)- SwiftUI - Python - Apple script其实和我更换手机也有关系。
为什么想做开发者
可以从“入大厂产品内测群”说起。
在大学毕业后,我加入各种开发者交流群,其实也有不少开发者了解我、认识我,例如酷安的《Android Guide》的开发者(虽然现在群被解散了),随你们去(随大)、Garry(独立开发)、Jason G(我参与了polytime日历的内测),在工业学校自学 Android 的 gtf……
其实不仅仅是入群,自专科学校开始,我便自己开始刷机,各种OS(百度云、米柚等等),同时我也加入了一些百度等大厂的内测群,(当时还有同学故意酸我说是假的官方群,虽然我给出了证据,当然他们也不会信。
这也为我后续用hexo搭建博客做输出,做自媒体运营开始埋下了种子。)
于是,我就希望敲出属于自己的产品,拥有广大用户。
为什么这里要提一下用户?
在我的微信公众号文章《我理解的大学生创新项目与现实的差距,以及我想说的一些话》里,我提道:“你没有用户”,“这里不是互联网公司”于是这时起,我就下定决心要做出自己的产品。
从毕设开始学习Swift(2018)
真正有机会展现自学能力的时候,也是可以展现自己想法的时候,是从大学时毕业设计开始,我计划制作一个App,开始准备做一个医院相关的App,但因为说颜色等等过于单调,所以重新做了一套UI,关于地图类的。
自那时起,我便开始开始收藏Swift相关的知识内容,当时正好是Apple刚刚推出该语言的时候。想着OC太老,Swift正好是入门契机。
这时,《开垦世界》的开发者,分享给了我一本关于OC的学习资料。清楚地记得他说:
一口气做大而全的可能会有困难,可以先做一些小东西。
还记得当时他也接受科技媒体爱范儿与AppSo的专访,就很开心遇见他。
第一个“开源项目”
不得不说,其实也正是因为自己当时喜欢跑来跑去,又因为自己当时使用iPhone6s,对iOS地图开发的追求,让我写了第一个能够显示地图的Demo(《孤独星球》的GitHub),这也是在毕业设计,以及设计作品集里的一些内容。
我为什么想做地图工具谈到这个,就简单说说:当时正处毕业,想着今后去大厂求职北漂,正好需要带上很多行李,目前的产品我都并不满意,所以想自己做一个。
后来,我发现了某马地图,也是一个Android app,他结合了百度和高德的SDK,正好是我想做的一部分功能。当然,我也加入了这个用户群。
我还参加过腾讯地图的设计大赛,获得“最佳创意奖”:
学习笔记与《报错集合》热爱使用工具的我,也开始记录学习笔记:项目驱动的时候,这是我觉得比较难学习的地方:UITableView,列表展示。
相同时期,也在油管上看了不少教程。
在校做Xcode除了学习,当时开始学习 Xcode,于是希望将自己遇到的错误全部汇总起来,于是这也使我有了“复盘”的习惯。于是就有了Xcode报错集合(GitHub),在此感谢iOS开发者 Jinya 与其他开发者的支持。宣传:知乎、微博
在北京刚毕业的我,则开始凭借自己的这些技能开始北漂。
北漂的时候,我不断在宾馆以及住的爱彼迎。不知道在第几次的时候,我写出了一个demo,那时我用的还是坚果Pro2s,那是我第一次写出了“可以搜索到Wi-Fi”的小工具的apk。其实这就是现在的“iOS在搜索可用Wi-Fi时弹出的那个窗口。”
南京,脚本语言
2018年,我南京的一家公司做着“拨测与更新咪咕视频网站”的工作,开始利用Automator,来做每日的工作流,在这篇《活用自动操作,打造超高效的自动操作流-内容编辑的日常操作》中,我分享了我是如何使用 Apple Script ,用于我的工作中的。
在广州找工作(2019)
在广州的时候,是以网页产品经理实习的角色去交流投融资网站“创次方”帮忙的。之后我学习了 Python ,为了希望自动更新广告(这算是一个兼职),原本于是为了提升效率,我当时准备做一个AppleScript 的工作流,甚至希望做一个客户端(其实原理就是根据目前的RSS来做一个GUI)。
设计专业出身的我,最喜欢做这种有界面的产品了。
为理想寻梦
希望找到 Android 开发工作,我也应聘了不少有Android开发岗的公司,说是自学的。那些面试官都会问我:
怎么从南京来到广州?你如何自学?
我如何自学
我说:浏览SegmentFault、某金这些网站,有不懂的就在上面提问,还有看书。同时我还用语雀,新建了知识库,你可以看到这是我公开的 Java 和 Android 知识库。
有一次,一位面试官说:你自学的都比专业的好。激励面试官说这句话,可能是为了鼓励我,给我打气,但因为在接下来的面试中被pass了,但这对当时的我来说已经是一个“绝无仅有”的正反馈了。
诚然,遇到过不少“循循善诱”的面试官,我都非常感谢他们。当时跑个老远见不着面试官,也到过一家比较大的机床公司,说做Android 的很简单的原型界面,主要是为工人用的。说做出来了就可以入职了——但或许是因为距离当时住的滘口太远(应该是靠近佛山了),让我考虑一下,最后他们也还是找到比我更合适的人了。
后来我还记得有一家,我坐在楼梯口看编程狮与牛客,背着Android的生命周期以及各种状态,到现在,我还清楚地记得还能记得编程狮的logo,也变过一次。
在那时,我搜索的关键词是“Android开发助理”。不可避免的“焦虑”因为找不到工作,就无法交得起房租,当时是住在广州的滘口客运站的里面的一间公寓里。
当时我在公寓中,一个白天翻着《Android实践》书籍中的地图,一边跟着书里面的内容“抄”代码。用博客记录编码生活现在,是2019年6月。在我的个人博客里《在雨天,做一些该做的事》中,有这样一段话:
对Android的执念
或许是因为当时我很喜欢锤子手机,所以一心希望开发出一款非常好用的工具类产品(目前在一家南京的工具类产品做着产运助理),还加入了一个《android自定义开发实践》这本书的勘误群。
回家
不得不承认现实,也许是因为真的没钱了,但也不愿意做非技术相关工作,我回到了南京。
之后回到了南京,做了某医院的外包的编辑工作(就是各大网站发帖宣传),我在工作中,空余时间去安装 Python环境,将经常需要用到的网页端的操作变为“自动化”的脚本。或许还是因为抵触以及个人原因,并没有干太久,或许仅仅是带着“别丢了编程理想”。
南京,买课,调整方法(2020)
在南京找工作的时候,同时也是我自学Java的故事。
在这时,我遇到了Android开发者“平凡的世界”,他将我需要学习的课程中“必学”的点全了出来,指导我。
我同样地,进行对应学习。
课程的变量名很长
在南京求职,是在2020年6月。或许还是因为需要一个“主要的工作”,这样的影响使我无法全力追逐我的开发梦。
通过微信读书,我也看到了我是在什么时候订阅 的那几本电子书,还有自己的笔记。
之后一段时间,自己仍旧断断续续地关注者iOS与Android开发的相关内容。
但是这些时间,都一去不复返了。
为什么没坚持下去
中途过程中,我尝试着坚持,“如果渡过这段苦日子,那一定就可以上架各大应用市场,即使没人用,也是满足了自己的需求。”
我曾经这么想。
或许,现实中“主要的工作”才是最主要的,经济独立了,和他人说,目前在xxx做着xxx的工作,似乎也好过说“自己在家里研究代码”,以及遇到问题“尝试着提问”,但也不能总是期待着别人的回应。
归根究底,坚持,系统性地学习,以及专业朋友地指点,不可或缺。
所幸的是,我这些都有,只是需要更强大的耐心,与忍受孤独的心境吧。
近期
因为工作原因,我有幸接触了测试(即app测试、元服务上架前测试),在阅读测试相关的书籍《测试架构师修炼之道》一书中说,开发工具,也是软件测试工程师以后的职业方向。
看到这里,我心中再次燃起了开发(独立产品)的希望。
但是,时间呢?其实我知道,挤一挤,总会有的。
现在(2023.7)
回顾过去,自己虽然在编程的方面做了一系列的不少努力,却依然也希望帮助开发在网站上提问,因为还希望可以回到那样的环境,不与开发者圈子脱轨。
巧合的是,现在因为我不仅在做测试,编写测试用例,还在运营小红书,看到小红书上面很多开发者的各种自我推荐的产品,我依旧会很热衷地去添加他们的用户群,去下载他们的产品进行体验。但这样的目的,或许很大占比是体验里面的功能而去寻找卖点,写在小红书中:
设想这样的功能,怎么描述才会吸引人点击?
却不是“我可以如何实现这样的功能”,用什么样的框架,可以更好地实现,以及怎样地复用,才可以让代码更加地整洁?
理想与现实
尽管如此,我花了3千多字将我自毕业以来,在技术方面的追求进行了复盘,但我依旧希望有朝一日,自己可以以独立开发者的身份,上架产品至App Store,每天打开Connect,调整一下TF的算法合规,就可以测试自己的App。
或许可以说,我现在的工作,丰富且充实,但依旧希望有朝一日,可以在周日闲下来的时候,打开Xcode或者Android Studio,为我自己的理想产品而添砖加瓦,继续前行。
相关链接
- 语雀的《Java开发学习》:Java开发学习 · Yuque
- 博客:城漂-《广漂日记》
本文参与了 SegmentFault 思否写作挑战「探索编码世界之旅 - 记我的第一份编程工作」,欢迎正在阅读的你也加入。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。