“我天天curd,怎么才能成长,5分钟搞定

“天天在那curd,能有啥出息”

“你就是一个curd boy”

“就你叫curder啊”

“你不写代码,你只是代码的搬运工”

上面几段话,程序员是不是经常听到或者看到。这几句话说明了什么?

  • 高度概括能力:用几个单词组合,就概括了多数程序员日常的工作情况。

  • 自嘲:自嘲有时是一种乐观的品质,用一种调侃的方式来看待自身情况。

  • 乐观:上面说了,自嘲是乐观表现之一,但这种乐观中带着些许无奈。

所以说,程序员还是很可爱的一群人儿。

除了“自嘲”外,我们是不是应该多想一想,是不是应该多分析一下原因,是不是要找出一些方法,来改善“天天curd”这种状况。

分析原因

没有意识到

自己刚开始做的时候,可能没有意识到这种情况的存在,久而久之,你才慢慢意识到了这种情况的存在。但是,时间已经慢慢流逝了。你要尽早意识到这种情况。

天天加班

每天任务都很多,老板还爱催时间,导致天天加班到很晚,回到家就很累,只想上床睡觉,根本没有心思想这些,哪有时间去改进。从而就造成一个死循环,没有时间琢磨,改进程序,每天继续重复写代码,回家睡觉。明天,又重复同样的事情。

业务代码

“我就是底层天天写业务代码的,不curd我还能干啥。” 这里不要把写业务代码和curd相混淆了,写业务代码并没有什么不妥,它是创造价值的地方。多数公司都是靠程序员写出的业务代码形成的功能来服务客户赚钱。我所说的是不要天天curd,自己要动脑袋想一想,能否有更好的方法改进代码写法,提高产出的效率。这是你创造价值的一种方法。

没有方法

有的人自己知晓这种情况的存在,苦于没有找到好的解决方法,无法打破这种魔咒。下面我说出一些方法,欢迎大家留言讨论。集思广益,共同探讨,找到更多,更好的解决之道。

解决方法

前1、2两种情况(没有意识到、天天加班)

第一种情况:当然是你要尽快意识到这种情况,不要浪费太多的时间。“你还年轻,还有时间” 这是一句安慰的话,不要轻信,时间是用一天就少一天。熟练了curd之后,就要自己琢磨向更高层次进发了。

第二种情况:就要评估下,是自己工作效率问题,导致加班到很晚,还是分配的任务确实过多,如果是任务确实过多,超过了自己负荷,那么就要向领导提出来减少任务,如果不行,那么考虑跳槽到好一点的公司。

后3、4两种情况(业务代码、没有方法)

后面2种情况的改进方法,也可以作用于前面2种情况,改进前面2种情况。

复用

“复用”的思想。大家在平实的开发中,应该经常会碰到这种思想。比如java语言,“一次编译,到处运行”,这就是一种复用的思想,编译一次之后,可以在多个平台运行代码。

那我们开发时候能不能用到这个思想,“一次开发,多处运行”。而不要做那种ctrl+c,ctrl+v的选手,“一次开发,到处copy”,这样到处copy,重复代码多,那么代码维护起来肯定困难,如果想修改,就要修改多处重复的代码。有什么改进方法?

能不能更好的抽象复用?经常的这样想一想,促进自己改进,成长。还有一个好方法:去看设计模式的书籍,比如大话设计模式。

重点:抽象复用,不断改进,促进成长。

向上

向上,就是向上思考。找到为什么要写curd?它产生的价值在哪里,有没有可以改进的地方?你做的这块越来越好后,上面会给你更大的责任,让你负责更多任务,如果你做的继续超出预期,那么你很有可能,以后会负责更多,拥有更大的抉择权,包括技术的选择。这时你也许会脱离curd初级阶段,进入程序设计,研发管理的进阶阶段。

有的放矢

有的放矢就是要找到自己的那个“的”,也就是目标。那怎么找到自己的目标?

很多人告诉你,要结合自己优势、兴趣等,然后在纸上列出一个清单,在根据自己列出的清单去寻找自己的目标。

还有的告诉你,列出一大推要学习内容,从java基础到Android进阶。这种方式不是不好,是学习的内容太多,而学习是一件反人性的事情,太多就容易累,也很难确定自己的阶段性操作目标。

我这里给一个简单可操作的方法:找自己心仪的公司。怎么说?就是自己心里想一想,盘算盘算,自己心仪的1到2家公司是哪2家,不要太多,太多精力会分散。找到了之后,去官方网站或者招聘网站,看它的招聘要求,根据上面的岗位要求,找出自己需要学习的内容,列出一个清单,制定学习计划,然后执行计划。这时才是像上面所说,找出基础到进阶等需要学习的内容。要有目标感的学习,才是好的方法。

这样就可以了吗?不一定!你按计划学习了2到3个月之后,去其他公司面试下,检验一下学习成果,然后根据面试结果,在回来调整学习计划。继续学习,学习半年后,这时可以给心仪公司投简历,或者找人内推,再次检验学习的成果。

如果面试不上心仪公司怎么办?不要怕,一次不行,接着调整学习计划,继续学习。很多情况下,不是一次就能成功,那就多试几次。要有屡败屡战的精神。

有的人说,简历投递有时间限制?那你可以投其他部门,还可以说明情况找人帮忙内推。总会有办法的。再一个面试前,可以看看其他同学的面经,学习学习,不打无准备的仗。还有,如果真的面不上,可以退而求其次,去找一个二级公司,把这家公司当作一个跳板,然后再去努力学习,来年再战。

深入方法

说实话,我自己是做Android开发的,从一开始每天的curd再到现在成为一名阿里p7工程师,我花了整整4年的时间。我自我觉得自己也算是那种不是很开窍的人,从10多个人的创业公司到如今的阿里,也没有别的方法,就是不断的尝试,试错,复盘,改变。争取掉过的坑,不要再掉进第二次就算是一种成功。

一次次的总结复盘,也是必不可少的。在我“进化”的4年里,我也整理归纳了一套我认为适用于进阶Android高级工程师的一套学习体系路线及笔记。如果你已经决心改变,这些或许能给你一些思路和帮助!

  • 架构师筑基必备技能

目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。

知识要点:

1、深入理解Java泛型

2、注解深入浅出

3、并发编程

4、数据传输与序列化

5、Java虚拟机原理

6、高效IO

架构师筑基必备技能

  • 设计思想解读开源框架

随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。

所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。

知识要点:

**1、热修复设计

2、插件化框架设计

3、组件化框架设计

4、图片加载框架

5、网络访问框架设计

6、RXJava响应式编程框架设计**

设计思想解读开源框架

  • 360°全方位性能调优

在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。

另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。

1、设计思想与代码质量优化

2、程序性能优化

  • 启动速度与执行效率优化
  • 布局检测与优化
  • 内存优化
  • 耗电优化
  • 网络传输与数据储存优化
  • APK大小优化

3、开发效率优化

  • 分布式版本控制系统Git
  • 自动化构建系统Gradle

4、项目实战

  • 启动速度
  • 流畅度
  • 抖音在APK包大小资源优化的实践
  • 优酷响应式布局技术全解析
  • 网络优化
  • 手机淘宝双十一性能优化项目揭秘
  • 高德APP全链路源码依赖分析
  • 彻底干掉OOM的实战经验分享
  • 微信Android终端内存优化实践

360°全方位性能调优

  • Android框架体系架构
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值