非计算机科班如何成长

记一个iOS开发者的心路历程。--两年记。

  为什么写这篇文章呢? 因为,现在要向过去告别了,真的要告别了,告别过去那种恐惧,那种非专业,业余的工作状态,以及自己对计算机粗浅的理解,仅仅停留在那种程序员天天加班很屌丝的层面,告别那种对未来迷茫,因为不懂所以不想去学,然后去逃避的那种迷茫,在两三个公司开发iOS,曾多次被人称为‘大神’,但每次听到这个称呼,心里总是一阵阵不舒服,总是很虚,很空,而我仅仅只是毫不费力地做了一些东西,而且也毫无技术含量可言,所以每次都会觉得伤感。曾经一次次想去追求的金融梦,越来越远了,又不想放弃现在的,对未知的又不敢去追求,在这样的场景下,我辞职休息了一个半月。


 如今,已经完成了一次思想的转变,心态变了,目标清晰了。

我想应该也有不少人遇到这样的困境。接下来,请听详细分解。

 从13年4 5月份左右,第一次接触iOS,可以说是第一次接触编程,对编程为何物一无所知,大学也只是学了C语言,计算机二级考试还没过,就是这样的一个状况,可以说计算机素养很差。这也有一个原因,就是大学期间一心关注金融,看的书全书金融经济相关的,当时就决定放弃计算机了。所以说,计算机基础为零。

接下来,还是从C语言学起,谭浩强谭爷的C语言教程。看吧看吧,也算可以编写一些很小的程序了,可算知道编程咋回事了。学了半个月,开始了OC语言的学习,学习阶段并不努力,也就是随便敲敲代码。循序渐进学习罢了。

就不废话学习过程了。


后来毕业后,9月份左右吧,参加工作了,人生第一份工作啊,以前连兼职都没做过,不知工作啥滋味。刚开始,可以说一无所知,最开始做的是天翼电信移动办公,一个企业级项目,刚去的时候开始了一部分,上面有一个工作四五年的经理,之前部分是他做的,搭了个架子。也是一些最基本的网络请求部分。企业级项目嘛,业务就是繁琐,复杂,请求部分系统自带的,base64 编码,DES加密,当时肯定不知道这些玩意了。第一周,接到的第一个任务是,扇形图,柱状图,折线图。刚开始,甚是慌张啊,以前从来没接触过,就赶紧找资料,学习。好在也是完成了这部分,主要就是一些企业报表数据的呈现,看看趋势销量啥的。这也算第一个有点挑战的地方了。

接下来另一个挑战的东西就是 企业邮箱模块的开发。

完全不知为何物。第一次听POP3协议,IMAP协议。其实也就是两种与邮箱相关的协议,同http,ftp一样属于 应用层协议。

邮箱模块,也完全和其他邮箱客户端类似,只是没那么智能,完善,收邮件,发邮件,转发邮件,浏览附近等等。反正前前后后也折腾不少时间。

balabala,后来就是一个复杂的业务流程了,具体做的啥,都忘了,是企业的工单 公文审批流程,ERP单据审批啥的,反正就一堆业务流程。

后来又来来一波图表方面的工作,这次比较奇葩,栈式样的柱状图,结合折线图,雷达图,一堆堆的,当时实在没有好的实现方法,用的 echarts,webview加载图表,传动态数据给页面展示。折腾了不少时间。

最后一阶段大概就是 企业的 人力资源管理,这个阶段无力吐槽了。前前后后开发调试,花了很多时间。

接口开发,接口soap协议包装数据,通过http传递,中间都要通过ESB总线,转一下,调接口阶段很痛苦,而且两边接口分开写的,咱们服务端 调用那边ESB的接口,中间无形中多了一层,每次看的时候更复杂,再加上我们经验有限。 

中间也遇到企业版发布的一些事情,苹果折腾的 iOS7.1以上必须https,itms-service协议发布的一些问题。

上面也就算职业生涯第一阶段的大体工作了,就是做的这些。大体对企业版app开发流程都熟悉了。


