Full stack developer的修养

越来越多的人渴望成为全栈工程师,而且大部分世界级企业招聘员工会把全栈属性列为最优考虑属性,比如facebook。
那么全栈工程师需要掌握哪些技能和修养呢:
以下摘自http://www.oschina.net/translate/what-is-a-full-stack-developer
全栈的层:
****1.服务器、网络和服务器环境****
知道哪里可能崩了和为什么会崩,没有什么是理所当然的。

适当的使用文件系统,云存储、网络资源,必须具备数据冗余和可用性的概念。

知道应用的伸缩性对硬件的需求。

什么是多线程和竞争条件?想想看,在开发机上你可能看不到这些,但是现实环境中它们就是会发生。

全栈coder还要能与运维并肩作战。提供有价值的错误信息和日志。确保它们是可靠的,因为运维会在你之前看到这些东西。(原文为DevOps

2.数据建模
如果数据模型有缺陷,业务逻辑和上层逻辑就要用奇怪的代码(很丑)来弥补数据模型的缺陷。

全栈开发者要能够建立合理的、标准的关系模型,包括外键、索引、视图、查找表等。

全栈开发者要熟悉非关系型数据存储(应该指的不止是NoSQL),并且知道它们相对关系型存储优势所在。

3,业务逻辑

应用提供的核心价值。

可靠的面向对象技能。

可能会用到的框架。

4,API层、Action 层、MVC

理解外部对数据模型和业务逻辑的操作。

该层会有很多框架应用。

全栈开发者要具备编写清晰、一致和易用的接口。过高的复杂度让人厌恶。

5,UI

全栈coder:a)知道如何创建可读的页面布局;b)或者明白自己需要帮助设计师。A或B,关键是要能有好的视觉设计。

掌握HTML5和CSS。

JS正在逐步成为语言新锐,Javascript的世界里已经完成了很多激动人心的工作(node, backbone, knockout...)。

6.用户体验

全栈coder要知道用户需要的就是It works!

一个好的系统不会废了用户的手腕和眼睛。一个全栈coder会发现和审视需要8次点击、3步操作的流程,并最终把它一键搞定。

提供有价值的错误信息。如果崩溃了,就要向用户致歉。有时候程序员会写出让用户自我感觉很二的错误信息。

7.知道用户和业务到底要什么现在我们模糊了架构的界限,但却可能远离了实际需求。

全栈coder要明确知道用户使用软件时的场景,而且要领会业务。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容