十年大厂经验总结,给Android开发者的几点启发性建议

作者:大飞哥
“垃圾的业务逻辑!!!” 估计很多程序员在刚接触一个新项目的业务代码的时候 , 都会在心里骂娘 , 说不准已经把前几任维护者的家人都给问候了一遍 。
在我自己的职业生涯里面 , 也遇到过不少写得跟 “屎” 一样的业务代码 , 但业务代码 , 业务逻辑是一个程序员不可避免要接触的东西 。
按 “二八原则” ,估计有80%的程序员是业务开发 , 而事实上 , 我觉得这个比例可能要到90% ,毕竟系统工程师 , 基础架构工程师 , 业务组件开发工程师等纯技术的岗位是很少的 , 当然这些 “纯” 技术岗位 , 也非完全不接触业务 , 只是上比例更少而已 。
十年大厂经验总结,给Android开发者的几点启发性建议文章插图
可以说 , 90%的程序员 , 职业生涯里80%的时间都是在跟业务打交道的 , 所以我们很有必要探讨一下这个话题 。
第一次看我文章的小伙伴可以关注一下我 , 每天更新各种技术干货 , 分享更多最热程序员圈内事 。
技术服务于业务纯技术驱动的公司 , 我觉得是不存在的 , 只不过有些公司的技术氛围会更好 , 技术人员的决策权会更大 。
在目前的市场上 ,产品+技术 ,市场+技术 是比较正常的企业结构模式 , 至于技术人员在不同公司里面权重的大小 , 就要看具体情况了 。
【十年大厂经验总结,给Android开发者的几点启发性建议】像腾讯是产品驱动的公司 , 阿里是电商 , 更多由市场驱动 , 一个是消费者市场 , 一个是商家市场;拼多多跟阿里类似 , 头条其实也是产品驱动的公司;美团由消费者市场驱动 , 小米卖的是产品 , 百度的搜索由消费者驱动 , AI由企业市场驱动 。
十年大厂经验总结,给Android开发者的几点启发性建议文章插图
当然 , 这里不是说技术就只能从属于其它岗位了 , 目前很多企业对技术人员的重视度是越来越高的 , 而技术人员在实际工作中的决策权也在加大 。 我觉得这个跟技术的发展有关 。
比如说 , 目前在市面上火爆的推荐型产品 , 如头条 , 抖音 , 技术在里面的决策比重就要比一般性产品的高 。 这个很好理解 , 因为产品形态本身就很依赖于技术 , 虽然产品的交互体验 , UI 设计依然很重要 , 但最关键的还是你推荐出来的东西 , 用户有没有兴趣 , 而推荐这部分 , 就是技术驱动的 。
还有一类是 AI型的产品 , 比如商汤科技 , 沐瞳科技这类 , 他们销售的是自身的AI能力 , 虽然还是市场主导 , 但技术在里面会有更多的决策权 。
未来 , 我相信随着技术的发展 , AI化的产品会越来越多 , 技术人员在里面的决策权也会越来越大 。
另外 , 随着存量时代的到来 , 从增量市场进入到了存量市场 。 增量时代比拼的是快 , 存量市场比拼的是品质 , 这里的品质包括产品品质 , 也包括企业品质(高效的运作模式) , 这必然对技术提出更高的要求 , 技术人员在决策上的比重也自然会增加 。
踩坑 , 阅读恶心的业务逻辑代码 , 是不是一件有价值的事情?以上依然是不可避免的一件事情 , 在你实际面对那些恶心的业务逻辑代码的时候 , 你必定要吐槽一番 , 然后开始陷入深深的自我怀疑:"我这是在干什么?简直是在浪费时间!"
12年做存储的时候 , 我们遇到了一个问题 , 存储系统搞完了 , 却没有业务愿意接进来 。
他们说 , 你的系统不稳定 , 而且性能也没有特别好(早期版本) , 为什么要接?
以上的反问 , 我也无可辩驳 , 但项目还是要向前推进 , 后来我们决定这些事情都由我们自己来搞 。
于是我找了具体业务的负责人 , 跟他们说 , 我们来修改业务代码接入新的存储系统 , 中间过程如果出了问题 , 责任都算我们的 。
第一批的业务 , 就靠这种方式推动起来了 。
后面 , 我加入到业务团队后 , 第一接手的 , 是个核心但却恶心的业务系统 , 当时那个系统极不稳定 , 经常出问题 , 但上面下了死命令 , 你们就是要搞好 , 要不 , 你们团队就没有存在的价值!
于是噼噼啪啪 , 整了两个多月的时间 , 重构了很多的业务逻辑 , 才慢慢好起来 。
我的实际经验是:踩坑 , 看恶心的代码本身 , 不会产生很大的价值 , 但是踩坑的过程中获得的经验 , 看恶心代码 , 修改恶心代码的过程中获得的负反馈 , 却极有价值 。
它们虽然没有给你展示什么是好的 , 但是给你展示了什么是不好的 , 这过程中 , 你会慢慢明白 , 你应该怎么做 , 才不会重蹈前人的覆辙 。