写点什么

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:19890
用户头像
刘燕 InfoQ 编辑

发布了 879 篇内容, 共 301.6 次阅读, 收获喜欢 1659 次。

关注

评论

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

实现一个百万级推送服务,除了它,还有谁

Java 程序员 后端

将项目转成MAVEN项目

Java 程序员 后端

应届生想要找到一份Java开发的工作,需要达到什么水平?

Java 程序员 后端

Android C++系列:JNI 调用时缓存字段和方法 ID

轻口味

c++ android jni 11月日更

常见的社会潜规则有哪些?

Java 程序员 后端

干货第一弹-教你如何利用阿里开源工具进行排查线上CPU居高问题

Java 程序员 后端

开源爆款,阿里P7技术笔记《k8s+docker》

Java 程序员 后端

年前三面美团百度挂了,疫情间啃完阿里面试宝典,成功斩获offer

Java 程序员 后端

开发做了一两年了,感觉遇到了瓶颈,公司已经学不到太多东西,如何成长为技术大牛

Java 程序员 后端

开发新人有必要考虑在工作一年后跳槽

Java 程序员 后端

模块三作业

小鹿

实战spring自定义属性(schema)

Java 程序员 后端

实时数据库 架构图

Java 程序员 后端

Kubernetes 给容器化部署和管理带来的好处

后台技术汇

Kubernetes 11月日更

工作三年的Java程序员应该达到什么水平?

Java 程序员 后端

干掉GuavaCache:Caffeine才是本地缓存的王

Java 程序员 后端

应云而生,幽灵的威胁 - 云原生应用交付与运维的思考

Java 程序员 后端

带你了解代理模式

Java 程序员 后端

架构实战营 - 第三期 - 模块三作业

lucian

架构实战营

宝藏图,引起的一堆问题,轻量级锁的不解(Synchronized锁的升级)

Java 程序员 后端

年初入职 字节跳动 的Java面试经验分享(文档)

Java 程序员 后端

开发十年面试过1000个人,总结出这份高薪Java 面试秘诀

Java 程序员 后端

开发进阶加薪利器:美团架构师最新版的深入理解JVM底层和源码PDF

Java 程序员 后端

将CSV的数据发送到kafka(java版)

Java 程序员 后端

应用服务器集群的Session管理

Java 程序员 后端

官方都不推荐?为什么MySQL不推荐使用uuid作为主键?究竟有什么坏处

Java 程序员 后端

实战:第十一篇:StringRedisTemplate获取redis信息

Java 程序员 后端

已开源!阿里巴巴SpringCloud微服务原理与架构项目实战,请签收

Java 程序员 后端

架构实战营 - 第三期 - 模块三作业

岚哲

极客时间 架构 架构实战营

常见的SQL面试题:经典50例

Java 程序员 后端

幸亏有了这本623页的微服务框架实战笔记,一举拿下腾讯美团滴滴offer

Java 程序员 后端

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