转职软体工程师,个人专案一定要注意的 6 件事

2023年12月19日

💎 加入 E+ 成長計畫 與超過 350+ 位軟體工程師一同在社群中成長,並且獲得更多的軟體工程學習資源
image

转职成为工程师时,由于缺乏相关经验,一般都需要透过个人专案来展现能力。在这篇文章中,笔者将分享 6 点在个人专案中需注意的事项。这些都是笔者及 ExplainThis 团队在协助读者检视他们的专案时发现的常见问题,也是求职时特别重视的地方。

备注:以下要点着重在转职软体工程师、过去没有相关经验的情况,如果已经有软体工程师工作经验,这些个人专案的建议可以参考,但是也许不完全适用。

1. 选择有特色的个人专案主题

随着转职班越来越普及,学生常常被指派特定主题来完成他们的个人专案。这导致来自同一转职班的学生作品和技术应用趋于相似,往往给面试官留下千篇一律的印象。如果你的作品没有突出之处,很容易被忽略。一个独特的专案主题,相对而言,更能引起面试官的兴趣,促使他们深入探究专案细节。

个人专案的真正价值不只在于最终的产品,还包括整个开发过程:从选择主题、规划架构、实现功能,到展现软实力(如时间管理和问题解决能力等),这些都与日后的工作紧密相关。

从笔者的亲身经验和谘询者的分享中可见,许多公司,尤其是新创公司,会对“为何选择此专案主题”或“如何实现这个特别的专案”等问题表示出强烈兴趣,这反映了他们对个人特质的重视。

因此,在你的个人专案中展现独特性很重要,但这并不意味着专案需要非常创新。关键在于展示你能够独立完成专案功能并呈现出你的特色

2. 功能是否涵盖 CRUD、串接 API (或第三方服务)

笔者过去遇到一些转职者的专案,他们的 UI 做的很好,但功能上只有读取(Read),缺乏创建(Create)、更新(Update)、删除(Delete)等操作。一个完整的专案应该涵盖这些基本功能。通常在学习新的前端框架时,会透过开发待办事项列表(Todo List)练习 CRUD 操作,显示出能够利用这些框架完成基本功能。

此外,与串接 API 或第三方服务相关的功能也是基本且重要的一环。

但如果你的专案在这些方面不够完整(有可能是因为主题不适合、或其他原因),建议透过技术亮点来弥补这一不足(详见第三点)。如果你的功能完整,并融入技术亮点,这将成为你的加分项目

3. 专案是否有技术亮点

技术亮点可以帮助面试官了解你的技术能力和深度。例如,开发一个电商网站与开发一个具有良好的 Core Web Vitals 的电商网站,在面试官眼中是截然不同的。建议在构思专案时就考虑技术亮点。例如:你打算要做一个电商网站,可以通过一系列的性能优化方法,如图片和资源的最佳化、缓存策略、最佳化 CSS 和 JavaScript 的载入等,来实践高分的 Core Web Vitals(Google Lighthouse),透过此来证明在网页性能优化方面的专业能力。

其他的技术亮点可能包括测试、开发多语言网站(i18n)、实践无障碍(Accessibility)等。这些元素结合你的专案主题,可以展现出技术的深度和广度。

4. 注意细节、一定要测试

笔者曾与一位面试主管聊过,他表示在评估候选人的专案时,如果在执行基本操作或主要功能时遇到白页,他通常会将该候选人淘汰。这是因为他认为候选人对自己的专案不够重视,这种态度在未来的工作和团队合作中可能会成为问题。除此之外,面试官也有可能会检查你的 git commit 纪录(有些人在 commit 的时候会随意 commit 或直接 commit 一大包,这些都是要避免的,但当然之后工作上怎么样,可能是另一回事 😂)。

相对地,如果你的专案在细节上做得很好,比如:加上 404 错误页面、把没用到的套件删掉、删除无用的代码等(这些在有些面试官看来是基本要求),做到这些细节,则会给面试官留下非常好的印象。这些看似小细节,实际上反映了你对工作的态度和对品质的追求

有朋友分享经验,他的个人专案是一个旅游资讯的平台,虽然功能只有读取(Read),但由于他在性能优化上做得非常出色,加上专案细节处理得很好,他在找工作时,得到许多面试主管的称赞,也拿到了不少 offer。

5. Github Repo README 的撰写

如果面试官对你的履历感兴趣并查看你的 Github Repo,一个好的 README 文件非常关键。一些专案 Repo 可能使用预设的 READMe,但建议不要这样做。一般来说,个人专案的 README 应该包括:

  • 专案基本资料
  • 功能介绍、荧幕截图或录影
  • 使用教学、专案启动教学
  • 涵盖的技术
  • 技术亮点或其他相关资讯

等等。

6. 准备面试会被问到的题目

由于转职者通常缺乏相关经验,面试时往往会聚焦于个人专案的细节。常见的问题包括:

  • “这个专案中最具挑战性的功能是什么?你是如何解决的?”
  • “为什么选择这个专案主题?”
  • “如何实现特定功能?”
  • “为什么选择使用某个框架或套件?”等。

对你特别感兴趣的面试官可能会直接查看你的代码并提出问题。因此,要确保自己完全理解专案的各个部分、功能,并建议在面试前,要重新复习这些代码

以上六点是准备个人专案时需要注意的要点。希望这些建议能帮助你在转职的路上取得成功!

🧵 如果你想收到最即時的內容更新,可以在 FacebookInstagram 上追蹤我們