Code前端首页关于Code前端联系我们

如何在不接受任何培训的情况下自学Android开发?

terry 2年前 (2023-09-22) 阅读数 75 #移动小程序

如何不参加培训,自学 Android 开发?

大学​​我在国内上大学,获得二级学士学位,主修数学。大学回顾:逃课、不及格、篮球、招女生、Dota。

到目前为止,我可以说我的大学是我一生中最激动人心的时光。我从大一开始就一直逃课。更好的理由是我不关心大学课程。其实是因为高考太压抑了。大学毕业后,没人接任并开始无休止地纵容自己。毫不夸张地说,大学四年所占用的时间不应该有那么多。逃课最直接的后果就是考试不及格。从大一到大三,我每年的专业数学分析课都不及格。后来听说我补考没及格,必须重考,还得交钱。这确实让家人知道我可以偿还他们的钱。 ,所以我努力学习,终于以优异的成绩通过了所有的复试。

我认为英语四级应该成为大学的必修考试。我一生都不会忘记英语四级。我考了三次才通过。每次考试我都会因为裸体而受到称赞。大学英语全部以高中基础为基础。 ,第一次失败,丢了十多分。第二次我睡觉了,所以没有参加考试。现在想来,我当时真是傻了。终于,我第三次顺利通过了。现在想来,我当时能熬过来真是幸运。当我毕业找到工作时,英语四级是最低要求。在编程行业,英语非常重要。你需要找到一种方法在大学通过英语四级考试。

现在想想,大学里唯一与编程相关的专业就是C语言,而我们专业却是全校的公开课。虽然最后我通过了考试,但我连i和é都听不懂。我想我知道你可能猜到我是如何生活的。

自从我在高中开始打篮球以来,我毫无疑问地在大学加入了校篮球队并担任队长。所以,我大一、大二的大部分时间基本上都是在篮球场上度过的。也是因为篮球打败了我现在的妻子。到了大二下学期,我周围的人都在打Dota,所以我开始打球,基本上就戒掉了篮球。那时我对这个游戏很着迷。我记得最长的一次是和同学一起在网吧待了两周,但白天就回来了。他睡着了,不然他就会突然死在网吧里了。

转眼间,我已经是大四了。今年我终于在妻子的监督下停止了秋季课程。毕业前最后一次考核,我竟然获得了三等奖学金。我真是受宠若惊。后来我的钱也被朋友用了。把它当作腐败。我周围的同学都在准备考研,唯独我一个人不在乎。自始至终,我没有花一分钱,也没有买任何考研的书。后来证明我的决定是正确的。我周围的朋友都放弃了,那些不及格的人也没有参加考试。就连那些通过考试的人也没有看到我考得有多好。当然,如果能考上好学校也是有好处的。到。

  • 毕业

一眨眼就毕业了。我在学校参加了几次招聘会,我都喝醉了。它们都是我从未听说过的小企业。我去的时候,各种工厂都有。根本不需要学历。投资少就能搞定的那种,或者各种电话销售。 。 。我当时非常紧张。大学四年了,毕业后却找不到一份像样的工作。回到家后我该如何面对村民呢?

3月份,一家IT测试培训机构举办了一场研讨会(具体名称我就不透露了,以免被误认为是广告)。听完后,他被告知培训后就业有保障,而且培训地点在上海市中心。当然是自费,但是可以下班后分期付款。那时,我不知道测试是用来做什么的,更不知道 IT 是用来做什么的。当我回来后,我检查了这个组织是否确实存在并有一个网站。知道不是骗局,我决定来上海试试。当我决定来上海培训后,我的一些朋友就毫不犹豫地跟我一起来了。总共应该有7个人。做出决定后没几天,我们就带着大大小小的行李毅然抵达了上海。在我们这里,一部分是一次性付款,另一部分是分期付款。后来证明我们来上海的决定是正确的。

  • 运动之路

这并不是鼓励大家去运动。他们只是工作所迫,学校不好,我在大学里没有学到任何真正的技能。就算事业再小,我也不去培训!

