后端工程师与项目经理的区别



网站重构
优化
根据W3C标准进行重构后,可以让前端的代码组织更有序,显著改善网站的性能,提高网站访问速度,还能提高可维护性,对搜索引擎也更友好;
加速
重构后的网站能带来更好的用户体验,用XHTML+CSS重新布局后的页面,文件更小,下载速度更快。
目的
网站重构的目的不是为了让网页更符合Web标

准,重构的本质是构建一个前端灵活的MVC框架,即HTML作为信息模型(Model),CSS控制样式(View),JavaScript负责调度数据和实现某种展现逻辑(Controller)。同时,代码需要具有很好的复用性和可维护性。这是高效率、高质量开发以及协作开发的基础。
DHTML可以让用户的操作更炫,更吸引眼球;Ajax可以实现无刷新的数据交换,让用户的操作更流畅。对于普通用户来说,一个网站是否规范、功能是否强大,服务器端是用J2EE+Oracle的强大组合,还是用ASP+Access的简单组合,并没有太明显的区别。但是,前端的用户体验却给了用户直观的印象。
随着人们对用户体验的要求越来越高,前端开发的技术难度越来越大,Web前端开发工程师这一职业终于从设计和制作不分的局面中独立出来。
三要素
Web前端开发技术包括三个要素:HTML、CSS和JavaScript,但随着RIA的流行和普及,Flash/Flex、Silverlight、XML和服务器端语言也是前端开发工程师应该掌握的。Web前端开发工程师既要与上游的交互设计师、视觉设计师和产品经理沟通,又要与下游的服务器端工程师沟通,需要掌握的技能非常多。这就从知识的广度上对Web前端开发工程师提出了要求。如果要精于前端开发这一行,也许要先精十行。然而,全才总是少有的。所以,对于不太重要的知识,我们只需要“通”即可。但“通”到什么程度才算够用呢?对于很多初级前端开发工程师来说,这个问题是非常令人迷惑的。
前端开发的入门门槛其实非常低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢。所以,对于从事IT工作的人来说,前端开发是个不错的切入点。也正因为如此,前端开发领域有很多自学成“才”的同行,但大多数人都停留在会用的阶段,因为后面的学习曲线越来越陡峭,每前进一步都很难。另一方面,正如前面所说,前端开发是个非常新的职业,对一些规范和最佳实践的研究都处于探索阶段。总有新的灵感和技术不时闪现出来,例如CSS sprite、悬浮定位、负边距布局、栅格布局等;各种JavaScript框架层出不穷,为整个前端开发领域注入了巨大的活力;浏览器大战也越来越白热化,跨浏览器兼容方案依然是五花八门。为了满足“高可维护性”的需要,需要更深入、更系统地去掌握前端知识,这样才可能创建一个好的前端架构,保证代码的质量。
掌握技术
》 掌握各种修图软件,如PSFireworksAI,不要求专业设计师水平,但要会用会改,今天是一专多能的时代,光会编程讨不好饭碗的;
》 精通JavaScript、jQuery、ExtJS等页面效果框架,这是前端工程师的最核心技能,是专做页面效果的技术。其实精通了JavaScript,后端编程语言,如.NET、PHP、Ruby都很容易掌握,因为其原理是一样的;
》 精通一二种模板语言,并能修改,如织梦或wordpress的模板;
》 掌握thinkphp与zend框架,能修改此类开源源码;
》 掌握html5与sencha,这是做手机等移动设备的页面前端技术;
》 掌握一二种后端编程语言,如PHP、.NET、JAVA,能读懂后端源码,实际上其原理跟JS差不多;
》 掌握node.js,熟悉各种自动化部署工具;
》 掌握FLASH,能制作出动态flash相册,会Flash AS3.编程。
.v-mark-item {font-size:12px;}.v-mark-item a{text-decoration:none;} .v-mark-item a:hover{cursor:pointer;text-decoration:underline}
前端工程师
开发工具
业内标准
开发流程/方法
设计模式/方法
ARIA
各种浏览器
交互/设计
沟通方法/表现力
开源项目
Hack技术
语言
应用
框架
开放服务
性能/安全
做得更好
前端开发技术
必须掌握基本的Web前端开发技术,其中包括:CSS、HTML、DOM、javascript、Ajax等,在掌握这些技术的同时,还要清楚地了解它们在不同浏览器上的兼容情况、渲染原理和存在的Bug。
掌握优化技术
在一名合格的前端工程师的知识结构中,网站性能优化、SEO和服务器端的基础知识也是必须掌握的。
使用工具
必须学会运用各种工具进行辅助开发。比如:处理IE系列浏览器兼容性问题的IEtester、FF排错用的Firebug、FlashFirebug、JavaScript Debugger等。
掌握理论知识
除了要掌握技术层面的知识,还要掌握理论层面的知识,包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持,等等。
总结
可见,如果要把前端开发做得更好、更专业,真的是不简单。这就是前端开发的特点,也是让很多人困惑的原因。如此繁杂的知识体系让新手学习起来无从下手,对于老手来说,也时常不知道下一步该学什么。
建议在繁杂的体系中有目的有方向的学习和发展,最好是针对岗位。


然而项目经理:

一、项目经理的目标   
    1、满足项目利害关系者的不同需求。
    清晰明确地了解每一个项目利害关系者的需求和期望,投其所好。
    项目利害关系者包括:项目团队成员和项目团队外成员(比如各部门的部门经理,客服等)。
    2、保证开发项目按时保质的完成。

    二、项目经理的职责
    1、建立有效的流程保证项目的顺利进行。
    2、制定详细周密的项目计划。
    3、跟踪,推动项目按计划进行。
    4、积极解决项目过程中出现的问题和冲突。
    5、调动开发团队的积极性,创造力,推动团队成员在项目过程中不断成长。

    三、项目经理的具体工作
       
    1、项目前期阶段
    . 技术可行性分析,对项目进行技术评估、成本评估以及风险评估。
    . 与需求方代表进行需求讨论,明确项目的目标、价值;确定项目范围、功能及优先级。
    . 组建项目团队,特别要搞清楚项目的key person(对产品有决定权的人)。
    . 项目启动会议。

    通常项目成员包括以下人员:项目经理、架构师、技术经理、产品经理、开发工程师、DBA、测试工程师、需求分析工程师、UI、文案、SQA、SCM。
   
    阶段输出物:确认后的最终需求文档
       
    2、分析设计阶段
    . 制定项目进度计划,工作任务分解(WBS)。
    . 资源申请-项目涉及到的开发资源、测试资源、设计资源。
    . 数据库设计。
    . 系统设计。
    . 文档(包括UC、Demo、TC等)评审会议

    阶段输出物:
    (1) User Case
    (2) DEMO
    (3) 系统设计文档
    (4) 数据库设计文档
    (5) User Case等文档评审

    3、执行阶段(开发、测试)
    . 准备开发环境、测试环境。
    . 跟踪,推动项目按计划进行。
    . 通报项目的进展情况,通常以周报的形式。
    . 对项目的阶段成果进行评估,以确保该阶段完成的质量,包括代码审核、SQL审核等。
    . 对需求变更进行控制管理。
    . 对项目风险进行管理。
    . 测试阶段客户验收、收集反馈意见。

    4、发布阶段
    . 制定项目发布计划。
    . 用户培训。
    . 发布上线。

    5、上线后监控
    . 数据监控(日志、服务器状态)。
    . BUG FIX及改进。

    5、结束阶段
    . 项目总结会。
    . 产品交付。

你可能感兴趣的:(文档)