初级开发人员的一天工作内容
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
在我成为开发者的道路上,我一直很好奇在公司工作会是什么感觉?典型的一天是什么样的?我相信你们很多人也经常问自己这些问题,所以我想向你们展示一下我在一家大公司的工作日是什么样的。
三个月前,我找到了第一份技术领域的工作。我非常高兴,也很好奇在一家真正的公司工作会是什么样的体验。终于有机会了解一下了。
在我开始工作之前,我的日常生活是这样的:起床,打开电脑,阅读一些可能对我的某个副业项目有用的文章,然后开始做我的副业项目。当然,我每天花在编程上的时间并不固定,有时一天只花3个小时,有时一天会花上10个小时(尤其是在我试图修复bug的时候,你知道那种感觉🤪)。
有趣的是,自从我从事这份工作以来,实际上并没有发生太大的变化,尽管我现在偶尔会和项目合作者进行沟通/写作。目前,由于疫情,我正在远程办公,未来这种情况应该也不会有太大改变。
初始阶段
一开始,我并不想远程办公。在家待了这么久,我很高兴终于有了出门的理由,可以去公司,见见同事,聊聊天。但几天后,我意识到在家办公的好处多多。(不用浪费时间打扮自己,不用花两个小时通勤,不用吃快餐,也没有低效的休息时间)。我可以早上6点到晚上10点工作,前提是公司相信我每天能保持大约8小时的高效工作状态。
一开始,我需要学习Angular和Java Spring Boot。因此,除了每日站会(稍后会详细说明)之外,我基本上都是自学和掌握这两种语言。两个月后,我开始参与一些内部项目,以便积极运用我的知识。
内部项目
公司给我配了一台笔记本电脑。和我的业余项目一样,我用 Visual Studio Code 编程,并根据我的需求进行了设置,包括我需要的扩展程序和其他需要的程序。
在 GitLab 上(它的操作方式与 GitHub 几乎相同,所以我很快就上手了),Scrum Master 为项目仓库创建了 Issues。我们开发人员(一共 3 人)分配了自己想要处理的 Issues。我负责的是前端部分,它被拆分成了几个 Issues。
在每日汇报中,我会说明我的进度(展示代码),我预计解决问题所需的时间,以及我遇到的问题或挑战(例如,我遇到了一个 bug 还没找到解决方案;或者,我想获取数据但还没找到最佳方法)。这没什么丢人的,纯粹是为了让团队能够(学习如何)估算一个人认为需要多长时间才能完成。
问题
例如,其中一个问题是:创建两个表单字段,供用户输入家庭住址。验收标准 (AC) 包括:表单必须居中、添加验证等等。这个问题我花了整整两天时间才解决。这是我第一次用 Angular 编写代码,我对模板驱动表单和响应式表单的优缺点了解甚少。
另一个问题是添加一个符合特定条件(AC)的日历。用户必须能够选择今天到未来十天内的日期。只有与此时间段相关的月份才能被选中。月份视图不能显示上个月的最后一天或新个月的第一天,等等。我花了两个星期才完成这个问题。我决定(至于如何实现,这是我自己的决定)使用 moment.js,为此我必须学习这个框架的工作原理。
每个开发者都在自己的分支上工作。每天应该提交(并推送)一次。这样做并非为了确保工作完成,而是为了防止有人突然生病导致代码丢失,或者让其他人可以继续工作。当所有人都处理完各自的问题(冲刺结束)后,代码就会被合并。(如果我们愿意,开发者也可以一起合并,以便尽快处理合并冲突。)
在客户项目中工作
我在一家大型公司工作。我们为其他公司提供IT解决方案,因此每个项目都是独一无二的,每个项目都需要一个专属团队。如果您对某个项目感兴趣并想加入该团队,可以申请加入。面试的重点在于考察应聘者是否适合团队,能否与团队成员和谐相处,因为在项目周期内,这不应该影响敏捷团队的运作。
项目要求
在项目工作中,每个项目的具体要求可能都不相同。有些项目可能需要你在公司现场办公,并有特定的开始和结束时间。你使用的编程语言也可能有所不同。此外,项目的周期也可能从1个月到2-3年不等。这使得在公司工作非常有趣。我非常喜欢这种工作方式,它让工作体验既令人兴奋又充满成就感。
Scrum
Scrum 是个非常好的关键词。我们使用Scrum 框架(很多其他公司,尤其是科技公司,也都在使用),所以在申请工作之前了解 Scrum 很有帮助。Scrum 到底是什么意思?
Scrum 方法是一种敏捷产品开发和敏捷项目管理的框架。
团队中的开发人员每天都会进行不超过 15 分钟的每日站会,讨论例如昨天某人做了什么、今天某人在做什么、遇到的障碍、取得的成功等等。该会议每天在同一时间举行。
我们每两周召开一次迭代计划会议,讨论所有待办事项(产品待办事项)中最有可能在未来两周内解决的主题(迭代待办事项)。每位开发人员选择自己想要处理的主题。
每天,我都会埋头研究我的课题,直到完成(符合完成的定义)。每天开始的第一件事,我总是会上网搜索问题的解决方案。没错,就是谷歌搜索📲。
就像你在网上反复看到的那样:谷歌过去是、现在是、将来也永远是你解决问题的最佳伙伴。所以,即使是在面试中进行结对编程时,也不要害怕使用它。
此外,我还会阅读关于我所使用的编程语言的文章来改进我的代码,或者在 YouTube 上观看关于我遇到的问题的教程。所以,我做的事情和我做业余项目时做的事情完全一样。
我的第一个项目
🔜 我的第一个项目将于一月启动,目前仍将远程进行,我的工作方式应该和以往差不多。不过,如果有什么变化,我一定会通知大家的。我非常兴奋,同时也对下一个项目充满期待。
感谢您的阅读和抽出时间,我非常感激!
文章来源:https://dev.to/yuridevat/what-a-working-day-looks-like-as-a-junior-developer-1j63