我已经是一名“真正的”软件工程师了吗?
只有在你没有冒名顶替综合症的时候,它才是糟糕的。感觉自己像个骗子,表明你正在学习。在一个陌生且不舒服的环境中感到焦虑是完全正常的。当你觉得自己完全知道自己该做什么,以及一切是如何运作的时候,麻烦就来了。如果你发现自己处于这种情况,你就不再学习了。
我已经是一名“真正的”软件工程师了吗?
这个问题困扰了我好几年。而且似乎不止我一个人有这种感觉。很多人都经历过同样的不安全感。他们渴望知道自己是否成功了。*他们最终*够好了吗?
虽然“软件工程师”是雇主授予的标准头衔,但软件社区中的许多人对此有不同的标准。对于新入行的程序员,尤其是那些没有计算机科学学位的程序员来说,这个头衔感觉像是被保护着的。只有那些已经证明自己能力的优秀人才才能获得。
很多人把这种缺乏感称为“冒名顶替综合症”,尽管它有很多名称。开发人员对此的体验和反应各不相同。对某些人来说,它可能令人难以忍受,但其他人可能根本感觉不到。
在本文中,我将讲述自己与冒名顶替综合症抗争的经历。虽然我并不自诩拥有治愈方法,但我希望能对这个问题提供一些启发,并帮助其他正在遭受这种困扰的人。
注:我分享的所有评论都是我在网上找到的真实评论。并非所有评论都是针对我的,但我也听到过类似的评论。我相信你也听到过。
当一切开始时
照片由Danielle MacInnes在Unsplash上拍摄
对我来说,这一切始于2016年7月。我当时决定学习Web开发,作为新年计划。当时我对自己的职业并不满意,想要寻求改变。我相信很多人都有过类似的经历。
我专注于前端开发,因为我听说HTML、CSS和JavaScript很容易上手。下班后,我利用晚上的时间钻研Treehouse、Lynda和Codecademy的教程。2016年的前三个月就这样过去了。到了四月份,我的笔记本上已经写满了详尽的笔记,我的GitHub上也有一些静态网站。但我并不满足,我想全身心投入一个更大的项目。
那时我决定为我的妻子创建一个作品集网站,她是一名产品设计师。以我当时的技能水平来看,这并非易事。我费了很大劲,花了将近四个月的时间才完成。
值得一提的是,在妻子的网站工作期间,我尽力让自己沉浸在科技文化中。我观看YouTube视频,收听播客,阅读经验丰富的工程师的博客文章,以此来保持动力。我幻想着站在他们的立场上会是什么感觉。在一家科技公司工作,研究最新技术,在税务表格上把“软件工程师”写成我的职业。硅谷让这一切看起来如此辉煌。
这就是为什么当年七月我妻子的网站上线时,我无比高兴。我成功了。我创建了第一个真正意义上的网站,它将迎来真正的流量。我终于可以称自己为软件工程师了。
“Web 开发不是真正的编程”
根据互联网的说法并非如此:
“Web 开发不是真正的编程” — 阅读更多
“Web 开发不是真正的编程”、“JavaScript 不是真正的编程语言”、“前端开发人员不是软件工程师”等等,这些都是我经常听到的。虽然我决心转行,但我也感到很忐忑。我始终无法摆脱那些反对者说的话的念头。
如果我有B计划或稳定的职业可以依靠,我可能当时就放弃了。幸运的是,我没有。不管怎样,我没有其他职业或技能可以依靠,而且我已经投入了太多时间。所以我艰难地坚持着,沉没成本支撑着我。
接下来的18个月,我全心投入软件开发。我辞掉了工作,搬去和公婆家住——这本身就是一段旅程。我倾尽所有,投入到我的职业转型中。我学习了Ruby、Node和一些Go语言,并开发了一些小型的Web应用。
到2018年1月,我的职业转换已经两年了,我学到了很多东西。我掌握了基础知识,可以使用多种语言编程,并且开始为开源项目做贡献。我的作品集也相当不错。我终于可以称自己为一名软件工程师了,这让我很兴奋。
互联网说:“没那么快。”
“如果你没有软件工程学位,你就不是真正的软件工程师。……你只知道如何编写一些代码。”
到那时,我已经应对过许多质疑。虽然听到批评仍然感觉不太好,但我已经学会了大部分情况下忽略它。而且,我还有一张王牌。我还有最后一步可以消除所有疑虑:找份工作。
是的,一份软件工程师的工作。那简直是梦想成真。我会拥有头衔、薪水和赞誉。不再自我怀疑,只得到雇主应得的认可。
我就是这么做的。我从2018年初开始面试,并在2018年3月签下了第一份录用通知书。我的正式职位是“软件工程师”。就这样,等待录取的征程终于结束了。
越来越糟
我从事软件工程已经30年了。……你甚至还没开始理解你不知道的东西。祝你好运!
至少我是这样想的。似乎这种门槛甚至延伸到了就业领域。但一切都结束了。我是一名软件工程师——我有W4文件可以证明这一点。从我第一天踏进办公室的那一刻起,我所有的担忧都会消失。
但事实并非如此。谁知道,增加义务和期限只会让一个人的不安全感加剧,而不是改善呢?
入职第一天,我的焦虑就达到了顶峰。Slack 上的对话我听不懂。GitHub 仓库里成千上万行代码我看不懂。开发工具我从未听说过或用过。上班第一周,我压力山大。
别误会,能被这么多经验丰富的工程师包围着,我真的很激动。我的团队里都是我见过的最聪明的工程师,他们非常理解我。他们指导我,让我快速上手。但这仍然让我感到无比恐惧。
我的许多同事都拥有高学历,有些人从十几岁就开始编程,还有一些人是大型开源项目的核心维护者。而我呢?一个因为在电视上看到编程很酷而学习编程的人。我感觉自己格格不入,这种感觉一直没有消失。
我的想法开始变得像那些我曾努力证明是错误的负面评论:
我到底是怎么到这里来的?是运气好吗?还是有人搞错了?
我意识到我不需要Reddit来指出我的不足——我自己就能做到这一点。的确,随着时间的推移,我对自己的环境越来越熟悉。我开始理解Slack的对话,熟悉代码,也学会了如何使用各种工具。然而,我却无法摆脱那种身处异乡的陌生人的感觉。我犯的每一个错误都进一步证明了这一点。
我预料有一天我会犯太多错误,最终有人会问我:“你到底是怎么被录用的?” 这种恐惧吞噬了我。我开始阅读白皮书,经常浏览 Hacker News,并参加课程以获得计算机科学学位。所有这一切都是为了希望我最终能融入其中,成为一名“真正的”软件工程师。但这一切都没有奏效。
幸运的是,我找到了可以做到的事情。
寻找我的解决方案
我为自己找到的解决方案很简单但却令人恐惧。
说。
我必须找人倾诉。我再也无法憋在心里了。然而,我太紧张了,不敢问同事们“你有没有觉得自己像个骗子?”这样的问题。于是,我先跟我的密友们聊了起来。但很快,我发现自己会跟任何能聊的人聊这个话题,包括同事和队友。因为我说得越多,听得越多,就越意识到自己并不孤单。
事实证明,冒名顶替综合症非常普遍,甚至已经成为一种陈词滥调!
“又是一篇关于冒名顶替综合症的文章……每天走进办公室,完全掌握自己所做的和所写的每一件事,这本身就是一个问题。”
许多处于职业生涯巅峰的专业人士都会经历这种情况。蒂娜·菲、约翰·斯坦贝克,甚至阿尔伯特·爱因斯坦。我很欣慰地发现,我身边也有这么好的人。此外,在与一位密友交谈时,他说了一句话,引起了我的共鸣:
只有在你没有冒名顶替综合症的时候,它才是糟糕的。感觉自己像个骗子,表明你正在学习。在一个陌生且不舒服的环境中感到焦虑是完全正常的。当你觉得自己完全知道自己该做什么,以及一切是如何运作的时候,麻烦就来了。如果你发现自己处于这种情况,你就不再学习了。
就在那一刻,我意识到冒名顶替综合症并非需要对抗或忽视的东西。只要心态正确,它就能成为一种工具。这听起来可能像是一些自我安慰的废话,但公众演讲者也运用了类似的技巧,将焦虑转化为兴奋。
这并不是说我的不安全感神奇地消失了。远非如此。每当我接到一个新项目,我的恐慌就会不请自来。我的心跳加速,脑海里浮现出各种奇异的失败场景。然而,我已经学会把这种紧张情绪解读成我正在学习、努力挑战新高度的标志。
当我的经理给我一个复杂的任务时,这意味着他们相信我能完成。我可能需要寻求帮助,研究相关主题,或者只是出去走走冷静一下,但我知道我会完成的。我仍然会经常犯错,这一点永远不会改变。这都是过程的一部分。
毕竟,没有人无所不知,即使是在自己的专业领域。Dan Abramov 不懂 Flexbox,David Heinemeier Hansson还在查阅自己编写的 ActiveRecord 方法。如果追求完美是一个可行的目标,Stack Overflow 就不会像现在这么受欢迎了。
我是一名“真正的”软件工程师吗?
那么,过了这么久,我算是一名“真正的”软件工程师了吗?LinkedIn 似乎认为是这样。
更好的问题是:“这重要吗?” 我并非一直对科技充满热情,也缺乏Rockstar工程师那种引人入胜的出身故事。但我现在在这里,而且会一直在这里。所以,对于那些对我的头衔有强烈意见的科技圈人士,随便你怎么称呼我都可以。软件工程师、程序员、脚本小子……
我的头衔对我来说不再重要。重要的是我做什么。我所做的就是用代码解决问题,构建解决方案,让人们的生活更美好。
最棒的是,我在这方面非常擅长。
鏂囩珷鏉ユ簮锛�https://dev.to/sunnyb/am-ia-real-software-engineer-yet-3j62