我的编程之路

我有一个故事,讲出来姑且博大家一乐。

我有一个朋友,在这普通的一天,他穿着普通的鞋很普通地走在这普通的街,掏出普通的电脑,学点普通的Java…也许是皂滑弄人,他并没有在身边人中找到合适的引路人。所以他决定自己一点点去学,他搜索到了大量的参考资料,可是也正是因为大量的资料让他无从下手。他不知道哪些内容是重点,哪些内容已经过时。

所以在那段日子里,他快乐又纠结。快乐是因为他找到了自己感兴趣的东西,纠结是因为他进步的很慢很慢。因为一切都不成体系,一切都是一个点,而且没有人告诉他怎么点到线,线到面…那时候的他甚至不知道他所连接的数据库能干什么。

随着移动互联网时代的到来,他觉得写App非常的有趣,也正是这个有趣,甚至可以说改变了他的人生轨迹。就是这么的随意,在他Java还没有学明白的时候,就直接进入了Android开发这个坑。他说那个时候还是Eclipse的时代,能找到的资料全是基于Eclipse,那个时候的AndroidStudio写五行代码,出四个错误,有三个是IDE的错。然后兴趣没有人给他带来幸运,这条路依然孤独。他想尽一切办法去搜索相关的学习路线,然而事与愿违,混乱嘈杂的学习博客,让他走了很多弯路。那个时候的他,都不知道网络框架能够做什么,计算机网络?HTTP请求?什么鬼东西?后来他想尽办法去学习了后台的知识,这才解决了他的困惑,而这个困惑差不多困住了一个月的时间。然而这些对于过来人恐怕只是一句提点。

随着一些内容的逐渐了解他也渐渐的总结出了一套他自己的知识体系。再往后一切就变得有些顺利了,因为这条孤独的路上,逐渐出现了同伴的身影。他们共同努力共同进步…那段日子他们都很快乐,学习效率也很高。

好景不长,转眼到了大三结束的日子,彼此要开始准备实习了。这里他们吃了没有经验的一个最大亏。那个时候的他们甚至以为学历才是决定秋招的唯一门槛。当他们明白并不是这样的时候,已经只剩补招了。所幸,那个时候的受技术开源精神的影响,已经有很多高质量的博客,来帮助他们了解到正确的学习成长路线,当然面经就是其中浓墨重彩的一笔,正式因为面经的出现,让他们知道自身的不足,以及让他们这群始终生活在
象牙塔的孩子们,了解到外边的开发世界~让我把他的故事停止在眺望外面世界的时候吧。

我猜已经有朋友明白,故事中的他其实就是我自己。没错,后边的故事,就让我把它叙述完吧。

我不喜欢算法,虽然我参加过很多算法比赛,甚至有的走到了国赛的程度。但我依然不喜欢算法。参加只是班里实在没人参加,被逼的而已。

也正是因为这个原因,我没有正经的写过校招的笔试题,而我接到的大公司的面试,基本都在补招中。

最开始,我并没有把目光投到大公司,原因上文已经提到了,以为自己的学习没办法叩响大公司的门。

所以自己大三结束的暑假只身来到了北京,开始自己的实习之旅。面试经历比较的顺利,当时找到了自己满意的公司(一家很小的创业公司)。

很巧合的是,又一次技术分享,我们CTO问了个问题:让我们谈一谈对于面试热,很多面试者热衷背面试题,而不愿意深入学技术的现象的看法。

我当时回答了上边那个故事,我说正是因为有面经,让我这种一直生活在大学校园的准开发人员了解到了真正的企业级开发需要什么样的技术人员。也正是面经,我才能知道怎么从毕业生转变为开发人员…

CTO认同了我的观点,反问我:“你知道当初为什么让你面试过了么?你打动我的是你的思考能力,虽然有很多问题你不知道,但是你敢于用你已经的技术体系去尝试解释这个问题,让我觉得很有想法。”

我瑟瑟发抖的问了一句:“潜台词是不是意思,我技术不行。”
CTO:“呦,又发现你一个有点,对自己的缺点定位的很准!”

CTO:“其实最开始我做面试官的时候也很反感大家热衷于面经的现象,因为一不小心就翻车了。后来我思考一个问题,我竟然连一个背面试题的人都没办法筛选出来,到底是他再背面试题,还是我技术深度不够?亦或者他就是会?再后来我找到了我自己的面试风格,那就是面试者是否有足够打动我的有点。即时是背面试题,如果这个人背的很好,很深入。侧面难道不说明他是一个很刻苦的求职者么?其实我说了这么多就是想传达一个观点那就是要善于发现别人的优点~”

后来的我因为公司经营的原因,离开了。但是CTO教会我的东西恐怕难以估量。离职后和一些同事吃饭,听到他们私下里给CTO起绰号:
仁慈的王者。感觉特别的形象。

文笔很乱,叙事也很糟糕,就当时繁忙一种后的一点放松吧。

最后附上我的一路走过来的Android学习路线:
开始是自己稍稍学了一些java基础(当时是什么水平,这么说吧,都不知道反射和注解能干啥),然后直接跳进安卓这个坑。最开始是在慕课上看关于安卓的基础视频,现在应该也有,不过是基于eclipse的,不过无所谓,只是ide的差距而已(但是的确需要了解一下eclipse和androidstudio在构建工程上的区别)。这里我个人认为这一步也可以选择不看视频,可以直接看书,因为《第一行代码》第二版是基于androidstudio的。(开发工具一定要用androidstudio,一定要用,一定要用……不要因为网络教程都是eclipse就用eclipse……)

这里必须要提一句,关于看官方文档的问题,我个人来说,零基础刚开始就去看文档并不友好。不过有一定基础之后,还是要多看看文档,因为毕竟官方文档才是最佳的学习资料。

入门安卓,无非是那几个基础UI控件的使用,对于初学来说,有些难度的应该是RecyclerView/ListView。这些控件能熟练使用。可以尝试网络请求结合这些控件做一些简单的应用。
有了网络请求,那么就会考虑缓存,这里就去了解了本地数据库,也就是sqlite,本地写sql语句太麻烦,这时就考虑使用这类的框架去简化这个操作。

这一系列过程你一定会遇到Service,Broadcast的使用,那么这个时候借助使用的机会,好好学一学四大组件。

这部过后就会考虑到更炫的动画更酷的UI这时就要学自定义控件。
为了更方便的请求网络,当时用了很多框架比如最早的volley,到现在的okhttp,retrofit等,那么这个过程,我发现我在java基础上的不足,这时反过头去了解注解和反射的时候就会发现原本语法的东西就会变得特别形象。

后来做音乐播放器的时候,需要跨进程。这里又开始跨进程通讯的当时,比如最常用的aidl。

再往下对我来说,我也是再摸索中学习,以后有我认为可以总结的内容再补充吧……

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值