美团、快手、去哪儿网是如何构建测试环境的?点击查看实践案例>> 了解详情
写点什么

10 年 Android 开发者经验分享:如何从 0 到 1 开启职业生涯

  • 2022 年 4 月 07 日
  • 本文字数:2535 字

    阅读完需:约 8 分钟

10年Android开发者经验分享:如何从0到1开启职业生涯

本文最初发布于 ProAndroidDev 博客。


在从事了 10 年的 Android 开发工作后,如果要重新开始我的职业生涯,我就会像本文所说的这样做。希望这篇文章涵盖了你在开始工作时可能遇到的所有未知的情况。


多年来,Android 生态系统发生了巨大的变化,其开发工具也随之改变。


本文将介绍一个人如何开始他的 Android 开发生涯,内容包括什么重要,什么不重要,以及如何做才能找到自己的第一份工作。

对于 Android 开发,我应该学习 Java 还是 Kotlin?


2017 年,谷歌正式宣布支持使用 Kotlin 进行 Android 开发。现代 Anroid 应用程序和库都是用 Kotlin 编写的,尽管 Java 仍然在使用,但主要是出于遗留原因。这两种语言非常相似,一个项目可以同时使用这两种语言。Java 比 Kotlin 历史更悠久。这意味着 Java 有更多的工具和支持。Kotlin 是一种现代语言,使用起来更简单。


尽管 Kotlin 是官方推荐的 Android 开发语言,但谷歌对这两种语言都提供了很好的支持。在业界,大多数公司都要求 Android 开发人员具备 Kotlin 知识和经验,而不是 Java。正因为如此,我建议你专注于学习 Kotlin。


同时,不要忽视网上的 Java 资源和教程。有很多用 Java 编写的 Android 资源,至今仍很有意义。


Android Studio 是 Android 开发的官方 IDE,它基于 JetBrains 的 IntelliJ IDEA。它的一个很酷的特性是自动将 Java 代码转换为 Kotlin。这意味着,你能在网上(如StackOverflow.com上)找到的任何代码片段都可以转换为 Kotlin。


除了 Java 和 Kotlin 之外,你也可以选择其他语言,如 C#、JavaScript 等。在本文的后半部分,我们会简要地讨论一下。

如何学习 Anroid 开发?


只要你有一台电脑并能访问互联网,就可以百分之百免费的学习 Android 开发。不需要任何 Android 设备就可以开始学习或构建应用。


官方的Android开发网是一个很好的起点。在那里,你可以找到有关如何开始学习和发布 Android 应用程序的资源。例如,《Kotlin Android开发入门》就非常不错,它介绍了 Android 开发的基础知识,而且完全免费。


谷歌也提供了许多Android代码实验室。当你对 Android 开发有了更深的了解,需要深入探索更多的主题时,就可以到代码实验室通过实践进行学习了。


最好的学习方式是实践。一旦你对如何创建自己的 Android 应用有了一个大概的想法,就可以开始构建了。


这是目前为止最好的学习方式:


  1. 它将提供大量你在今后的日常工作中需要的技能。

  2. 它将使你在处理代码以及自己寻找答案时更加自如。

  3. 它将为你的简历提供一些具体的内容。一个小而精湛的应用将创造奇迹。想一想你希望有一款什么应用,或者你希望每天都要做的事情能自动完成。它不必是完美的,也不必与 Uber 或 Facebook 竞争;你只需要把它开发完成并发布出来。

职业生涯破解:加入一个社区


加入一个社区可以对你的职业发展产生巨大的影响。有一群和你有着同样奋斗经历的人,可以让你感觉不那么沮丧,可以互相提携。这也有助于与业内人士建立起长期的联系。


这个行业比你想象的要小得多。人们往往喜欢与他们已经认识的人一起工作。市场上最好的工作不是通过招聘信息,而是通过口耳相传。你在梦想公司的朋友会非常乐意为你介绍你梦想的工作,而不是去面试可能申请相应职位的一千名候选人。这是双赢。


最后,同样重要的是,社区通常会分享学习技巧、新闻、工具和备忘录。人们会很乐意与你分享,而不是让你自己去寻找这一切。

我怎么找一个社区来加入?


看下你当地的社区(比如你的学校/大学/黑客组织),看看是否有人在学习 Android。如果你碰巧有朋友在从事 Android 开发,很有可能他们已经加入了某个社区,他们肯定很高兴介绍你加入。


谷歌有一个全球范围的谷歌推广社区,称为谷歌开发者小组或 GDG,这里有目录。


meetup.com可以用来查询附近和网上的 Android 聚会,这可以作为寻找社区的好线索。


/r/androiddev是一个很好的地方,在这里可以看到 Android 开发者们在聊什么,它本身就是一个大型的全球性社区。


最后,同样重要的是,看看 Android 官方的 Twitter 账户(@AndroidDev)。它非常活跃,经常会分享大量有用的信息。

如何在求职时脱颖而出?


证书和文凭在就业市场上迅速失去价值,许多大公司已经不再要求计算机科学学位


相反,使候选人在与其他人的竞争中脱颖而出的是工作经验。幸运的是,对于我们的职业,这一点可以通过互联网实现。具体来说:


  1. 构建并向世界发布一款真实的应用程序(即通过 Play Store)。

  2. 在 GitHub 上创建一个账号,并为开源软件做贡献。

  3. 通过博客和社交媒体分享在线学习经验。上述几条有个很大的好处,就是没有时间限制,可以在你的整个职业生涯中增加你的信誉。

