65.9K
CodeProject 正在变化。 阅读更多。
Home

构建一个出色的 Web 应用程序所需的 12 项技能

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.85/5 (9投票s)

2014 年 11 月 11 日

CPOL

5分钟阅读

viewsIcon

13263

以下是构建一个出色的 Web 应用程序所需的 12 项技能列表

IMG_4515

那么,你知道如何构建一个 Web 应用吗?

敏捷方法论都在谈论“跨职能团队”,但如果你看看绝大多数敏捷团队,他们可能拥有以下“角色”:

  • 开发版
  • 测试员
  • 分析师

偶尔会加入一个平面设计师。虽然跨职能技能是正确的想法,但我们往往会忽略一些关键技能。

像这样的技能

基础设施自动化

如果你构建了一个 Web 应用,你应该负责运行它。

基础设施自动化和管理应该在团队内部进行。这能让你体会到你的应用在运行过程中有多么容易或困难。

主要职责

  • 自动化应用部署(是的,即使是移动应用)
  • 自愈合基础设施
  • 测试驱动基础设施
  • 12 因素应用

社群建设

如果你不知道你的客户是谁,或者更糟的是,如果你还没有客户,你怎么知道你构建的是正确的应用?

在你编写任何代码之前,你就应该开始与你的社群建立对话。

主要职责

  • 了解你的用户在哪里
  • 理解你的用户
  • 理解你为什么要做你所做的事情
  • 向用户阐述你为什么做你所做的事情
  • 首先给用户提供有价值的东西
  • 为你的应用制定和执行发布策略

编程

这是一个显而易见的问题。我想说的是,开发者需要更多地关注原则而非技术。你也应该不断地获得视角

主要职责

  • 构建最简单的负责任的解决方案
  • 选择满足用户需求的技术
  • 对架构有战略性的展望
  • 明白你一开始可能会构建错误的应用
  • 写出优秀的代码!

文案写作

在构建移动和 Web 应用时,文本仍然是最重要的沟通媒介之一。你应该像对待代码一样,认真打磨产品中的每一个句子。

主要职责

  • 说客户的语言
  • 讲述你的故事
  • 为什么比什么更重要
  • 简洁
  • 清晰

数据可视化

视觉系统是迄今为止人类可用的最高带宽信息通道。良好的数据可视化优化了这个通道。使用 3D 饼图会用垃圾数据堵塞它。

你宁愿做什么?

主要职责

  • 理解你的 Web 应用中的数据
  • 理解你的用户需要获得的见解
  • 应用数据可视化理论将数据转化为洞察

用户体验

仅仅因为你喜欢它的外观,并不意味着它是 Web 应用的最佳工作方式。设计只有在有用、可用和令人愉悦时才算好。如果你想了解更多,我写了一篇关于如何学习用户体验设计的资源指南。

了解事物在现实世界中如何运作的唯一方法是观察人们如何使用它。

主要职责

  • 纸质原型
  • 可用性测试
  • A/B 测试以改进现有功能(这在移动应用上更难)
  • 使用指标做出明智的决策

商用版

为了优化影响和收入,你需要了解资金的来源和去向。获取新用户的成本是多少?他们需要使用你的应用多长时间才能赚回这笔钱?

你的主要成本在哪里?你是否优化了应用的正确部分以限制成本并最大化收入?每个 Web 应用都不同,你需要了解你的应用是如何独特的。

主要职责

  • 了解你的业务如何盈利
  • 功能优先级排序
  • 了解成本的来源
  • 了解竞争对手在做什么
  • 寻找创新的方法来最大化收入和最小化成本

创新

不创新就灭亡!

这是硅谷的格言。如果你希望你的 Web 应用在全球舞台上具有竞争力,你就必须信奉它。

主要职责

  • 降低失败成本
  • 挑战传统思维
  • 拓宽可能解决方案的范围

分析

这是另一个比较传统的角色。你需要深入了解事物的运作方式。彻底理解用户需求,并考虑所有边缘情况。

主要职责

  • 理解和优化业务流程
  • 理解和优化客户工作流程
  • 法律要求

设计

你是否尽力而为?

人们会对你的 Web 应用的质量做出快速判断。你需要非常确定他们会留下良好的第一印象。幸运的是,网上有大量的资源可以帮助你学习 Web 设计

设计每一次交互,考虑整体体验。

主要职责

  • 让应用美观
  • 为目标设备和用户需求而设计
  • 设计是应用的运作方式,而不仅仅是外观
  • 设计整个系统
  • 让细节很重要

测试

你的产品是否一路顺畅,还是经常出问题?

你需要确保拥有一个稳健的测试框架。这包括单元测试、验收测试、基础设施测试、性能测试和负载测试。所有这些都应自动化且可重复。

主要职责

  • 自动化!
  • 尽早发现错误
  • 识别根本原因
  • 测试基础设施

领域知识

我把这个放在最后,因为它是在项目之间变化最大的一个。如果你正在构建医疗软件,你最好了解医学。确保你所谈论的是你了解的!

主要职责

  • 挑战现有的行业思维
  • 了解你所在领域的最新研究
  • 成为专家

虽然拥有所有这些技能绝非成功的秘诀,但它们无疑会让你比那些不具备这些技能的人拥有巨大的优势。

即使你认为你没有做到所有这些事情,你可能只是做得不好。它们都不应该是事后考虑的事情。

你的团队有能力吗?

更新 – 秘密武器

对于能够放大以上所有技能的 1 项技能,请查看我关于破解心流状态的文章。

© . All rights reserved.