4

I Started Android Development At 40

 2 years ago
source link: https://qiwsir.github.io/2022/02/11/started-at-40/
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

40岁开始学安卓开发

重新开始软件开发生涯,40岁还不算晚

有人曾经告诉我,“如果你 35 岁时还是一个程序员,应该考虑为你后半期的职业生涯换一个职业。年轻一代正在迎头赶上,你很快就会被淘汰。”

没错,35 岁时,我确实开始反思自己的工作。但我的情况不同。那时我不是程序员,而是管理人员。当时,我错过了早些时候成为 C++ 程序员的机会。

我的确做过短短几年的 C++ 开发人员。然而,在开始担任管理职位后,我的编程技能逐渐退化。日常工作是会议、使用 PowerPoint 和 Excel ,当然还要处理很多电子邮件。我几乎几个星期到几个月都不读代码,更不用说写代码了。

当我无法从事管理工作时

39 岁时,我移居到了一个新的国家。在这个国家,我的管理技能不再重要。这里的公司更喜欢有本地人脉的担任管理职务。

我可以选择转行,做一些不需要技术知识的临时工作。但我确实喜欢编程,很想做回老本行。所以,尝试了几次 C++ 的面试。

令人尴尬的是,我甚至没有通过初试。很沮丧。

我甚至不太想再次从事 C++ 编程。这些 C++ 工作是与硬件关联的嵌入式软件开发,而不是我感兴趣的主流软件开发。

第一步:准备——知道我想要什么

鉴于我不再热衷于 C++ 本身,想做什么?

当时,移动开发是主要的热门话题,尤其是 iOS。但要进入 iOS 开发领域,我需要一台MacBook 和 iPhone,而我没有这些设备。如果我不确定自己能否进入这一领域,那就太不值得投资了。

那时我有一台 Windows 笔记本电脑和一部三星S2手机。尽管安卓还不是最常用的,我认为安卓系统会日益发展。包括我在内,越来越多的人开始使用安卓手机。

就这样,我选择了安卓。

明确了学习目标,现在只需要获得相关的学习资源:

  • 多亏了谷歌,Android Studio 这个开发工具是免费的!而谷歌 Playstore 的注册费,一辈子只有25美元!

  • 我买了几本能找到的书。由于安卓系统是一个全新的系统,所以当时可用的书并不多。

  • 幸亏网上有很多学习资源、代码参考等。我还可以订阅一些更新的电子邮件来学习。学习开发比过去容易得多!任何人都能上手!

接下来呢?开始编码!

我自己开发了一些小的应用程序,并在商店里发布了它们。实现端到端的体验过程:也就是说,了解从设计、开发、测试到向公众发布全过程。

明确自己想学什么,然后行动起来!

第2步:重置-无论你在哪个位置

虽然我可以自己学习和工作,但我知道我永远不会以理想的速度加快学习进程,除非我与其他安卓开发者合作。理想情况下,我想加入一家从事安卓开发的公司。

凭着我发布的应用程序,得到到一家正在发展中的移动开发公司面试的机会。这的确是一个千载难逢的机会。

我知道我没有资格成为高级开发者。所以,只要能得到工作和学习的机会,我就会去争取任何可能的职位。我可以接受低级职位,因为这为我提供了充分的学习机会。

不幸的是,我最后一轮面试失败了。很悲催。

那之后我做了什么?我发邮件感谢公司给我这个机会。

我没有就此止步。我恳求他们把我当作公司的实习生。我告诉他们,我甚至愿意无偿工作和学习,以获得提升自我的机会。

最后,我得到了回应。我的职位不是实习生,而是一个移动应用程序 QA 测试员。

我乐意至极。我可能没有机会编写代码,但我会测试代码。我可以和专家们交往,向他们学习。所幸的是,我是被雇来做测试,这比当一名无薪实习生要好。

我真的尖叫“哈利路亚!”

置身于正确的环境中时,学习就会加速。

第三步:学习——时间和年龄无关紧要

当我到了移动开发公司工作时,我想成为一名安卓开发者的目标就实现了一半,但我不能保证能实现另一半。所以必须提高自己的开发技能,为机会出现时做好准备。

不幸的是,时间对我不利。作为一名 QA 测试人员,每天要工作 8 小时。我羡慕那些开发人员,因为他们在工作中学习。边工作边学习是最理想的,但那种奢侈不属于我。

尽管如此,加入移动开发公司本身已经是一个巨大的优势。我确实可以在公司获得一些学习资源。这种历练帮助我认清了我应该专注于学习什么,对此我心存感激。