训练的日子还是比较轻松的。我每周有四天,朝九晚五地工作。毕竟我们家并不富裕。我们在大学里努力学习了四年,毕业后就要交学费。我对大家感到抱歉。非常内疚。刚开始的时候,我很有精神,想好好学习,但是坚持了很久之后,我感觉有点轻松了,但还是学到了一些东西。

我想我在培训期间对编程有了一些了解。课程有C、Oracle、Linux,其余都是软件测试理论。其实这些都是非常基础的东西。它可以被认为是向您介绍这个行业。 Orace 学到了一些基本的东西。我只学了一些SQL语句和Linux命令,但至少我知道计算机可以做很多事情。以前我一直以为电脑只是用来看电影、聊天、玩游戏的。现在回想起来,如果给我一周的时间,我就可以完成整个培训,但当时的培训周期长达四个月。

  • 第一份工作 - SunNET

7月份我拿到高中毕业证后就来到了上海。四个月对于我来说确实太长了。我不能再等了,所以我上了课程的最后一部分。当我三个月大的时候,我就很早就自己出来找工作了。培训老师随后表示,大部分下班后的工资都会在3500左右。我觉得我学习比别人好,所以我应该比别人高,我为漫长的面试过程做好了准备。没想到,我被第一家面试的公司直接录用了(后来发现公司有家庭验孕棒,我急需测试)。公司名字叫SunNet,中文名字叫山诺,薪资4000。当我拿到offer的时候我欣喜若狂!

  • 真正接触编程

之后我正式加入SunNet。我的工作是测试,但在 SunNet,我真正接触到了编程的全部内容。 SunNet 是一家小型外国公司,总部位于休斯敦。上海这边主要是研发部门。研发人员总共不到10人。主要业务是基于网络的,使用的语言是.NET。当然,我的职责是网络测试,工作并不困难。我是唯一一个主要测试的人。一进去就有好几个项目等着我去测试。幸运的是,我是数学专业的,有很好的逻辑思维能力。经过加班,我终于可以准时了。任务完成。

他花了三个月的时间才成功成为一名全职员工。一天后,我无意中得知公司一个开发人员的工资比我高了2000。事实上,他只比我早一年毕业。直到那时我才意识到开发和测试之间的薪资差距是如此之大。所以当时我就决定转开发了,所以当我说因为钱从测试转开发的时候,说因为兴趣坚持下去就傻了。 。 。

  • 编程之路

由于测试仍然是我在公司的主要工作,所以任务还蛮多的,基本上每天都要在九点前回家。决定之后,我就只能把空闲的时间都用来学习了。由于公司的主要活动是.NET,所以我很自然地开始学习.NET。后来我发现.NET是基于C#的。在学习.NET之前,我需要先学习C#,我借用了公司的C#教程,学习了两周左右。我也做了很多认真的笔记。之后我感觉语法已经差不多掌握了,于是就借了一本.NET的书开始学习Web开发。

然而,Web 开发绝不像学习语言那么容易。后来才知道web开发需要html、css、Javascript、ajax、数据库等。属于。范围太广了,所以为了效率,我只是掌握每个要素。基础知识,于是就上网搜了一下,发现了一个好东西,w3school在线教程。其中的一切都是基本的。我把教程整理在手机上,每天坐地铁上班、吃饭时、回家路上等都用它们。 js。当我正式开始学习 .NET 时,我的老板知道我正在学习开发。我们的老板叫Aaron,是一个典型的程序员。我是一名中国共产党员。我比较胖,性格也很好。知道这一点后,我就没有被建议学习.NET。也就是说,.NET 已经存在十多年了并且非常成熟。许多人在学校都有 .NET 教程。现在我比别人学得晚。 。移动开发刚刚出现,并没有多少人知道。他们建议我直接学习移动开发。这句话真是让我点醒了! !

  • 移动开发

