我希望在成为初级软件工程师的第一天之前就知道的五件事
我希望在担任软件工程师的第一天之前了解的一些事情的清单。
2. 希望我能更熟悉 Git 并与团队一起使用它
3. 调试代码并使用断点
4.学习如何更好地导航我的IDE
5. 在工作中学习是可以的
我希望在担任软件工程师的第一天之前了解的一些事情的清单。
我担任助理软件工程师已经三个多月了,我觉得现在是时候写一篇对其他即将开始新工作的初级工程师,或者正在积极申请第一个开发职位的工程师有帮助的文章了。这份清单可能对你来说不太适用,但对我来说,这五点是我的重点。说实话,我希望我的学校作业能更多地涵盖这些方面。协作是开发中非常重要的一部分,我觉得我在学校学到的大部分都是理论,以及如何作为一名独立的工程师,而不是作为团队的一员进行编程。
所以不用多说...
1. 我希望自己能有更多设置和排除工作环境故障的经验
今天是第一天,我唯一的任务就是设置好工作环境,然后和同事们见面。很简单……对吧?别急……
所以,在我的大学生活和个人项目期间,我一次都没有设置过 Visual Studio。虽然我在家设置过 Netbeans @WGU、Eclipse @CSU、Rider 和 IntelliJ,但我完全没有使用过 Visual Studio。考虑到我之前用过的所有 IDE(Rider 除外)都是用来开发 Java 应用程序的,而现在我正在用 .NET Core 编写 C#,这并不奇怪。
第一天,我在尝试编译代码时遇到了一些错误。我花了一整天的时间进行故障排除。虽然我们的文档写得非常好,但还是有一些地方没有涵盖,比如我遇到的具体错误处理方法。我真心觉得,在大学里学习一门关于设置IDE工作环境的课程会很有价值。我的一些同事花了整整一周的时间来设置他们的工作电脑,现在我能理解了,因为要把所有东西都设置得恰到好处是需要时间的。几天后,在首席工程师的帮助下,我终于把一切都顺利完成了。
简化操作的小贴士:一旦你接受了工作邀请,就联系你的老板,询问团队使用的 IDE 和插件。花点时间学习 IDE,并尝试从网上下载一些项目并进行设置。
2. 希望我能更熟悉 Git 并与团队一起使用它
Git……或许是现代编程中最重要的领域之一。几乎每家公司都在使用 Git 或某个版本的源代码管理工具。我以前在学校里根本没用过 Git。学校里没有教如何使用 Git、它是什么以及它为什么重要的课程。幸运的是,我在一些个人项目中用过 Git,所以并没有完全搞不懂,只是当时只是用来在 Github 上存储项目,而不是用来协作。
问题在于,Git 在协作方面确实表现出色,但在尝试将分支代码合并回主干时,你可能会遇到一些令人头疼的问题。这些问题对于害怕犯错的初级开发人员来说尤其可怕。一旦你开始合并代码,如果看到构建失败,我保证,作为一名刚入职的初级开发人员,你的心会猛地一沉。一切都会好起来的。你几乎可以修复遇到的任何 Git 问题,你的高级工程师也知道这一点。
简化操作的小贴士:多练习!找到你感兴趣的项目并尝试为它们做出贡献,GitHub 可能是最好的资源。参加一些 GitLab 的 Git 课程……它们是免费的。最后,我发现如果在合并之前先对分支进行 rebase,成功率会更高,因为 rebase 的工作原理与合并不同。这里有一篇关于 rebase 与 merge 的很棒的文章。
3. 调试代码并使用断点
在我担任初级开发人员的第一周,我的任务是为已确认可以运行的现有代码编写一些单元测试。顺便说一句,为现有代码编写单元测试是学习代码库和熟悉正在开发的应用程序结构的好方法。在那段时间里,我对使用断点和调试还很陌生。你可以想象当时我准备得多么不充分,但我还是完成了,甚至还发现了我的第一个错误。
回想起来,我大学期间完全不记得写过任何单元测试。我记得上过一些软件测试课程,但都是手动测试/质量保证课程。这些课程确实很有帮助,但对单元测试帮助不大。在编写我的第一组测试时,我没有意识到可以在测试的控制器中设置断点。现在想想,当时写这些测试让我感觉有点傻。当然,我可以在测试的控制器中设置断点,但当时我写测试的时候,只想到在测试类中设置断点。
简化操作的小贴士:为你的个人项目编写一些单元测试。测试驱动开发非常重要,很多公司都在使用它。就我目前的情况来看,我们不允许在没有单元测试的情况下推出 RESTful Web API 控制器/端点。另外,在开始之前,问问你的新团队他们使用什么进行单元测试,并尝试熟悉它。在我的工作中,我们使用 xUnit,我希望在开始之前花点时间学习一下。这其实并不特别难,但熟悉之后信心的提升会大有帮助。
4.学习如何更好地导航我的IDE
从技术上讲,这可能与“我希望我有更多的经验来设置和排除工作环境故障”和“调试代码和使用断点”有关,但我觉得它足够重要,值得拥有自己的部分。
想象一下:你正在和你的新主管进行一对一的代码审查。你带着笔记本电脑走进房间,一边摸索着快捷键和标签页,一边试着用它们运行代码。当然,你是新手,可能无法快速解释你的代码,这可以理解,但因为不熟悉 IDE 而手忙脚乱,几周后你应该就能克服了。
简化操作的小贴士:学习 IDE(Visual Studio、VS Code、Intellij 等)的快捷键,这将会非常有帮助!在下一个家庭项目中,不妨先在工作使用的 IDE 中编写代码,以便更熟悉它的使用方法。此外,如果您的公司使用扩展程序或插件,也建议您熟悉一下它们。
5. 在工作中学习是可以的
好的,这是最重要的一点。冒名顶替综合症是真实存在的。在职学习是可以的,事实上,这通常是被鼓励的。当然,有一条底线:你仍然需要完成你的工作并专注于与工作相关的任务,但学习是编程过程中持续的一部分。当我收到现在这份工作的工作邀请时,我对学习 C# 感到非常紧张,因为我之前只使用过 Java 和 Python。我在家自学了一些,但我的大部分 C# 编程技能肯定都来自于在职学习。
重要的是要记住,你正在努力争取初级职位。这些职位的设立是为了学习。我的公司为开发人员支付了 PluralSight 和 LinkedIn Learning 的订阅费用,以便我们学习新技术,或者帮助初级工程师更好地学习我们现有的技术栈。不必无所不知,提问也无妨。我的建议是,先尝试自己解决问题,然后再尝试 Google/StackOverflow,如果仍然遇到困难,可以咨询你的一位高级工程师,看看他们能否帮助你学习如何使用 X。
简化流程的小贴士:学会顺其自然,充分利用你手头的资源。学会主动寻求帮助,但更要学会主动寻找自身问题的解决方案。同样,这需要平衡。你需要花时间尝试解决自己的问题,这是意料之中的……但也要知道,你仍在学习,有时需要寻求帮助。另外,请不要让“冒名顶替综合症”阻碍你申请初级职位。把你的简历投出去吧!如果你充满热情,并且了解基础知识,那么其他一切都能学到!
这就是我希望在成为软件工程师的第一天之前了解的事情清单。希望这份清单能帮助大家放松身心,为自己的初级软件工程师职位做好准备。另外,你的结果可能会有所不同……每家公司的情况都不一样,但这对大多数公司来说应该是一个不错的起点。祝你软件工程师之路一切顺利!
请订阅并关注我的网站以获取更多类似帖子:https://iamtravisw.com
鏂囩珷鏉yu簮锛�https://dev.to/iamtravisw/5-things-i-wish-i-knew-before-my-first-day-of-being-a-junior-software-engineer-4cfd