论文部分内容阅读
【摘要】随着国家职业学院教育的深入改革,培养社会企业适用型人才,提高学生的就业率成为大的课题。职业学院计算机及相关专业的学生的就业率,在社会IT人才需求大量增加的前提下,却几年来持续走低。分析其原因,一方面确实与国家持续扩招,较低的门槛,必然导致产出质量的降低;另一方面,学院的专业设置及课程设置,是导致这一结果的主要原因。
本文尝试从企业UI工程师需求角度,以多年从事软件开发、企业IT培训及职业教育的经验,分析了“UI工程师课程”设置的可性,如何操作,及注意的问题。
【关键词】UI工程师 项目驱动 职业教育
一、论可行性
(一)市场需求
1.人才需求基数上升。自2013年开始,无论是传统企业,还是互联网企业,对手机APP应用和HTML5的应用需求都呈现出快速增加的趋势,集中在此类技术进行开发的公司如雨后春笋,对有经验的开发人员,甚至是无经验开发人员的需求,更是如饥似渴。
2.软件质量要求提高,导致UI工程师稀缺。但此类应用软件,目前呈现的问题是,数量多,同类化,内容杂,但精品少。
由于目前大多数的解决方案是基于“移动+互联”,后台技术相对成熟,同时前端的“编程式开发”技术门槛并不算高,所软件基本上可以快速开发出来,并符合客户的要求。
3.软件开发低成本,专业化要求。目前从事UI开发的,人员来自于两方面:
a.后台程序员兼职
b.传统美工兼职
这两类人员前者从技术角度可以胜任工作,但毫无设计理念,开发出的界面较为模式化,非人性化,同时也较为山寨化。后者多是从美术设计的角度入手,开发出的产品外观尚可,但由于基本上无技术开发功底,无法胜任带有编码逻辑的技术工作。而这两类人员也都不能掌握用户产品的使用心理,这也必然催生出新的工作岗位。
目前此岗位在很多公司做出了如下设置:UI开发工程师和UE设计师,UI开发工程主要负责软件产品的用户使用流程和使用界面的研发工作,属研发部门;而UE设计师主要负责软件产品的使用体验的设计工作,其一般隶属于产品部门。但更多的公司会将这类工作职位进行合并,统称为UI开发工程师。
(二)发展前景
伴随美国苹果公司产品(无论从硬件到软件)的从被认可到变为时尚流行,有两个设计基准逐渐成为开发业界的共识,“人性化体验关注和工业美学设计”。而传统的“高硬件指标、低用户体验,无谓的跑分测试”已成为过去时,“同质化,傻大憨粗”的产品设计,成为“山寨”的代名词。当下具有UI产品理念,具备相关技术,有着丰富开发经验的UI开发工程师,变得非常抢手。从以下几点不难看出UI工程师将在未来相当长的时间,具有相当的生命力;并且是一个相当具有发展潜力的可以长期从事的职业。
第一,工业美学的大潮随着各种新技术的层出不穷,变得“只有想不到,没有做的不到”的程度,为此方面进行的投资,也会自己的产品与众不同,而得到很好的关注度,而变得产出可期,促使企业更愿意在此方面进行投资。但同时也会培养出用户越来越高的体验要求,从而对该职业提出越来越高的要求,即只有更好,没有最好!
第二,用户体验的设计本身是一门由人类学,心理学,计算机科学,并融合时尚流的综合学科。其本身是一扇门,门后丰富用户体验设计的大世界,而在这个世界里将会分化出更多的工作角色,从而可以分从业者提供人尽其用的岗位。
第三,“界面即软件,体验即产品”的理论指导下,会让企业更加重视产品的UI设计,而同时设计上游公司与制造工厂分离的商业模式,会让UI工程师更加得到重视,会有更加美好的职业前景。
(三)技术特点
目前业界无论是Web还是APP开发,其技术难度定位都呈现逐渐变得容易的趋势,模式化的开发过程、先进的开发工具、智能化的开发框架,让多数产品开发基本不必接触过多的技术底层细节,即可以产生赏心悦目的产品。分析其原因,有如下几点:
第一,软件业界的“标准化”以成为大趋势,HTML5标准的落地,使之前的浏览器大战偃旗息鼓。在此之前各种“hack技术”的黑科技,阻挡了相当多的开发者进入这个行业。目前Web开发者并不需记住每种浏览器的不同API,只需要学习标准的W3C标准,即可以开发出适配不同浏览器的产品。
第二,前端框架(库)的大量出现,使开发者从入门到产品产出周期极大的缩短,并且此类框架的产品质量也有保证。框架技术由于多数采用开源许可,并免费使用,并由社区志愿者进行维护,这样使其有着较高的使用率。这就使框架本身的bug可以被很快发现,并迅速在下一版本得到更新。同时目前流行度较高的几个框架,都由业界的领导企业提供技术和资金的保证,从而确保其有着相当强的生命力。
第三,学习难度曲线较缓。由于多数开框架都采用了“面向对象”的机制,并配合大量的开发样例,文档,这样会使初学者较快入手。
第四,结合职业学院的培养目标和计算机专业学生的自身特点,UI开发工程师是很好的职业切入点和稳定长期的职业。
二、如何操作
(一)指导原则
第一,组成由学院相关领导、专业技术教师,企业专家组成课程指导委员会,课程的制定和修改由其决定。
第二,在保证国家教育部门安排的思想政治教育课时数的前提下,学院应即时根据社会行业需求情况,及时对课程内容进行调整。
第三,以专业课程为主线,基础学科课程内容全部加以调整。如英语课程将以计算机软件英语为主,加入大量的专业文档阅读;数学课将以软件学逻辑算法为主要突破口,适当加入动手实践;语文课加入专业文档写作,演示文档制作技术也可融入其中。要真正专业学科产生对基础学科的需求,让基础学科做基础作用。 第四,以项目串连到所有专业课当中,坚决避免老师讲授没有任何项目需求的技术。学生学习的知识不再多,而在于每学一样东西,就必须吃透一样东西。项目所扮演的角色相当于人体的骨架,它能撑起学生的专业知识体系,然后在课堂的讲授和学生的项目实战中,逐渐丰富其肉体。而肉体上的每个细胞则由学生和老师在项目实战中自然形成。
第五,项目需求的制定,需要根据企业项目需求进行凝炼加工提纯,并在项目完成后进行评审,并进行项目的回顾,要总结经验教训,并在下一轮项目中加以发扬对的,纠正错的。
(二)基本步骤
第一,组成专家委员会,由委员会成员列出课程所需要的要件:
a.所需要专业技术知识,并列出其权重,由此进行课时上的分配
b.学习期间所需要完成的项目,并形成学院的专业项目库。
c.开课的时间顺序
d.所需要项目的组合,项目的完成顺序
e.考核评定标准
第二,课程准备,需要完成的工作如下:
a.根据专业知识需求,从项目库筛选项目,或者新建项目,同时确定项目的先后顺序
b.确定专业课的设置及先后顺序
c.在专业课设置完成的前提,设置基础课时的分配及顺序
d.确定最终的教学大纲,教学计划
e.开课前的教师培训,备课,交流,并进行针对教师的新项目开发工作,使老师在开课前及树立以项目驱动课程的基本理念,并在教师内部形成默契,形成无障碍沟通的方式。
第三,教学实施:
a.首先在教学人员配置上,应由一名主讲教师配置一名以上助理教师,根据班级人数情况适当增减。
b.首先应对学生进行分组,每组人数的多少,应根据项目的规模及所需要的技术进行调配,搭配应根据学生的能力素质进行高中低的配置,每次分组适当改变不同学生所担任工作的角色和所使用的技术。
c.理论课教学中,每一个技术要点应分为“需求,原理,使用细节”三个维度,教学过程中应该重视“需求”,强调原理,适当演示使用细节,更多的知识细节让学生在项目中自行消化,在确有难度的情况下由教师进行全面或有针对性的辅导。
d.项目开发期间,应采用每日的项目站立会制度,总结前一天的工作情况、经验教训,并汇报工作进度,同时计划和分配一下当日的工作任务。站立会教师及助教必须参加。若项目周期较长,必须在一段时间内(不得长于五个工作日)进行需求评审或阶段性成果评审。
e.在项目开发期间应该在关注技术实现的同时,将项目管理的知识适当引入,如配置管理、测试技术、进度管理,文档编写,使学生在项目开发期间不但可以关注技术,同时也更加注意全局,使学生从幼稚自然而然的走向成熟。
f.项目最终完成,应该进行项目最终评审。由学生以小组形式进行项目展示和总结,不但可以让其反思项目的经验和教训,更能锻炼其演讲,沟通,随机应变的综合技能,为其未来的职业发展提供更多可能的机会。同时,其它小组成员在观看的同时,也能从旁观者的角度提出更多的问题,这样可以起到共同发展的作用。
g.根据事先制定好的评价体系,结合学生的实际表现,对每个学生做出评价,将结果反馈给个人,对每个学生进行一次单独的面对面的沟通,让其提出自己的想法,以做为下一轮授课改进的依据。
h.教师应从项目评审中提纯出更多的开发问题,借此引入下一轮的新知识,使学生更加深刻的领悟到新技术所带来的生产力的提高,为一下轮的授课开创良好的条件。
(三)课程设置建议
由于多方面条件的限制,每所学校会采用不的课程,这里只给出一些课程方面的建议,如下:
第一,软件专业英语:专业词汇约2000个,英文软件专业文档的阅读,引导其利用文档开发出一些案例演示。
第二,数学及算法:引入一些趣味的数学问题,以讨论的形式给出答案,并适当编写解决问题的算法,并引导其使用一门开发语言(如:ECMA Script)进行代码实现。
第三,HTML5 基础,讲授W3C标准HTML5 标签,并使用更加专业(并非高级)的开发工具,手工完成某些项目中文档结构的部分。
第四,CSS基础,讲授CSS基础的选择器,典型的样式使用,但重点应该放在页面布局上。
第五,平面设计及色彩课程
第六,设计工具PhotoShop的使用技能训练。
第七,ECMA Script,此部分课应该分为四个部分,语言基础、DOM编程、Ajax应用、ECMA Script OOP编程。此部分是课程的重点也是难点,需要分本大量的学时,并配以足够的练习和作业。
第八,JQuery开发技术,BootStrap开发技术,Angular框架、React框架、ExtJS等。
三、操作时所需要注意的问题
第一,操作过程中,需要对教师进行较严格的筛选和培训,教师自身需要对课程中所需要的项目有较深入的理解。
第二,课程设置由浅入深的周期要短,但循环的次数要多,在一轮轮的迭代中使学生的水平提高。
第三,每轮的项目评审,最好能引入企业工程师参与进行,使学生始终能够处在一个“准工作状态”。
参考文献
[1]《CSS权威指南》[M],Eric A.Meyer,中国电力出版社.
[2]《JavaScript面向对象编程指南(第2版)》[M],Stoyan Stefanov,人民邮电出版社.
作者简介:余英瀚,男(1973年-)辽宁沈阳人。
本文尝试从企业UI工程师需求角度,以多年从事软件开发、企业IT培训及职业教育的经验,分析了“UI工程师课程”设置的可性,如何操作,及注意的问题。
【关键词】UI工程师 项目驱动 职业教育
一、论可行性
(一)市场需求
1.人才需求基数上升。自2013年开始,无论是传统企业,还是互联网企业,对手机APP应用和HTML5的应用需求都呈现出快速增加的趋势,集中在此类技术进行开发的公司如雨后春笋,对有经验的开发人员,甚至是无经验开发人员的需求,更是如饥似渴。
2.软件质量要求提高,导致UI工程师稀缺。但此类应用软件,目前呈现的问题是,数量多,同类化,内容杂,但精品少。
由于目前大多数的解决方案是基于“移动+互联”,后台技术相对成熟,同时前端的“编程式开发”技术门槛并不算高,所软件基本上可以快速开发出来,并符合客户的要求。
3.软件开发低成本,专业化要求。目前从事UI开发的,人员来自于两方面:
a.后台程序员兼职
b.传统美工兼职
这两类人员前者从技术角度可以胜任工作,但毫无设计理念,开发出的界面较为模式化,非人性化,同时也较为山寨化。后者多是从美术设计的角度入手,开发出的产品外观尚可,但由于基本上无技术开发功底,无法胜任带有编码逻辑的技术工作。而这两类人员也都不能掌握用户产品的使用心理,这也必然催生出新的工作岗位。
目前此岗位在很多公司做出了如下设置:UI开发工程师和UE设计师,UI开发工程主要负责软件产品的用户使用流程和使用界面的研发工作,属研发部门;而UE设计师主要负责软件产品的使用体验的设计工作,其一般隶属于产品部门。但更多的公司会将这类工作职位进行合并,统称为UI开发工程师。
(二)发展前景
伴随美国苹果公司产品(无论从硬件到软件)的从被认可到变为时尚流行,有两个设计基准逐渐成为开发业界的共识,“人性化体验关注和工业美学设计”。而传统的“高硬件指标、低用户体验,无谓的跑分测试”已成为过去时,“同质化,傻大憨粗”的产品设计,成为“山寨”的代名词。当下具有UI产品理念,具备相关技术,有着丰富开发经验的UI开发工程师,变得非常抢手。从以下几点不难看出UI工程师将在未来相当长的时间,具有相当的生命力;并且是一个相当具有发展潜力的可以长期从事的职业。
第一,工业美学的大潮随着各种新技术的层出不穷,变得“只有想不到,没有做的不到”的程度,为此方面进行的投资,也会自己的产品与众不同,而得到很好的关注度,而变得产出可期,促使企业更愿意在此方面进行投资。但同时也会培养出用户越来越高的体验要求,从而对该职业提出越来越高的要求,即只有更好,没有最好!
第二,用户体验的设计本身是一门由人类学,心理学,计算机科学,并融合时尚流的综合学科。其本身是一扇门,门后丰富用户体验设计的大世界,而在这个世界里将会分化出更多的工作角色,从而可以分从业者提供人尽其用的岗位。
第三,“界面即软件,体验即产品”的理论指导下,会让企业更加重视产品的UI设计,而同时设计上游公司与制造工厂分离的商业模式,会让UI工程师更加得到重视,会有更加美好的职业前景。
(三)技术特点
目前业界无论是Web还是APP开发,其技术难度定位都呈现逐渐变得容易的趋势,模式化的开发过程、先进的开发工具、智能化的开发框架,让多数产品开发基本不必接触过多的技术底层细节,即可以产生赏心悦目的产品。分析其原因,有如下几点:
第一,软件业界的“标准化”以成为大趋势,HTML5标准的落地,使之前的浏览器大战偃旗息鼓。在此之前各种“hack技术”的黑科技,阻挡了相当多的开发者进入这个行业。目前Web开发者并不需记住每种浏览器的不同API,只需要学习标准的W3C标准,即可以开发出适配不同浏览器的产品。
第二,前端框架(库)的大量出现,使开发者从入门到产品产出周期极大的缩短,并且此类框架的产品质量也有保证。框架技术由于多数采用开源许可,并免费使用,并由社区志愿者进行维护,这样使其有着较高的使用率。这就使框架本身的bug可以被很快发现,并迅速在下一版本得到更新。同时目前流行度较高的几个框架,都由业界的领导企业提供技术和资金的保证,从而确保其有着相当强的生命力。
第三,学习难度曲线较缓。由于多数开框架都采用了“面向对象”的机制,并配合大量的开发样例,文档,这样会使初学者较快入手。
第四,结合职业学院的培养目标和计算机专业学生的自身特点,UI开发工程师是很好的职业切入点和稳定长期的职业。
二、如何操作
(一)指导原则
第一,组成由学院相关领导、专业技术教师,企业专家组成课程指导委员会,课程的制定和修改由其决定。
第二,在保证国家教育部门安排的思想政治教育课时数的前提下,学院应即时根据社会行业需求情况,及时对课程内容进行调整。
第三,以专业课程为主线,基础学科课程内容全部加以调整。如英语课程将以计算机软件英语为主,加入大量的专业文档阅读;数学课将以软件学逻辑算法为主要突破口,适当加入动手实践;语文课加入专业文档写作,演示文档制作技术也可融入其中。要真正专业学科产生对基础学科的需求,让基础学科做基础作用。 第四,以项目串连到所有专业课当中,坚决避免老师讲授没有任何项目需求的技术。学生学习的知识不再多,而在于每学一样东西,就必须吃透一样东西。项目所扮演的角色相当于人体的骨架,它能撑起学生的专业知识体系,然后在课堂的讲授和学生的项目实战中,逐渐丰富其肉体。而肉体上的每个细胞则由学生和老师在项目实战中自然形成。
第五,项目需求的制定,需要根据企业项目需求进行凝炼加工提纯,并在项目完成后进行评审,并进行项目的回顾,要总结经验教训,并在下一轮项目中加以发扬对的,纠正错的。
(二)基本步骤
第一,组成专家委员会,由委员会成员列出课程所需要的要件:
a.所需要专业技术知识,并列出其权重,由此进行课时上的分配
b.学习期间所需要完成的项目,并形成学院的专业项目库。
c.开课的时间顺序
d.所需要项目的组合,项目的完成顺序
e.考核评定标准
第二,课程准备,需要完成的工作如下:
a.根据专业知识需求,从项目库筛选项目,或者新建项目,同时确定项目的先后顺序
b.确定专业课的设置及先后顺序
c.在专业课设置完成的前提,设置基础课时的分配及顺序
d.确定最终的教学大纲,教学计划
e.开课前的教师培训,备课,交流,并进行针对教师的新项目开发工作,使老师在开课前及树立以项目驱动课程的基本理念,并在教师内部形成默契,形成无障碍沟通的方式。
第三,教学实施:
a.首先在教学人员配置上,应由一名主讲教师配置一名以上助理教师,根据班级人数情况适当增减。
b.首先应对学生进行分组,每组人数的多少,应根据项目的规模及所需要的技术进行调配,搭配应根据学生的能力素质进行高中低的配置,每次分组适当改变不同学生所担任工作的角色和所使用的技术。
c.理论课教学中,每一个技术要点应分为“需求,原理,使用细节”三个维度,教学过程中应该重视“需求”,强调原理,适当演示使用细节,更多的知识细节让学生在项目中自行消化,在确有难度的情况下由教师进行全面或有针对性的辅导。
d.项目开发期间,应采用每日的项目站立会制度,总结前一天的工作情况、经验教训,并汇报工作进度,同时计划和分配一下当日的工作任务。站立会教师及助教必须参加。若项目周期较长,必须在一段时间内(不得长于五个工作日)进行需求评审或阶段性成果评审。
e.在项目开发期间应该在关注技术实现的同时,将项目管理的知识适当引入,如配置管理、测试技术、进度管理,文档编写,使学生在项目开发期间不但可以关注技术,同时也更加注意全局,使学生从幼稚自然而然的走向成熟。
f.项目最终完成,应该进行项目最终评审。由学生以小组形式进行项目展示和总结,不但可以让其反思项目的经验和教训,更能锻炼其演讲,沟通,随机应变的综合技能,为其未来的职业发展提供更多可能的机会。同时,其它小组成员在观看的同时,也能从旁观者的角度提出更多的问题,这样可以起到共同发展的作用。
g.根据事先制定好的评价体系,结合学生的实际表现,对每个学生做出评价,将结果反馈给个人,对每个学生进行一次单独的面对面的沟通,让其提出自己的想法,以做为下一轮授课改进的依据。
h.教师应从项目评审中提纯出更多的开发问题,借此引入下一轮的新知识,使学生更加深刻的领悟到新技术所带来的生产力的提高,为一下轮的授课开创良好的条件。
(三)课程设置建议
由于多方面条件的限制,每所学校会采用不的课程,这里只给出一些课程方面的建议,如下:
第一,软件专业英语:专业词汇约2000个,英文软件专业文档的阅读,引导其利用文档开发出一些案例演示。
第二,数学及算法:引入一些趣味的数学问题,以讨论的形式给出答案,并适当编写解决问题的算法,并引导其使用一门开发语言(如:ECMA Script)进行代码实现。
第三,HTML5 基础,讲授W3C标准HTML5 标签,并使用更加专业(并非高级)的开发工具,手工完成某些项目中文档结构的部分。
第四,CSS基础,讲授CSS基础的选择器,典型的样式使用,但重点应该放在页面布局上。
第五,平面设计及色彩课程
第六,设计工具PhotoShop的使用技能训练。
第七,ECMA Script,此部分课应该分为四个部分,语言基础、DOM编程、Ajax应用、ECMA Script OOP编程。此部分是课程的重点也是难点,需要分本大量的学时,并配以足够的练习和作业。
第八,JQuery开发技术,BootStrap开发技术,Angular框架、React框架、ExtJS等。
三、操作时所需要注意的问题
第一,操作过程中,需要对教师进行较严格的筛选和培训,教师自身需要对课程中所需要的项目有较深入的理解。
第二,课程设置由浅入深的周期要短,但循环的次数要多,在一轮轮的迭代中使学生的水平提高。
第三,每轮的项目评审,最好能引入企业工程师参与进行,使学生始终能够处在一个“准工作状态”。
参考文献
[1]《CSS权威指南》[M],Eric A.Meyer,中国电力出版社.
[2]《JavaScript面向对象编程指南(第2版)》[M],Stoyan Stefanov,人民邮电出版社.
作者简介:余英瀚,男(1973年-)辽宁沈阳人。