听了老板的建议,我放弃了.NET,开始准备学习移动开发。那是2012年初,整个移动互联网还处于起步阶段,iPhone 4还很受欢迎。毫无疑问,我的目标是开发 iPhone。

这次我有经验了。我知道,为了开发iPhone,你必须首先创建一种编程语言。我发现是Objective-C,于是就向公司借了一本OC的书(公司有很多书,老板每个月都会买),我看了很多书(虽然很少有人看)我花了差不多一个星期的时间才了解基本语法,因为我之前学过C#,这次我想不读完全就直接开始练习。当我打算学习的时候,我意识到iOS开发必须在Mac上完成,这意味着我需要有一台Mac电脑。虽然当时公司有,但是回家后就无法继续学习和实践,这肯定影响了我的效率。 ,Mac对于当时的我来说简直就是奢侈品。尽管现在它仍然是奢侈品,但在当时他们却买不起。于是被迫放弃iPhone开发,转投Android(后来发现还有虚拟机这种东西……)

  • Android学习之路

几经周折,我终于确定方向。这期间,我浪费了很多时间,开始走很多弯路,但这仍然没有阻止我走向开发。公司没有Android书籍,所以我个人买了一本李刚写的Android书,名叫《疯狂Android讲义》! !别说这本书有多好,这本书比较厚,很厚,所以他讲的一些基础知识都比较详细。初学者按照上面的操作就可以完全理解了。不知道书上的内容有没有更新。以前的内容不适合现在有点旧了。那个时间可能是 2012 年 3 月。该公司本月刚刚接手了一个移动终端项目,这似乎是一个巧合。有人做iOS,但是公司里没有人懂Android开发。其他人都忙着自己的项目。老板看出我的兴趣,就问我要不要尝试一下。我当然爽快地答应了,从此我就正式开始学习Android了。

当时测试任务还很艰巨,只能抽出时间来做项目。基本上每天晚上和周末我都会自动加班来完成项目。现在看来这个项目太简单了。快如果一周不需要的话就可以做,但是当时我奋斗了一个多月终于成功了。

完成项目后,我有了一些信心,但当时我的主要任务还是测试,自己发展的时间很少,所以我决定辞职,去找一份专门的工作。在安卓中。解释完原因后,老板很理解,并建议我如果想提高,就找一个专门负责发展的职位,这样可以让我提高得更快。

在我的第一份工作中见到我的老板Aaron真是太幸运了!

  • 样本

2012年4月底离职后,我开始在家准备面试和投简历。由于我基础很差,之前的Android经验也很少,所以有人告诉我要招聘Android职位,但其实职位很多。公司面试基本都是Java内容,感觉职场内容与Android相关的相对较少。我很高兴来到 Mint 接受采访,包括采访 CTO 和 CEO。正如预期的那样,几天之内我就收到了offer。这是一个来之不易的机会,我很珍惜。

我于 2012 年 5 月中旬加入 Mint。你认为我到达 Mint 后我的 Android 之旅会顺利吗?错了,路更难走。我是 Mint 聘用的第一位 Android 工程师。当时,Mint 只为 iOS 平台制作应用程序。事实证明,这种做法是不明智的。后来连CHIEF都亲口说,投资人来投资的时候,看到的数据太少了,以后再做。 Android平台推出后,用户数据慢慢出现。毕竟Android仍然拥有庞大的用户群。

加入Mint后的第一个任务是为联想电视创建一个视频应用程序。非常痛苦。配有联想的SDK、遥控器等不得不摸索。至少该应用程序的功能相对简单。我在试用期间表现良好,顺利转正。 。成为全职员工后,我创建了我的第一个 Android 应用程序,名为“减肥食品库”。所有功能和页面均复制自 iOS 版本的应用程序。那时有大量以前从未做过的事情,比如网络库、http、api对接、组件定制等等。当时,还没有很多不同的材料和开源库,例如现在,公司也可以提供指导。我不得不硬着头皮慢慢来。为了赶进度,出发前夕我在公司呆了三天三夜。如果我累了,我就在公司里躺一会儿。这是我一生中唯一的经历。虽然项目最终被推迟,但最终还是在可接受的范围内启动了。这是当时第一个测试Android平台的应用程序。遗憾的是,上线后表现不佳,没有达到预期效果。

  • ruby、Rails

