全栈工程师的学习之路

想要了解如何成为一名全栈工程师?本文帮你解疑答惑,告诉你成为全栈工程师的学习之路!

一、关于全栈工程师的定义与职务

1. 全栈工程师的定义

随着互联网技术的蓬勃发展,技术变得越来越繁琐,越来越多面化。一个项目的开发,需要使用多样技术。举个例子,一个网站的建设,单论初步开发(功能实现)而言,需要功能分析、界面与交互性设计、前端开发、兼容性处理(设备兼容和浏览器兼容)、后端开发、数据库开发、QA测试,日后还需要SEO优化、性能优化、项目资源管理工具等各项技术(已知——软)。这就需要各种各样的专项性人才,然而在项目开发过程中,一个团队的人数与开发效率往往不是成正比,这涉及到各个方面,比如团队中的各个成员是否磨合(性格、技术互补),代码风格是否相似(同项技术小组的成员),小组与小组的交互是否顺利(比如界面与前端交互、功能与前后端交互、前后端数据交互等),总之项目中的人力往往是1+1<2的,一个项目开发团队的规模越大,沟通成本就越大,这在大型项目中,沟通成本往往占了很大比重。

而全栈工程师的沟通成本基本为零(看全栈的知识面和团队是否契合与代码库),他能与一个团队中的各个成员都进行有效的沟通,大大缩进一个项目的沟通成本,增大团队的开发效率。

2. 全栈工程师的职责

2.1. 了解团队中各个人员技术开发能力与技术方向 

2.2. 协助产品经理在功能分析过程中,得出功能可行性和项目成本

2.3. 协助项目经理选定合适的项目技术框架,分辨框架技术优劣

2.4. 协助设计总监和交互设计师与前端工程师进行功能设计和技术沟通

2.5. 协助前端工程师和UI设计师进行页面制作和代码编写

2.6. 协助前、后端工程师进行数据接口对接和代码编写

2.7. 协助数据库工程师进行数据库设计和代码编写

2.8. 协助测试团队和SEO团队进行产品测试和搜索引擎优化

2.9. 协助运维团队进行用户反馈和功能增添分析

PS:人不是万能,上述职责有3-5可以完成,应该已经很强了0.0,恩……猜的

3. 全栈工程师的优势与劣势

3.1. 优势:全栈工程师的技术发展是横向的,对于任何技术或设计,他总是有话可说,充实而全面的代码库(重用),可以对团队中的每一个人都提供有益的帮助,能大大减少团队人员沟通、技术对接的时间和技术成本。

PS:全栈的主要任务是缩短项目开发时间和成员沟通成本。

3.2. 劣势:由于横向的技术发展,导致全栈工程师往往博而不精,甚至纸上谈兵。个人职责的定位就是什么都会,但是也什么都不会。这时就需要全栈做好一定的技术职责偏向,丰实自身的代码库与技术理论,无论是文——界面设计和交互性设计,还是武——逻辑设计和功能实现,都要尽力做到能实现、能编写和能叙述。

二、现阶段 个人 技能树 能力

4. 产品设计:

功能设计和可行性分析:了解 书1

UI界面与交互性设计(理论):了解 书1

原型设计:基本为0 ——axure sketch

5. 前端技术(了解—初级)

html-html5:初级 基本掌握HTML所有标签共有属性及其私有属性HTML,基本了解H5新特性并实践部分特性功能(表单属性,<meta>,canves基础)

css-css3:初级 基本掌握CSS(1-2)PSD、原型 高真还原,基本了解和使用

CSS3特性(过渡、动画、多栏布局)

javascript:初级 基本掌握js语法结构,了解并使用DOM对象、BOM对象、事件流、闭包与自执行函数。基本了解插件编写,像原型模式、工厂模式、构造函数模式等对象封装。基本了解并使用各项JSAPI实现各项功能,如标签数据绑定(DOM操作),css动画实现(JS 轮播图),ajax页面异步刷新技术。

HTML CSS JS兼容性技术:基本了解浏览器兼容性技术处理(如css属性hack,浏览器盒模型兼容),基本了解与使用多屏兼容性处理(如流动布局技术,响应式开发),基本了解用户代理监测技术。

XSS:基本理解XSS代码注入攻击方式部分方式。

html框架:bootstrap(初级)handlebars(了解)

css预编译器:sass(初级)基本掌握语法结构和代码重用方式 compass(了解)

js框架:Jquery(初级)——DOM操作,CSS操作,事件绑定,AJAX,循环函数,部分插件使用

XML:0-了解

JSON:了解JSON结构和部分格式与JSON转换

6. 后端技术(了解-初级)

MVC设计模式:基本了解与使用MVC设计模式和业务、数据、界面分离方法。

.NET 技术:了解并熟练使用.net开发web后端vs2010+mvc2+SQLSERVER 08基本掌握controller页面请求处理、数据交互处理和ADO.NET技术,基本了解和使用路由控制、C#语法结构(基础类型、事件、语法结构如继承、多态、重载),基本了解并使用部分c#面向对象理论(泛型、abstract、virtual、事件流、委托、线程、http通信)

php、node.js:了解PHP、node.js语法结构,了解并使用PHP页面跳转、端口监听,了解并开发微信支付接口对接(公众号移动开发网站)。

SQL server:了解并熟练使用sqlserver基础操作(查询、插入、更新、删除),了解并使用查询关键字(如NOT、IN、JOIN、LIKE、CONSTRAINT约束等),基本了解并部分使用编写触发器、存储过程、视图

技术分段:0-了解(12.5%)-初级(25%)-中级-高级-业内巅峰

以上就是今天分享的全部内容了,渡课官网www.dodoke.com看更多内容哦!