总结一下第一阶段,这一阶段既有对知识的不断获取,同时也经历了人生的第一个迷茫期。

这一阶段期间,看了看设计模式,看了看数据挖掘相关的知识,当然这两块基本没咋看懂,有个印象,买了书看了看。


接下来,就是换了公司,去了一家做社区O2O的公司,开始了生涯的第二阶段。

公司呢,本身是做传统软件的,新成立一个部门,做社区O2O,可以说是创业公司吧。

新部门,基本都是年轻人,差不多大,而我1年多开发经验,也算凑合,我司另外还有两个iOS开发,安卓3个,6个php,2个产品经理,2个UI设计,产品运营若干人员,一个CTO,可以说团队也很完整。

最初的时候,也是先参考了万科的企业版APP,关于物业管理的。 最初一个月,从原型设计,切图,编码,大概一个月,出了一个beta版本,也算是对最初的一个探索。物业管理,得和物业公司合作,方能行。后来又与龙湖合作,开发 物业管理APP,采用的是 h5 native混合开发模式。界面都是html css写的,业务逻辑都是js和本地交互,网路数据都是来自本地,以及存储采用的是sqlite数据库,拍照,扫码,陀螺仪,都是native端暴漏接口,文件IO也是同样,图片下载,云推送等等。html js方面的话,支持本地的文件,和下载html js文件压缩包 到本地方式,js方面基于jquery,用requirejs异步加载框架加载js文件,以防阻塞,影响页面执行速度。

之间也是遇到不少问题,由于之前经验不足,js html也都是现学的,遇到不少坑。

blablabla....

后来也一次次调整发展方向,开发方向也有所改变,微信公众号开发,业主版APP开发,商家APP开发,等工作同时进行。

就不详细叙述了。


这期间呢,思维就稍微有点混乱了,跨平台html5那一套,后端开发那一套,安卓那一套,开始扰乱我,开始陷入混乱状态,期间看了看python,看了djangoweb框架,flask web开发框架,scrapy爬虫框架,以及scikit 机器学习框架,等等,方向多的不行,一时难以把握。这时候,就暴露出计算机素养和基础差的问题了。由于对一些基础的东西把握不了,才会造成一些理解上的偏差,以为一些东西很神秘,就比如服务端开发,一直不明白啥回事。所以造成了混乱。

这期间,有一段时间,对计算机失去了兴趣,一心准备去转金融,从头开始。

经历了一个非常痛苦的过程。休息了一个月,这期间深刻反思,查资料。开始恢复,开始振作,开始回头。这一个月,我想是我人生经历的最灰暗的时期,精神上的折磨。正是这样的一个深刻自我反省的过程,让我重新找回自己。


一个深刻的体会--- 懂了就有兴趣了,明白了,就更热爱了,因为不懂就说不敢兴趣,是无知的,是懦弱的。


这个期间呢,来到了新公司,新气象。同时也遇到了我爱的人,已经健身也小有成就,自信心有了极大提高,心态也变好了很多,很平静。

在工作期间,指导同事,同时提升自己。最深刻的变化是,我意识到,既然做了软件开发,就要成为一个专业的软件开发者。 那么专业的开发者应该具备什么素质呢?这个问题,再一次摆在我的面前。从前的逃避,到如今的敢于面对,而且想去面对。

这期间,我从基本做起,一步一步了解计算机。从计算机体系结构,组成原理,到计算机操作系统,编译原理,到计算机网络,以及数据结构与算法,一一涉猎,开始对计算机这个神秘的东西越来越喜欢了,觉得没有那么神秘,觉得很有趣,也是对现实世界的一个很好的诠释。

在这里推荐一本书,深入理解计算机系统,这本书很全面,读完有一种醍醐灌顶的感觉。

数据结构方面呢,看的基础的书,大话数据结构。

计算机网络方面呢,http权威指南,TCP/IP协议卷一 卷二 ,

编译原理:龙书,程序员的自我修养。

操作系统:现代操作系统,Mac OS X/iOS 内核编程。


最后一句话: 不断超越自己。 这是我所理解的成功。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值