老齐教室

I Started Android Development At 40

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

使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

关注微信公众号,读文章、听课程,提升技能