软件工程专业,但专业课也就低分飘过。大学参与了个学生项目——介绍我们学校的,Android 的,主力开发。但回过头看看,除了大图缩放拖动展示做得有点意思,整个代码架构像屎一样。
第一家公司是接政府项目的,android,半年。14 年 6 月。
前几个月很闲,让我熟悉项目,自己找活干。因为觉得公司的主力产品 App,里面那种 9 宫格式的主页太古董了,自己做了个 ViewPager Demo。
之后觉得里面上传图片时,选择图片不方便,又自己开发个图库(功能类似微信选取图片那种,有个缩略图网格,点开能看大图,勾选 9 张)。但,这个图库总是解决不了高清放大的问题,而且哪怕解决了 OOM,内存占用还是很大。没用上。
最后在这家公司留下的,就是一个分配多级联系人的递归算法(感觉还是挺耗时的,不知道后面有没有被删掉);还有一个简单的打卡 App,供内部考勤打卡使用,带百度地图 API 的定位功能,针对外勤人员的。
在这里,我觉得我提升了代码结构。
第二家公司 创业公司。有同学在里面干 php,向技术老大推荐我,老大直接过来拉人。当时觉得能够学到东西,能快速成长,就入坑了。15 年 1 月至今。
一开始还参与头脑风暴,畅想以后要开发的 app,设计各种功能。但最后原生开发还上线的,只有一款 app,给商户使用的,可以验券、能看订单,后期还加了结算,日志之类的功能。Android 部分,我独立开发。
viewpager,扫码功能(网上复制的,改改样式,抽取封装),升级模块,volley,下拉刷新(自己写的 view )、极光推送、个推。
给我留下印象就这些。
这个项目,代码结构、设计模式、抽象类,零零总总的,提升了不少。
过了一段平缓的维护升级时间,我等着头脑风暴时出了不少点子的 App 立项。结果,还没有新项目,只是说要搞混合开发,要把之前我做的 App 做出混合开发的。
15 年,AngularJs1,学了个网上的简单 7 步教程,找了个 ionic,试了几个 demo,就开干了。html+css 全是美工做的,我就负责 js 逻辑。还有写 cordova 插件,连接 web 和原生,让 web 可以调用原生功能。踩了不少坑,用 ionic 打包出来的 apk,手机装上启动后,完全卡主,点哪都没反应。加了个第三方 webview 内核,crossWalk,才解决,但一个 apk 要 40M 起步,更神的是我们就这么上线了。
就照着这个模式,又上了一个给地面推广人员用的 App。
哦对,还在原先升级 APK 的升级模块的基础上,加了个升级 web 部分的热更新功能。Android 实现的。
中间家里有事,回去顶了 2、3 个月。
等我回到公司,iOS 的除了维护混合项目的 web 部分以及 iOS 部分,还在负责开发微信商城。
我接手了混合项目的 web,之后弃用了 ionic,直接 AngularJs + cordova + 原生。
我开始闲,开始迷茫,这时候是 16 年中了。
结果,我没有跳槽、没有提升技术,而是开始混日子,出 bug 就改,提需求了,就做,每天都能踩点上班,准时下班。不像以前一样 8、9 点下班是正常,11、12 点也没问题。
然后看小说,学吉他,健身减肥,78kg 干到 68kg。
现在想想,那时候要么走,要么主动参与到微信项目上,也不至于现在要发求助帖。
到 16 年底,公司来了个前端组长,我也正式划入前端组。当时觉得有个前端组长带着,不用像以前一样自学,应该好一些。
埋头干了 1 年多的前端,参与了几个前后端分离的后台系统项目,web app 项目,包括继续 cordova 打包。最后觉得我还是没什么提升。
一个是公司用的前端框架很小众(具体可以看这个
http://www.cnblogs.com/yexiaochai/p/3837713.html ),主流的 underscore、zepto 这些通用工具有用上,但,框架上,流行的 Angular、react、vue 我都不会。虽然有自学了一点 vue,但没有用到工作上,感觉提升比较有限。
还有一个是,项目架构是组长搭起来的,我就写写业务逻辑,之前底层简单的看看,没深入了解,这个月才又捡起来这回事。
html + css 还是不精,让我 copy 一个页面,有百度支持,能做到,但是会慢一些。因为有配置好的 css 库,新 html 复制旧的 html 改改就好了,虽然有碰过要自己写 css 的,但对这一块还是没底气。
造成现在的局面,很大部分原因在我。说到底还是我没主动学习?
目前的改变是尝试优化自己的代码,做笔记。
感觉变成一个回忆贴了。可能带有主观部分,我已经尽量删改一些推卸主观原因的东西了。
现在问题来了:
我知道我还没吃透现有这套前端技术,但,吃透一个小众的框架,有用吗?
我应该跳槽到一家使用主流技术的公司,还是在这家公司继续写业务逻辑,然后靠一点业余时间自我提升(目前加班多)?
但又有一个问题,我想跳,但就这水平,android 已经生疏,前端又不会流行框架,很尴尬。
求建议。
也接受批评,因为我知道这局面是我自找的。