做了六个月的项目之后,我找到了第一份开发工作。以下是我的故事!

2025-05-26

做了六个月的项目之后,我找到了第一份开发工作。以下是我的故事!

各位,正式消息,我被聘为前端开发人员了!!!我明天就开始工作了,我非常兴奋地与开发者社区分享这个消息。

替代文本

找到第一份工作,我的喜悦之情难以言表。一年的自学、创业、失败和人脉拓展终于有了回报!

以下是整个过程的大致时间线,包括我所做的一些项目以及我使用的一些资源。

2020年4月1日 - 疫情决议:

加拿大正经历第一波疫情,我们正处于严格的封锁之中。我被暂时停职,不知道什么时候才能恢复正常。

经过大约 3 周的自怨自艾、无休止地观看 Netflix、早餐、午餐和晚餐都吃披萨和薯条之后,我觉得是时候振作起来并学习一项新技能了。

几年前我完成了freeCodeCamp的 HTML 和 CSS 课程,并且非常喜欢,所以我就知道自己想成为一名软件开发者。我还有一些开发者朋友,他们在疫情期间没有受到影响,甚至过得还不错,这要归功于我们“一切都在线,互联网统治世界”的新生活方式。

从五月份开始,我将开始我的开发者之旅!

2. 2020 年 5 月 - HTML 和 CSS:

我学习了 freeCodeCamp 的 HTML 和 CSS 部分。入门不错,但我并不满意。由于练习内容比较繁琐,我不太明白某个 CSS 类该如何以及何时使用。

freeCodeCamp 的 JavaScript 和 DSA 部分非常令人难以接受,我不确定在不正确理解 HTML 和 CSS 的情况下转向 JS 是否明智。

我决定稍微绕点弯子,买了 Jonas 的HTML 和 CSS 初级课程,并跟着 Kevin Powell 的教程学习。终于,我开始掌握 flexbox 和基本的 CSS 布局了。

3. 2020 年 6 月至 8 月 - JavaScript 和教程地狱:

通过学习视频课程和教程,我意识到自己更倾向于视觉学习,因为如果用视觉的方式解释概念,我就能更好地理解。这种认识促使我在 Udemy 上学习了 Andrew Mead 的JS 课程。

我学会了大部分基础知识。然而,我很快意识到,仅仅跟着老师打字并不是学习编程的好方法。这是一个艰难的阶段,因为我对自己的 JS 能力不太确定。我以为参加其他课程会有助于巩固我的知识。我尝试了几个 YouTube 教程、10 小时的免费 FreeCodeCamp 视频和其他 Udemy 课程。但一切都无济于事。

我正处于你所说的“教程地狱”之中!

替代文本

2020 年 9 月 4 日 - React 以及为什么 Redux 几乎让我放弃一切:

当我怀疑自己的 JS 技能时,我也读到过一些文章,说仅仅了解 JS 是不够的,需要学习一个框架才能找到工作。我第一次听说 Vue、React 和 Angular。我更加困惑了。

我决定继续学习 React,因为它几乎无处不在。有人告诉我,学习 React 后他们如何更好地理解了 JS。这启发了我!

这段旅程有点坎坷。Class 组件和 this 关键字让我不知所措,JSX 是我从未见过的,我完全不知道配置 Webpack 意味着什么。我努力坚持着。

替代文本

然而,压垮骆驼的最后一根稻草是 Redux。没错,React 生态系统的必要之恶!一切都变得毫无意义。什么是 dispatch?什么是 reducer?等等,还有 useState 呢?我完全不知道自己在做什么,开始怀疑自己。我适合做这个吗?这一切都是错误的吗?

5. 2020 年 10 月 - 2021 年 3 月 - 建筑项目教会了我一切!

有一天,我偶然看到一个 YouTube 教程,有人用 React Hooks 构建了一个 Netflix 克隆版。我简直不敢相信自己的眼睛。这可能是我第一次看到有人构建一个除了无聊的待办事项列表之外的东西。

我立刻就被迷住了(一语双关)。我想构建那个克隆。我对钩子不太了解,但我知道我不可能花一整门课程来学习它。我决定边学边做。

替代文本

