想成为全栈工程师,要做到哪几点?( 二 )


而设计出好的代码需要的先决条件 , 也是和前面的基础部分的掌握完全匹配的 , 基础越好 , 设计得也越好 。
总结:

  • 优秀的设计不仅做出的系统可靠 , 设计得也简单清晰易懂 。
  • 写的时候没有负担 , 维护的时候也没有高昂成本 。
避免陷阱
全栈不代表降低要求 , 全栈是为了提升开发效率 , 如果质量差 , 不好维护 , 反而降低了团队效率 。
  • 避免只是多涉猎 , 而缺少实战 , 看过不等于会运用 。
  • 能写全栈不代表写出的代码能上生产环境 , 避免给自己下意识地降低要求 , 写出的代码质量不过关就违背了全栈的初衷 。
成为全栈工程师的好处掌握前后端服务端全链路知识体系和核心知识点
  • 提高研发效率 , 提升解决问题能力 , 提高排查问题效率 , 可以快速侦破问题 , 及时处理问题 。
能理解不同岗位的同学的诉求
  • 后端同学:能理解为什么前端同学会对接口字段提出很高要求 , 期望后端提供的接口按照开源社区的标准来定义(好的接口是自说明的 , 不用过多的文档 , 遵循业界 API 设计规范 , 使用接口符合人的直觉 , 接口字段稳定) 。
  • 前端同学:能理解为什么后端同学不愿意轻易写特殊逻辑判断(一套模型已经定义得很优雅了 , 加个特殊分支就破坏了代码的一致性) 。
  • 研发同学:能理解为什么运维同学不愿意轻易给运维权限(底层运维一旦操作不当 , 做成的破坏力太大 , 需要深厚的技术积累) 。
知识面不全面的反例真实的反例:全栈有助于减少低级错误的出现 。
  • 这里的例子都是我曾经参与解决过问题的 , 过程中我看到的是:这些都不是什么高深的问题 , 这些都是由于知识面不全面才发生问题:
  • 应用服务上线 , 服务器配置 nginx 代理线上 CDN , 返回 502 了 , 开发和 SRE 一起排查下来是没有开公网访问权限(原因:应用 owner 不熟悉网络知识和运维体系 , 没有和 SRE 打好配合) 。
  • 前端域名和后端域名不同 , 浏览器请求失败 , 因为有跨域问题(原因:不熟悉 HTTP 协议中的 header 运用) 。
  • 后端接口名字设计有歧义 , 不规范 , 不满足 RESTful API 规范(原因:不熟悉基于 HTTP 协议的规范 , 本质上是 HTTP 的 中 method 的运用) 。
  • 其他例如 websocket 问题 , 前端性能优化 , 缓存相关等问题排查效率低(原因:绝大多数跟不熟悉 HTTP header 有关) 。
最后我始终觉得全栈不是认证证书 , 不需要有人给你做认证 , 当你能获得不同技术栈的同学的信任时 , 就是对你最大的肯定 。
【想成为全栈工程师,要做到哪几点?】来源:阿里云开发者社区


推荐阅读