我了解 C#,我应该从 Xamarin 入手吗?(或者 Flutter、React Native 及其他类似的框架)


一家公司在开发 Android 应用时,通常会开发同一应用的 iOS 版本。为了节省精力和金钱,人们创造了新的技术,使用相同的代码库生成 Android 和 iOS 应用。诸如 Xamarin、Flutter 和 React Native 等框架就是在这种情况下产生的。


它们与原生 Android 开发有很大的不同。它们有自己的工具、编程语言、社区、优点,最重要的是,还有问题。在使用这些技术时,除了 Android 和 iOS 原生开发的问题外,你还将不得不解决每个框架所特有的问题。


先从 Android 开发的基础知识开始,了解它的不同寻常之处,然后再进入更多未知的领域。

Jetpack Compose 是什么?我应该学下吗?


Jetpack Compose 是谷歌新推出的一个 Android UI 框架。这是一种使用 Kotlin 编写 UI 的新方法。从正面说,使用新框架是一种乐趣。


但实际上,该框架最近才发布了1.0版。这意味着许多公司还没有多少机会使用它,许多公司正在设法弄清楚如何在他们的应用中使用它。目前,很多工作都还没有这个要求。


如果是现在开始学习 Android 开发,那么我建议你专注于 Android 的基础知识,并使用 Views 构建自己的第一个 Android 应用。你可以随时用 Compose 开发一个新的应用,看看它是什么样子。

小结


在从事了 10 年的 Android 开发工作后,如果要重新开始我的职业生涯,我就会像上面所说的那样做。希望这篇文章涵盖了你在开始工作时可能遇到的所有未知的情况。


感谢Daniele ContiChris BashaSebastiano Poggi 校对这篇文章。此外,我在 Twitter 上很活跃,我会分享我正在构建的东西。欢迎关注我(@alexstyl),获取更多有关 Anroid 开发的信息。


查看英文原文:


https://proandroiddev.com/if-i-were-to-start-my-android-career-in-2022-here-is-how-i-would-do-it-c7f149dc8cbf

2022 年 4 月 07 日 11:19956
用户头像
刘燕 InfoQ高级技术编辑

发布了 919 篇内容, 共 324.0 次阅读, 收获喜欢 1698 次。

关注

评论

发布
暂无评论
发现更多内容

一篇文章带你快速理解JVM运行时数据区 、程序计数器详解 (手画详图

Java 程序员 后端

一篇文章让你了解基于Spring的测试,java自学百度网盘

Java 程序员 后端

一篇送给临近35岁程序员的文章,mysql数据库sql语句面试题

Java 程序员 后端

万字长文,字节大牛百万调优经验之作:JVM调优实战笔记

Java 程序员 后端

【计算机网络 1】计算机网络概述,Java高级工程师进阶学习—Java热修复原理

Java 程序员 后端

一份秀出新天际的SpringCloudAlibaba笔记,把微服务玩的出神入化

Java 程序员 后端

一招搞定 Spring Boot 可视化监控!,java进阶教程云盘

Java 程序员 后端

一文带你了解Java并发中的锁优化,让你的代码运行效率翻倍

Java 程序员 后端

一文读懂 spring MVC 请求处理流程,Java开发新手入门教程

Java 程序员 后端

三、Spring Cloud之软负载均衡 Ribbon,mysql架构

Java 程序员 后端

一年Java开发经验,阿里巴巴五面(已offer,java原理视频

Java 程序员 后端

一文掌握大数据架构师需要具备的能力和格局,别再说你不会JVM性能监控和调优了

Java 程序员 后端

三面遭阿里新微服务框架暴锤,含恨吃透这份手抄本笔记,终入阿里(1)

Java 程序员 后端

三面腾讯,已拿offer!分享复习经验和后台开发面经

Java 程序员 后端

一文彻底弄懂如何选择抽象类还是接口,linux基础入门知识

Java 程序员 后端

一次完整的JVM NativeMemoryTracking 堆外内存泄露分析

Java 程序员 后端

一篇文带你入门SSM框架Spring开发!精彩干货不间断!

Java 程序员 后端

一行Java代码实现两玩家交换装备【并发编程】

Java 程序员 后端

一夜之间火爆GitHub的好文!!阿里资深架构师整理分享

Java 程序员 后端

一篇文章丢给你,让你一文了解JVM,2021Java最新大厂面试真题总结

Java 程序员 后端

一篇文章带你快速理解JVM运行时数据区 、程序计数器详解 (手画详图(1)

Java 程序员 后端

【线程】(1),java高级特性编程及实战pdf百度云

Java 程序员 后端

【线程】,Java自学宝典pdf

Java 程序员 后端

一口气面试6家大厂,已拿5家offer,大厂没有你想象中的难

Java 程序员 后端

一款SQL自动检查神器,再也不用担心SQL出错了,自动补全

Java 程序员 后端

【被面试官吊打】从系统角度考虑性能优化,kafkajvm调优

Java 程序员 后端

一场哔哩哔哩Java开发面试之旅,分享面试经历及复习资料

Java 程序员 后端

一文看透Java高并发:Synchronized锁的性质、原理及其缺陷

Java 程序员 后端

【网络信息安全】身份认证,hadoop环境搭建教程

Java 程序员 后端

一文带你深扒ClassLoader内核,揭开它的神秘面纱

Java 程序员 后端

三面蚂蚁金服终获 java高岗 offer,却直言再也不想体验第二次了

Java 程序员 后端

10年Android开发者经验分享:如何从0到1开启职业生涯_语言 & 开发_Alex Styl_InfoQ精选文章