真正的学习从这时才开始!我理解了 JSX、SCSS、基本的 Hooks,并学会了如何使用开源 API。甚至对 Suspense、延迟加载以及 React Router、Lodash 等外部包也略知一二。这些我以前从未想过,除非上过相关的课程,否则自己能掌握!我成功地通过 GitHub 在 Netlify 上部署了项目,并在此过程中学习了 CI/CD 的基础知识。

大家说的都是对的。你不可能通过阅读、聆听或观看别人编程来学习编程。你必须亲自动手!我决定在需要的时候学习新的概念。

替代文本

我的下一个项目是加拿大的 COVID-19 追踪器。在构建过程中,我学习了如何使用 CSS 框架、Chart.js、Leaflet 和 Mapbox。

我决定为我的下一个项目实现一些后端功能。我还决定学习 Next.js 和 Tailwind CSS。我构建了一个简单的Google Keep Clone来学习 Next、Tailwind 和 Firebase 的基础知识。

替代文本

掌握了这些技术后,我决定开发一款力量训练健身应用作为我的毕业设计。由于我做过一年的私人教练,所以我对一款功能齐全的应用需要哪些核心功能有一个大概的了解。我加倍投入了 Next、Tailwind 和 Firebase 的开发。如果有人感兴趣的话,我在这篇文章里写了关于这款应用的内容。

替代文本

我花了上个月的时间建立我的个人作品集网站(这里有一篇关于我如何在作品集网站上获得完美 Lighthouse 分数的文章)并改进我以前的项目。

6. 2021年4月-5月——无需申请,通过人脉关系我得到了这份工作:

我花了四月份的大部分时间复习 JS 和 React 的基础知识。我参考了这篇文章中提到的代码库以及这些 课程视频教程

在准备过程中,我偶然发现了一些播客,建议自学的申请人在学习 JS 框架并认为自己相当有能力后立即开始建立人脉并申请。

我将此视为一个信号,参加了多伦多地区所有与科技相关的聚会。我确保更新了我的简历和领英个人资料。我开始积极参与并与工程师、经理和初创公司创始人互动。在其中一次聚会上,我遇到了一家初创公司的联合创始人,我们聊了起来。显然,他们正在寻找一位前端开发人员,并想面试我。我终于迎来了第一个机会!

面试分为三个部分:第一部分是一些关于我的职业背景和项目的基本问题。第二部分比较专业,我们讨论了前端设计原则、SEO 优化以及我的项目细节。最后一轮是一场两小时的编程挑战,我被要求编写一个简单的计算器代码(我可能会另写一篇文章,详细介绍我的面试经历)。

一周后我就获得了这个职位!

关键要点:

如果您没有阅读完上述所有内容,而只是想要一些切实可行的行动方案,以下是我的一些主要收获:

  • 不要只是看教程,快来构建项目吧!将它们推送到 GitHub 并部署。使用这本免费电子书来获取项目灵感。
  • 尽量让你的项目看起来更具视觉吸引力。Dribble 和 Behance 是很棒的灵感资源。
  • 开始建立人脉。参加当地的聚会,在领英上与你想为之效力的人联系,在科技推特上互动。你永远不知道谁在招聘!
  • 你永远都无法完全做好准备。如果你了解 HTML、CSS、JS 以及一些框架知识,那就立即申请吧!

我知道自己无比幸运,在对的时间出现在对的地方,第一次面试就得到了我的第一份开发工作,甚至都没有申请。Veritasium这段精彩视频完美地概括了我的经历以及我对运气和成功的感受。但我也知道,如果没有投入近一年的时间学习、构建和自学编程,我永远也不会得到这个机会。

我非常幸运能够找到这个职业,我迫不及待地想要开始这段旅程!

如果您有任何疑问,请留言。我还在 Twitter 账号@prnvbirajdar上发布了大量实用资源以及我在开发过程中获得的经验教训。

祝大家安全编码快乐!👨‍💻🚀👩‍💻

文章来源:https://dev.to/prnvbirajdar/i-landed-my-first-dev-job-after-6-months-of-building-projects-here-s-my-story-4em1
PREV
使用 Next.js 和 DEV.to 构建博客的资源
NEXT
精美、响应式的 Tailwind 组件库集合