我擦,我又被裁了,对此我想说:35岁大龄程序员,你的经验对得起你的工作这么多年吗?

发布于:2023-03-12 ⋅ 阅读:(85) ⋅ 点赞:(0)

前言

25 岁的年轻人,可以说处于一个经验有些积累,可以胜任主流开发任务甚至设计任务的阶段。那么 35 岁的你,和他们比较,十年的经验足够让你得到哪些优势?

  • 你的开发效率是否是他们的三倍以上?
  • 你的打字速度是否比他们快?
  • 你创建一个项目,加入所有需要的框架,然后马上跑起来的时间是否比他们短?
  • 你是否对错误信息只需要瞟一眼就知道问题出在哪里?
  • 你调试问题的效率是否比他们高?
  • 你是否经常看到自己的代码还有改进的余地?
  • 你是否能熟练使用三种以上的数据库访问框架?
  • 你是否能熟练的部署和运行三种以上的完全不同的数据库软件?
  • 你是否了解完需求就已经想好了项目的架构,脑子里已经完成了技术选型?

——如果这十年没给你带来一丁点经验,那肯定是有问题的。

35岁Android程序员应该具备的能力!

Android
作为好的安卓开发,首先明确Android是前端,重点是UI,做出稳定的应用是关键。

1.做出稳定的应用是关键。

作为好的安卓开发,首先明确Android是前端,重点是UI,掌握自定义view。

2.建立知识体系

很多人对Android属于一知半解的状态,鼓励去Stackoverflow之类的地方寻找问题的解决办法,但务必了解内在的机理,达成对知识理解的体系,当你建立了一个体系,很多问题就不在复杂,软件开发是precise engineering,不是凭运气。

举个例子,面试的时候,我喜欢挑战面试者一些很离谱的题目,比如,在一个EditText里面,你输了一个字母“A”,这个A是经过了多少安卓特有的流程才能显示到屏幕上的。 初看这是个无聊的问题,大家往往会觉得,这是理所当然的事情,其实不然,这个问题考查了你对view layout/measure的理解,对rendering的理解,对drawing的理解,如果面试者能答出来这个问题,那我一定不担心你会写出卡顿的安卓代码。

刚开始做Android开发的时候,我也答不出这个问题,但几年之后,渐渐养成了一个体系,充分贯通这些“不必要”的细节,我私以为这是个资深程序员必备的条件,什么性能优化都是水到渠成的事情

至于其他的技术,比如video streaming,取决于你是想成为某个领域的专家,还是解决问题的能手,如果是后者,你需要良好的数据结构+算法+读代码+读文档的能力,在短时间内了解优秀的解决办法, 然后加以利用,做软件工程不是读PhD,先把需求解决了,再看怎么提高。

3.数据结构算法,源码,原理机制

很多人推荐了各种书,对于Android开发,很好的资源莫过于Google的官方视频,他们指引了正确的方向让你深入了解Android的UI构建和运行机制。见过许多写了很多app,但是不明白其中要点的程序员,我只觉得失望并担忧。当然,既然要做前端UI,黑魔法少不了,学习日新月异的编程思想,Dagger/React等等

如果身在团队中,建立良好的学习氛围,鼓励交流,同时在被产品经理和设计师折磨的时候,理解他们,帮助他们理解Android开发特点

4.学习新技术,NDK,flutter
新技术更新很快,很多人担心跟不上被淘汰,其实大可不必,Android只是个解决问题的工具,你需要一个时刻准备用这个工具解决问题的知识体系,换了一个工具也是一样的。比如跨平台开发技术都是殊途同归,手机没被淘汰,Android开发就不会被淘汰。

另外关于NDK开发,音视频,微信小程序,Flutter跨平台技术等等。其实严格来说已经可以算独立出Android的技术面了。但是却又息息相关。因为企业招一个Android开发,肯定希望他能同时掌握其它的技能,减少用人成本。所以这些技术也需要去学习掌握。

思维导图来一波

需要高清版可以点击我的【GitHub】获取!里面还有学习路线以及大厂真题面筋哦!觉得不错记得点个star!

如何获取免费架构学习资料?

资料获取方式:

如果需要PDF版本可以在群文件夹里,自行领取!

进阶学习视频

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到