最重要的是,我与该领域的专家取得了联系。他们中的 95% 比我小。年龄无关紧要,重要的是他们在这个领域的经验。我非常尊重他们的技能和知识、以及他们与人分享的意愿。我对他们感激不尽!

我在工作时间之外学习和编码。这并不容易,但很有成就感。一点一滴地学习,知道自己正朝着正确的方向前进,这种体验很棒。我的目标是:成为一名安卓开发者。

在这个阶段,我需要的是不断展示我在学习上的进步,同时坚持履行我作为 QA 人员的职责。每隔一段时间,我会向安卓负责人展示我所取得的成就,并检查我自己是否为安卓开发者的职位做好了准备。

6 个月后,我转变为一个开发者。我是一名正式的安卓开发者了!!尽管是初级的,但我也是一个开发者!

要学好它,就把它作为工作的一部分。

第四步:分享——允许犯错

当我成为安卓开发者时,已经 40 岁。这不是我的最终目标。这只是开始。

非常高兴,因为我可以随心所欲地编写代码。我的工作时间就是编码,我在工作中学习。与专家结伴,向他们学习。要读他们的代码,他们检查我的代码。这使我对安卓开发的理解有了大幅提升。

我可以满足于这个水平,但我知道,随着年龄的增长,没有其他人那么多的时间。我需要做的不仅仅是学习。

在老板兼技术负责人的鼓励下,我开始写博客。我花了一段时间才正视我的博客,因为我想:谁想读这些东西?我不是专家。如果我写的东西不符合标准怎么办?或者,我写的东西会不会出错?

尽管如此,我注意到我很容易忘记所学的东西。所以我的意图很简单,为自己写博客。它更像是我的学习笔记。如果没人读,至少我能很容易地回忆起我学到的东西。

花时间写我学到的知识,使之尽可能便于我回忆。把每次学到的知识都用图表展示出来,并附上一个工作代码示例。所有这些都是为了确保我能轻松回忆起所学内容。

令我惊讶的是:有些人读过它,还有些人写下了感激的留言。他们的反馈极大地鼓舞着我继续写博客。

但更重要的是,也有人坦率地表达不同意见。诚然,我有时会有戒心。但正是这些反馈让我意识到:外面有不同的想法。

有时我显然错了。有时,虽然我没有错,但我忽略了他人的观点。这些都是学习的机会。这个过程更加有益于我的学习。这也是一个成为安卓开发者更上一层楼的必由之路。

只有当我们愿意分享时,我们才能学到最多的东西。

第5步:拓展——走出舒适区

在安卓开发领域超过 4 年后,我感到比较舒适,我已经是一名高级安卓开发者。除了开发,还指导其他初级开发人员。

我不会说我对安卓开发了如指掌,但我更了解如何获取和查找信息,对于判断对错有更好的直觉。安卓系统的开发也在不断发展,所以有很多东西需要学习。我过得很开心。

我可以安于现状。我热爱我的工作,因为我的工作就是编写代码。然而,我凭借的仍然是一己之力。 我的影响力仅限于我自己能做的事。我也问自己,这是我未来10年想要做的吗?

所以我决定在机会来临时继续前进。我申请了一个首席开发者的职位,负责 iOS 和Android。如愿以偿,尽管我不擅长 iOS。

对于我所负责的一切不够了解,这种感觉让我不适。但正是这种不舒适的感觉驱使我去学习和扩展知识范围。所以,必须花时间学习 iOS。

我认为,我对于 iOS 不会像对于安卓那样精通。但学习 iOS 确实帮助我更加通透地看待移动开发领域,让我知道安卓开发的优势和劣势。

在辨别优劣之前,我们学得还不够。继续学习。

重新从事一些管理工作

时间很快到了今天。自从我第一次涉足安卓系统开发,迄今已经有 7 年多了。变化太大了。

我现在是一名移动技术负责人,负责跨移动团队的协作工作和架构工作。除了技术职责,我还需要参与各种管理任务。

我又回到了管理岗位,再次没有太多时间在工作中编写代码和学习。 我仍然喜欢我的工作,因为,相对来说,它仍然是技术性的,只不过是在一个更高的技术层面上。

为了做出更高层次的技术决策,决策者还必须对较低层次的技术有切实的理解。 我不能依靠我过去的学识来维持现状。 我需要不断学习。 也许几年后不会让历史重演。

这就是我的小故事。 40岁,开始软件开发事业还不算晚。

https://levelup.gitconnected.com/i-started-android-development-at-40-6591c1e8bc38


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK