一名优秀的全栈工程师应该具备哪些素质?长期以来,它一直是软件行业的热门话题。有人认为全栈工程师很高,当然也有人直接说万金油。听说他们是全栈工程师,综合能力全,其实什么都不会精通。那么成为一名优秀的全栈工程师应该具备哪些素质呢?、
1.服务器、网络和宿主环境。
我们需要了解哪些模块可能会失败,为什么,但我们不能理所当然地认为,只要我们不断增加资源,我们就可以解决所有的问题。有必要知道如何使用操作系统。云存储。网络资源,并理解数据冗余和可用性。了解应用程序的规模是如何限制硬件的。开发机器上经常不会遇到多线程和竞争状态条件,但它们在实际部署环境中无处不在。全栈工程师还必须能够与Devops良好合作。他们设计的系统应该提供有用的错误信息和日志能力,以便Devops能够及时获取信息并采取有价值的行动。
2.数据建模。
如果数据模型有缺陷,往往需要在业务逻辑和更高层次上使用丑陋的代码来弥补数据模型无法覆盖的死角。知道如何建立合理的范式关系模型,有完善的外键、索引、视图、查询表等。熟悉非关系数据的存储,知道非关系数据库在哪些方面超越了关系数据库。
3.业务逻辑。
这是系统应用价值的关键。掌握SOLID设计能力(单一职责、开放封闭、Liskov替代、接口分离、依赖注入)。熟悉一些常用的框架。API/Action/MVC与外部世界如何与业务逻辑和数据模型互动有关。将使用大量框架。有能力写清楚一致。使用简单的界面。
4.用户界面。
全栈工程师需要:a)懂得构建易读布局;b)能够认识到艺术家和图形设计师的作用。总之,实现一套好的视觉设计方案尤为重要。掌握HTML5/CSS。从目前的趋势来看,JavaScript将是明天的明星,最近在这个领域取得了巨大的成就。因此,掌握JavaScript至关重要。
5.用户体验。
全栈工程师应该意识到,用户只是希望一切运行良好。一个好的系统不会让用户患腕管综合征或眼睛疲劳。全栈工程师可以审视全局,简化一个需要8次点击+3步的过程,只需要一次点击。知道如何向用户提示错误信息。如果出现故障,真诚道歉。有时候一些无意的错误信息会让用户感到莫名其妙。了解用户和市场需求关系到系统架构,但绝不是一个不可触及的角色。全栈工程师要了解客户在使用软件的过程中需要什么,整个市场需要什么。
6.其他方面。
今天,即使是JavaScript也可以写出高质量的单元测试。知道如何使用可重复的自动化工具来构建系统。测试。编写文档并按需部署。系统的安全意识非常重要。你知道,开发堆栈的每一层都可能有薄弱环节。
如果你真的想成为一名全栈工程师,你必须记住深入挖掘自己的潜力,打好基础体系结构,深入甚至精通一门学科,自然融为一体。我怕我什么都学不深,然后就像万能精油一样存在。这样的人在职场上缺乏核心竞争力,却什么都做不了。