who
全栈工程师
全栈工程师,也叫全端工程师,英文FullStackdeveloper。是指掌握多种技能,并能利用多种技能独立完成产品的人。来自搜狗百科
what
做什么
从字面上理解FullStackdeveloper在前后端作业中更侧重于后端,developer意思为工程师,前段工程师用designer,如果叫FullStackdesigner的话那就倾向于前端,其实不管是developer还是designer都在敲代码,一个是文科思维,一个是理科思维,两者混合后就叫“全栈”了;
英文链接
how
怎么做
服务器,网络和托管环境
这涉及到理解什么可以破坏和为什么,没有资源是理所当然的。
需要适当使用文件系统,云存储,网络资源,以及对数据冗余和可用性的了解。
应用程序如何规模化给硬件的约束?
多线程和竞争条件怎么样?猜猜,你不会看到那些在您的开发机器上,但他们可以而且确实发生在现实世界。
完整的堆栈开发人员可以与DevOps并行工作。系统应提供有用的错误消息和日志功能。DevOps会在你之前看到消息,所以让他们计数。
数据建模
如果数据模型有缺陷,则业务逻辑和更高层开始需要奇怪的(丑陋的)代码来补偿数据模型不涵盖的角落。
完整的堆栈开发人员知道如何创建一个合理规范的关系模型,包含外键,索引,视图,查找表等。
完整的堆栈开发人员熟悉非关系数据存储的概念,并了解它们在关系数据存储中的位置。
商业逻辑
应用程序提供的价值的核心。
这里需要坚实的面向对象的技能。
也可能需要框架。
API层/动作层/ MVC
外部世界如何对抗业务逻辑和数据模型。
这个级别的框架应该大量使用。
完整的堆栈开发人员有能力编写清晰,一致,易于使用的界面。一些API的高度反驳了我。
用户界面
全堆栈开发人员:a)了解如何创建可读布局,或b)确认他们需要艺术家和平面设计师的帮助。无论哪种方式,实现良好的视觉设计都是关键。
可以包括掌握HTML5 / CSS。
JavaScript是未来的新兴语言,在JavaScript世界(节点,骨干,淘汰...)中正在进行许多令人兴奋的工作,
用户体验
完整的堆栈开发人员欣赏用户只是希望事情发挥作用。
良好的系统不会给予其用户腕管综合征或眼睛疼痛。完整的堆栈开发人员可以退后一步,查看需要8次点击和3个步骤的流程,并轻松点击一下。
全堆栈开发者编写有用的错误消息。如果有事情发生,请对此道歉。有时程序员会无意中写错误信息,使人感到愚蠢。
了解客户和业务需求。
现在我们模糊了建筑师的路线,但这是太多的手中的角色了。
完整的堆栈开发人员掌握了客户使用该软件的现场情况。他们也掌握了业务。