应用在测试中表现不佳后,公司决定暂停Android业务,专注于iOS平台。我的处境变得非常尴尬。 CTO 跟我谈过,希望我可以改用 Ruby。 Android业务将暂停。我们所有的后端 API 都基于 Ruby 语言。虽然我当时有些不舍,但我又不得不避免失去他。我必须硬着头皮继续我的工作,所以我开始了我的 Ruby 之旅。

学习Ruby和Rails是我迄今为止遇到的最大困难。 Ruby 是一种动态语言,而 Ruby On Rails 是一种流行的快速 Web 开发框架。学习 Ruby 的区别在于你必须学习 Linux。编码基本上是在终端中完成的。没有 IDE,没有编译检查,而且您已经习惯了不同的命令行。这对于一个刚刚开始发展的人来说是非常困难的。那时我内心很抵触,学习理解能力很差。我感觉公司领导对我已经不太满意了。现在想想,当时公司并没有解雇我。我真的要感谢我们的技术总监,一个非常有耐心的人。 ,敢于给新人机会的人。过程中我遇到了很多困难。幸运的是,我从 Mint Ruby 工程师同事那里得到了一些帮助。当我遇到困难时,他们总是鼓励我,从来不给我麻烦。当基础、经验、技能不够的时候,我总是要克服这个困难,让别人看到我的态度。所以当我学习Ruby和Rails的时候,我每天都是坐末班车回来的。我记得当时是11点40分。这种状态持续了一个月,包括周末,没有间断。

这个月我在公司的主要任务就是学习。我什么也没做。有时我帮助同事修理电脑并拔掉电话线。为此,我非常感谢 Mint 和我的 CTO Vincent。恐怕这对任何人来说都不是最好的。没有一家公司能够单独给一个人这样的学习时间。一个月后,我的学习终于有了一些进展,我开始真正从事 Rails 项目,从事后端工作并编写 API。虽然效率很低,代码也很糟糕,但我在 Ruby 工作的过程中从我们的 CTO 那里学到了很多设计的东西。对象、设计模式等他的想法就是在这个阶段浮现出来的。从那时起,我习惯了各种终端操作,了解一些基本的Linux命令,热爱Ubuntu,像Sublime一样参加Ruby Conf 2012,接触Git、GitHub,创建了自己的博客。我很感激我作为 Ruby 度过的时光。它打开了另一个世界。我的心态完全改变了,我变得更加开放,愿意分享。

  • 回到Android

这段时间做ruby很开心。我付出了一生最大的努力,取得了一些小小的成果。我喜欢红宝石语言。到目前为止,我认为 ruby​​ 是最优雅的。语言。但 Android 一直在我心中占有一席之地,我从未放弃过。到了2013年5月,当Android的份额几乎疯狂增长时,该公司不得不开始关注Android市场,因此该公司计划推出Android版本的应用程序。于是,作为公司唯一的Android程序员,CTO又问我,问我是想继续做Ruby还是Android?虽然我更喜欢ruby语言,但从心底里我更喜欢客户端开发。这与语言无关。客户端是用户最能感知的部分,我创造的东西更有成功感。我一直在等待这个机会,此时我毫不犹豫地决定继续从事Android工作。

当我回到Android开发时,我自己开发了一个新的应用程序。在经历了之前的一系列失败之后,我突然觉得没有什么比这更困难的了。我自己探索了结构并克服了问题。该应用程序自推出以来一直在快速而疯狂地发展。目前,Mint App用户总数已突破1000万,公司也成功募集资金,业务发展渐入佳境。

  • 后话

