V2EX 09月14日
从代码小白到开源贡献者:我的安卓开发学习与求职经历
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文讲述了一位在澳洲攻读计算机科学与IT硕士的学生,从代码基础薄弱到通过开源项目获得成就感的经历。作者坦诚了学习过程中的挑战,包括睡眠问题、对AI工具的依赖,以及在求职过程中遇到的技术短板。尽管如此,作者通过重构并发布了一个Jetpack Compose安卓应用到F-droid,获得了积极的社区反馈,并以此为契机开始思考未来的职业道路。文章还提及了作者对安卓社区、Linux系统以及Material Design的喜爱,以及目前在团队项目中担任唯一开发者的现状,面临时间和技术上的双重压力,寻求职业发展建议。

💻 **代码基础的成长与AI辅助学习**:作者在澳洲学习计算机科学期间,初期代码能力较弱,并受到长期睡眠问题影响。然而,通过积极投入毕设项目,特别是利用ChatGPT进行安卓App开发,逐步提升了编程能力。重构旧项目至Jetpack Compose并成功发布到F-droid,获得了超过90个star,标志着其在实际项目开发和社区认可方面取得重要进展。

🚀 **开源贡献与社区认可**:作者将自己开发的安卓App开源并收录于F-droid,这一经历不仅带来了成就感,也促使作者开始认真对待用户的反馈和问题。开源项目中的一个独特之处在于通过反推公式计算隐藏值,虽然部分逻辑依赖他人解读,但展现了作者在技术探索上的尝试和对细节的关注。

🤔 **求职挑战与职业方向探索**:临近毕业,作者在秋招中面临严峻的笔试和面试挑战,技术短板(如算法、数据结构、八股文)显而易见。尽管对安卓开发和Material Design充满热情,但目前的状况让其感到压抑,并开始寻求适合自己的职业方向,即使薪资要求不高,也希望找到能够发挥自身优势的领域。

💡 **技术热情与系统偏好**:作者对安卓开发充满热爱,尤其欣赏Material Design的设计理念。同时,作者也是Linux系统的长期用户(Ubuntu、Arch),但对底层技术的深入研究有限。这种对特定技术栈和开源文化的喜爱,是其未来职业发展的重要考量因素之一。

⏳ **时间压力与团队角色**:当前,作者正承担着毕业设计项目(含安卓客户端和FastAPI后端)的唯一开发者角色,加上其他课程的压力,留给学习算法、数据结构等硬核技术的时间非常有限。如何在有限的时间内平衡学业、项目和求职准备,是作者面临的现实困境。

2021 开始在澳洲读计算机科学本科,2024 年至今在读 it 专业的硕士。

刚上本科的时候写代码能力就很差,也没好好学,找个借口就是长年睡眠不好,白天极度疲劳根本没精力学习(运动损伤导致,困扰了八年,今年年初才大幅好转)。

22 年 chatgpt 爆火。那时候有个毕设:安卓 app 项目,是我第一次真真切切的投入到一个项目,但是全靠当时的 chatgpt 。

今年,正好上了一门分布式计算的课,学了一点 kotlin ,于是想把去年 vibe coding 写的一个简陋的 java+传统 view 的项目(自己用的)用 jetpack compose 重构一下,加点功能(虽然还是离不开 vibe coding ,但我用 llm 的时候每一步还是相对谨慎的,不希望把一个项目越写越屎。)
然后感觉差不多了就发布到 F-droid ,被收录了,从五月份重构到现在有 90 多个 star ,真的非常开心了。有时间就会修修补补,根据 issues 里为数不多的用户提的问题耐心回应。

年底 12 月就要毕业了,所以这个时候不得不开始投国内秋招岗位了。投了几个移动端开发岗,笔试基本啥也不会,手撕也做不出来。之前 leetcode 简单题做了几十道吧,总共就做出来一两道,大部分时候题目都看不懂,不管中文还是英文。面试根据以往几次的经验也都是一问三不知,八股面经也看不进去。

去年也投过 java 后端。对此所做的努力在跟着教程敲了个苍穹外卖之后就无了。

感觉写安卓 app 的时候还是挺开心的,可能这种快乐源于“创造”,虽然对 ai 依赖很大。很喜欢 material design 。

个人特色:一方面英语交流能力满足日常生活学习需求,在留子里面英语算好的那一批。

另一方面,很喜欢安卓社区和 linux 。不过对于 linux 的喜欢仅限于从 6 年前开始用 ubuntu (后来一直用 arch )替代 windows 作为主力使用系统,然而至今没有深入了解 kernel 等等一些相对深入的东西。很多常用命令也不记得,都得现查,也不喜欢看手册。

顺嘴说一句我提到的那个开源项目,有一个独特的点,就是根据手机厂商的内核源码做了一个反推公式去计算一个隐藏的值。然而就这个“内核源码”也不是我自己看的,是一个大佬把内核源码和逻辑嚼碎了喂给我的。

现在又在做一个毕设,恰好又是安卓 app ,客户端 jetpack compose ,后端 fastapi+mysql 放 docker 里随便糊弄糊弄。五个人组队,只有我一个开发者。说实话没什么时间去另外逼自己学习什么算法、数据结构什么的,甚至网络原理我都没怎么学明白。再加上别的课程(一个 vuejs 的,一个毕设配套的垃圾课),感觉这最后一个学期往后两三个月基本不可能有很多时间帮助自己找到开发工作。

像我这种情况,适合做什么工作?写代码估计是不行了,找工作就搞得自己很压抑。
薪水没什么要求。其实做什么都行,不过还是想知道大家有没有什么高见。

大晚上睡不着,手机码字,语句不通顺请见谅。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Android开发 Jetpack Compose 开源项目 F-droid 求职 技术成长 AI辅助开发 Linux Material Design 分布式计算 Android Development Open Source Job Search Tech Journey AI-Assisted Development
相关文章