Day15:全端工程师的工作内容?(下)

一、前言

  上一篇文章有提到我现职公司中全端工程师的工作项目大纲,这篇就我个人日常上班中比较常做、稍微较有工程师技术层面或有勾到程序与网站流程概念的内容,与大家做些微细部分享,因为我知道其实不是所有公司都是这样运作与分配。

二、(大部分)全端工程师最常做的几种工作项目

1. 访谈需求

  在这阶段,最怕的就是客户讲不清楚自己的需求或者你根本听不懂人家的意思XD。我觉得这个也是需要时间去累积的,基本上,客户一定会提出几个已知需求或他们想像的功能,较有经验的客户会直接告诉你更立体与实际面向的内容,那公司这边派出去的与会人员,就是将他们需求确认後记录下来,当下有问题或觉得流程有些许想法也可直接提出。

  那也有一个可能是,你不是被发派为与会的其中一人,但你要参加该专案的开发,这是很可能发生的事,因为公司不可能把整个团队都带出去开会。所以在这阶段,也能区分出谁较有沟通技巧、统整需求与临场反应的能力。

2. 网站流程设计

  了解客户需求後,要设计的是整个网站的流程,而有个职位叫做UX(User Experience)
全名为使用者经验,强调的是根据使用者的习惯,安排整个网站页面的内容规划,像是哪些区块的内容要先在网站上出现,哪些按钮一定要在哪,重大责任就是要确保产品从这一步流动到下一步符合逻辑(引用来源)。小型接案公司就...可能没这个职位XD,只能大家一起集思广益。

  UX(User Experience)的角色与经验也至关重要,我觉得流程设计是网站的精随,如果不清楚其中一个环节或漏掉一个细节,其实後面工程师要实作时,很常会发生打掉重练的问题,切版或者资料库关联都是很花时间的事。

3. 系统规划

  这边指的较是资料表的关联与程序码之架构等。一般来说,如果公司接的案子很固定、网站类型超单一、定期接一些制式官网平台,那可能这两者都不会在各个专案间有太大差异,如果不喜欢一直做一样事情、工作内容毫无挑战性与变化或coding技术提升较慢的话,我个人觉得可能在工作上会做的比较沉闷一点。

  这边针对前述内容就暂不详谈,因为已经比较偏前後端技术能力。後面章节如果篇幅足够,再行补充。但系统规划这部分,也会依客户需求或当初契约规定,有可能需要制做一些文件交递、报告,像是系统建置分析书、系统设计规格书等,主要是叙述系统预计以何种语言、框架、server如何配置等内容。

4. 实作程序码及各种功能

  就是把所有客户要的、PM说的全做出来。入职这麽久,我觉得最中肯的建议就是,当你遇到一个小困难时,请不要给自己太多时间卡在那,这就像小时候做答考试,老师都会说,每个人答卷时间一样,你要懂得分配和取舍,才能把事情做完。做网页我觉得也是这样,今天你被分派到某个部分做不出来,请要养成设定停损点的习惯与找寻团队中解决问题的处理方式,工作上都是不等人的阿~

5. 结案统整

  实作完成至结案状态或到某个约定进度时,通常需要做一些系统结案类型或检测的报告文件,我现职公司是都将画面做截图加上当初服务建议书与工作计画书之功能叙述去呈现。

6. 确认实际上线事宜

  实际上线通常会考量客户需求与设备问题,依照客户习惯与期待,将系统建置在预期之位置,确认服务器的连通、主机架设是否完整正确以利网站正式上线之相关准备等。

7. 教育训练

  基本上就是教客户如何使用最後完成版的功能介面,前後台的实际运作流程会整体跑一次,若有帐号权限需特别设置也可当下纪录处理。较为复杂的专案类型,通常教育训练次数也会稍微较多一点,一般网站都是1至2次、每次1至2小时之教育训练;若为复杂或大型点的,则可能调整为3次、每次3小时左右的时间。

8. 後续维护与优化

  我个人觉得这部分就是合理范围的网站售後服务,因为之前尚未转职工程师前的工作也是接案性质,所以这样认为。网站开发完成後,难免会遇到一些程序码的微调需求、功能的优化调整,当然也要看双方契约如何拟定去着手进行。

  比较需要注意的是,接案公司的工程师们会有离职然後有新人要衔接的问题,所以开发架构与程序码优化、资料库关联设计等,都会是重要的交接环节。公司在每个专案或每一时期的交接若完整,对於客户来说会是较有保障的。(某种程度上来说,也算是一种使用者体验吧)

四、结论与自我鼓励

  整体而言,我还是很喜欢接案公司的,因为转职前就是做个人接案(办理建筑执照许可),很习惯一条龙的服务流程。但进到网站接案这个领域,实际做过才发现,真的需要分工合作并且是完整的公司制度与开发流程,才能顺利同时处理各项专案进度、同步提升开发团队之默契与专业。

  虽然转职後第一份工作就选择超小型接案公司,算是一开始就对这行有些冲击与却步,但我觉得如果抗压性还够,这也不是一个不好的选择,希望目前为止以接案公司角度,分享对全端工程师的期待、工作上会遇到的项目内容,能让不是这个领域的人,有一点点地了解,如果大家有不同的经验或建议,也可以分享给我唷~


本文同步发布於我的个人网站 Annie Code Life


<<:  [Day 13] Update 更新资料

>>:  [14] [烧瓶里的部落格] 04. Templates 模板

GitHub 时程与版本管理 - Milestone, Tag 与 Release

在这一篇文章,我们要来谈,GitHub 中另外几个进阶的功能: Milestone (里程碑)、Ta...

Day14 - 物理模拟篇 - 弹跳球世界IV(补完篇) - 成为Canvas Ninja ~ 理解2D渲染的精髓

没错~我就硬是不要给把标题打成『弹跳球世界V』,咬我啊~ 这篇是斜面碰撞的後篇~ 今天要来补完我们...

Day3. Ruby的数字、字串,以及 ===

Day3 要来介绍Ruby字串、数字,还有Ruby 的 === Number 数字比起其他类别,还要...

Day02: Hello TypeScript! 环境安装起来 + 牛刀小试~

Q: 同事说自己的 C++ 能力是世界第一,怎麽样可以让他意识到自己没那麽厉害? A: 实不相瞒,...

Day30 用python写UI-Canvas(二)

最後一天~~~ 压轴当然是要最好玩的东西啦,讲完今天的内容,大家就可以在介面上自由的创作了! ♠♣今...