ARTS - Review

为什么当你觉得你像开发人员一样苦苦挣扎时候觉得学到的最多

我的开发技能突飞猛进的时候就是我在挣扎着学一些新东西并没有放弃的时候。这对我来说并不总是容易。我遇到了一些帮助我突破个人障碍的一些想法。

可能也适用你。

当你面对难的软件工程问题时候太容易陷入沮丧了。我时常会产生一种想放弃的感觉。在这种情境下我察觉到我的理性意识开始提出为什么我应该花费时间在熟悉的事情上或者抱怨问题超出我的能力的原因。

我知道我并不孤单。

我在Reddit看到人们讨论他们在他们的课程上遇到的一些挑战我也曾和很多专业工程师进行探讨他们遇到的让他们对自己掌握复杂概念的能力产生怀疑的情景,这些情景他们同事看起来“轻易掌握”。

虽然并不容易,能够持续面对这些挑战是非常有价值的。

经过一些年我开发了一些精神上的方法帮我度过那些艰难时刻。

这些就是一些帮到我的要点。

1. 一个人通过辛勤工作和努力能成为一个更好的开发者

天赋或辛勤工作成就一个伟大开发者?

你是怎么考虑的?一些人生来就是伟大开发者或者人们只要通过努力就一定能成为伟大开发者?

我相信得到这些问题的确切答案是不可能的。所以我开始选择相信,一个人通过自己努力成为一个好的开发者。

这是一个更有用的观念。它意味着如果我与学某些东西做斗争,如果我努力就会掌握。

它也意味着我不得不接受事情并不会经常容易或有趣。 努力工作是必须的。

2. 当你第一次尝试做某些事情,可能会困难,你不该期望瞬间转好

作为程序员,我有时候感到沮丧因为我跑进了我不懂的一些事但是我感觉我又应该理解它。

当我加入一家用git并有很多git专家的公司的时候。当我最终面对现实我的sql技能不好的时候。

在每个这些实例中,我都感到我应该掌握这些技能。毕竟,我不是一个拥有多年经验的高级全栈工程师吗?

现实情况是,尽管我是一个拥有很多经验的工程师,没有很多经验能改变我的现状 — 我也是第一次了解到这些技能的细节, 并且最初我对它们一个都不在行。

尽管有时新事物简单,有时却并不简单。我发现了一个有用的观点当我第一次做某事时我不会期待我擅长它。

它就像这样…

“我之前从没用过Java 编程, – 我不期望我擅长它。这是我上这门课的原因。”

“我之前从没提交代码到git仓库里,我不期望我知道怎么做。这是我向同事求助的原因。”

这类想法拆除了我脑海中我不够好或我将走向失败的声音。我非常可能失败我至今可能做的都不够好。我不期望变好– 这是我尝试的原因–变得更好。

3. 在代码上工作并不总是有趣,尽管一项工作不有趣,但它让然被完成

有时我陷入软件开发工作并不有趣。

有时我Spark集群中一小片数据处理代码造成节点随机失败,或一些本应该工作良好的库并没工作不管我这怎么做。

这些瞬间是不有趣的,有时我真诚希望做些其他事而不是花费时间尝试找出问题。

问题是,我意识到编码并不是总是期望应该有趣有时我不得不卷起袖子干工作。

尽管这些情况是困难的 ,我发现它们通常有一线希望 – 事实证明我们在困难中学到的是最多的。

4. 当你面对超级挑战你学到最多–有时这样的失败是正常的

当我尝试做对我来说很难的事,我发现那是我真的学到东西的瞬间。

对来来说有数十个例子都能举出。

我第一次拿起一本编程书 — 我一直在努力知道我突然学会了编程。

我尝试架构大型应用时候。我一直努力直到我学会架构框架和设计模式—在那时我们抛出几个月时间在之前的代码上,开始用几个短周一周期用新的设计模式重构我们的 APP。

在我真正啃下来真正掌握SQL的时候。在那之后我拥有了在我们计算机数据科学组工作的技能。

我尝试用web-app技术搭建我们公司的数据处理基础设施时候。我持续努力知道我学会数据湖, ETL 传输,分布式计算解决方案。

清单持续中。

每个这些经历都有痛苦的时候。我走入死胡同丢掉很多代码。我尝试了很多,失败了很多。

但是那些压力教会我新的技能让我成为更好的开发者。如果没有那些压力我就不会学会很多。

这些天我选择相信当我感到压力,挑战和一些紧张,这是一件好事。我正在努力,所以我正在学习。

和…

我学到欢迎这些紧张的感觉。这并不舒服但是我认为学习它是值得的。

思想是一个强大的工具

你可以选择你相信的你的信念能带给你磨砺通过挑战你必将面对自己成为一个更好的程序员的道路。

我希望这些思想框架(有些是你自己的)能帮你通过通过你的挑战。

不要放弃,持续努力。

当你不懂某件事时,持续努力工作,持续尝试理解它。你将会惊讶于你的能力如果你尝试的话。

感谢花费时间阅读文章。