当前位置: 首页 > news >正文

【软件开发】做出技术决策

文章目录

    • 专注于核心业务
    • 除非绝对必要,不要重写代码
    • 保持技术栈简单
    • 尽量减少依赖
    • 避免范围蔓延
    • 按照业务实际情况确定优先级
    • 在做出高风险决策前构建原型
    • 跨职能团队协作
    • 信任你的团队

在过去的二十年里,我曾在多家初创企业担任软件开发人员、技术负责人以及首席技术官(包括创办自己的公司)。在这个过程中,我积累了一些用于重大技术决策的原则。这些原则大多是通过实践中的教训得来的。虽然你可能并不完全认同所有原则,但我希望其中的一些能对那些在艰难技术决策中挣扎的人有所帮助。

专注于核心业务

在实现一个新功能之前,首先要问自己,这个功能是否属于公司核心业务的一部分。如果答案是否定的,那么你应该寻找第三方库或工具,最好是开源的。如果市面上可用的选项无法完全满足需求,可以考虑自行开发,但前提是要进行仔细的成本收益分析。尽可能避免写新代码——最好的代码就是不需要写的代码。

举个例子,当我加入 Faradai 时,公司已经拥有第一版能源管理软件平台,并成功服务了客户。虽然平台总体运行良好,但其自定义的 Web 前端框架 AML 使用和扩展起来非常困难。

由于 AML 是公司内部定制的框架,外界开发者对其完全不了解,因此我们必须对新开发者进行培训,才能让他们具备生产力。更糟糕的是,一些开发者抱怨学习的 AML 技能在其他地方完全用不上,他们的抱怨是有道理的!

对于初创公司而言,市场响应时间至关重要,而培训新开发者的过程让我们放慢了脚步。如果我们使用的是流行的前端框架,比如 React 或 V

http://www.lryc.cn/news/505208.html

相关文章:

  • Airborne使用教程
  • WPF实现曲线数据展示【案例:震动数据分析】
  • EasyExcel 动态设置表格的背景颜色和排列
  • 【 C++11 】类的新功能
  • 防止SQL注入:PHP安全最佳实践
  • 自动化生产或质量检测准备工作杂记
  • 张志辰医生
  • CodeMirror 如何动态更新definemode
  • 舵机SG90详解
  • 程序设计考题汇总(四:SQL练习)
  • 明达IOT平台助力工业废水运维智能化
  • 深入理解 Ansible Playbook:组件与实战
  • JavaEE初阶——多线程(线程安全-锁)
  • Stable Diffusion 提示词语法
  • 【功能安全】安全确认
  • 在pycharm2024.3.1中配置anaconda3-2024-06环境
  • linux不同发行版中的主要差异
  • 概率论得学习和整理29: 用EXCEL 描述二项分布
  • C++打造局域网聊天室第九课: 客户端队列及其处理线程
  • 请求go web后端接口 java安卓端播放视频
  • XML Schema 复合类型 - 混合内容
  • 第8章 搬移特性
  • ARM/Linux嵌入式面经(五九):海尔
  • java中的List、数组和set
  • freeswitch(配置文件结构)
  • ARMS 用户体验监控正式发布原生鸿蒙应用 SDK
  • 使用 esrally race 测试 Elasticsearch 性能:实践指南
  • OkHttp源码分析:分发器任务调配,拦截器责任链设计,连接池socket复用
  • 中国计算机学会计算机视觉专委会携手合合信息举办企业交流活动,为AI安全治理打开“新思路”
  • 重生之我在异世界学编程之C语言:深入预处理篇(上)