既然一步一步走过来了,我就知道有多难了。从那时起,我就一直坚持写博客。除了我自己的积累之外,我也希望帮助更多的人,所以现在你可以看到无论是GitHub、博客、微博还是微信公众号,我总是很乐意分享。我希望我能避免我选择的弯路。虽然最终还是到达了终点,但如果有一条直路就最好了。 。

  • 总结

上面冗长的描述我的旧经历,看似与主题问题无关,但实际上却有很大关系:

1。如果你是非专业人士,想转行编程,读完我的经验应该会让你非常有信心和动力。我能做到,你也能做到,何况我还走了那么多弯路;

2。如果你接触过一些数据结构、编程语言等,想要学习编程,你应该比那些没有学习该学科的人更有信心。你所要做的就是坚定你的信念并继续前进;

3。不要哀叹上帝的失败。说实话,这次旅行非常难过。我走了太多的弯路,遇到了太多的困难。这些都是我一生中永远不会忘记的酸甜苦辣。但同时,我又很幸运。我的前任老板 Aaron 和我现任的 CTO 深受感动。影响了我后来的职业探索,蒙塔一些朋友的帮助,女朋友无数个日日夜夜的理解和支持,当你有困难的时候,上帝总是在照顾你;

4。如果你正打算成为一名开发人员,或者已经在从事开发工作,但缺乏信心或动力,或者对未来感到迷茫,不妨把它当作一本励志小说来读。你所要做的就是做你正在做的事情。 ,相信你的努力一定会得到回报;

  • 建议

评论里有人说自己现在是学生,想提出建议,那我们事后提点建议作为反例吧:

1.每天留出1小时的阅读时间。困难不是1小时,而是坚持;

2。最好不要挂科,因为如果挂科了,你还得花时间去补;

3。英语对于编程来说非常重要,尽量习惯用英语阅读;

4。你需要学好数据结构和算法。这是编程中最重要的一课。以后可能用不到,但至少用的时候会有印象。 ;

5。您必须在大三或大四期间参加实习。在编程中,经验还是比较重要的。实践经验比你的理论有效得多;

6。找个女朋友吧?你可能找不到工作,但编程工作后你很少有时间和精力去和其他女孩交往,所以如果可以的话,在毕业前找一个能与你同甘共苦的女朋友;

7。首先,工作很重要,因为你会受到一些同事和周围公司氛围的影响。我很幸运能够见到亚伦和文森特。到目前为止我最尊重他们;

  • 如何自学Android编程

最后一件事应该是科目最需要的:

1。 Android学习之路正如我之前所说,我的博客是Android初学者的必备博客;

2。书不多,适合自己的就行了。这里我推荐一本Android和两本Java书籍;

《第一行代码》:郭琳的作品,请评论我我没看过,不过郭深的博客质量很高,书也肯定不差;

《Thinking In Java》:Java经典书籍,不用说了;

《Effective Java》:高级Java基础书籍;

3。有些人一开始遇到困难就看书,然后看网络视频,将视频和书籍结合起来,边看边点击,人们可以到不同专业的网站上搜索适合自己的培训视频。

4。去现在最热门的开源社区GitHub,参与几个开源项目,慢慢尝试阅读牛人的代码。到时候,你也可以为开源社区做出贡献。可以说,在GitHub如果你努力学习一年,你学到的东西比大学四年要多得多;

6。善于使用搜索引擎。从Google入手,学习英文关键词搜索,有问题就尽快搜索。而不是去问别人;

每个人的教程都和上面一样,但人与人之间的区别就在于别人的内心更坚强。可怕的是,比你聪明的人必须比你更努力。 ! !

如果你已经下定决心并准备好继续前进,剩下的就是坚持。 。 。

很多人想推荐培训机构。而且,一方面,我当时没有经验,比较迷茫。没办法,我就去培训试试。后来通过培训我确实学到了很多东西。我转向 Android 完全是因为教育机构。所以建议去培训,因为这样节省时间,而且还可以自主学习。最终还是要看你自己的毅力;

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门