本文探讨了开发人员市场上存在的误解,指出并非开发者短缺,而是缺乏合格的开发者。作者详细讨论了前端和区块链开发的标准,强调了成为合格开发者所需的知识和技能,并呼吁更多人针对性地提升技能以适应市场需求。此外,文章强调努力学习的重要性,并给出了有效学习的方法。
照片由 markuswinkler 拍摄 (<https://unsplash.com/@markuswinkler>)阅读有关开发者的新闻时,很难不产生人才短缺的印象。这很合理,对吧?如果公司可以轻松用更便宜的人来填补职位,他们就不会每年支付某人 100,000 美元。但是,开发者并不短缺。不相信我?复制并粘贴一份通用开发者职位描述,并在 LinkedIn 上创建一个免费的职位发布。你至少会收到十几份申请。付钱给 LinkedIn 推广这个职位,你会得到更多申请者。作为一名招聘经理,我已经见证了这种情况发生了数十次。
有数百人申请一个职位,你应该能够将他们的工资压低到每年不到 10 万美元,对吧?错了。
更确切地说,不打算称自己为开发者的人并不短缺。有的只是合格的开发者。进行急救并不意味着你是医生。使用电子表格并不意味着你是会计师。构建一个应用程序并不意味着你是开发者。这在任何开发领域都是如此。了解 react js 并不意味着你是一名 合格 的前端开发者。了解 node js 或 django 并不意味着你是一名 合格 的后端开发者。而用 solidity 编程一个 ERC-721 代币并不意味着你是一名 合格 的区块链开发者。为此,训练神经网络并不意味着你是一名深度学习工程师。
很容易看待前端开发,想“哦,我只需将一些 divs 作为 react 组件进行线框设计,加上 CSS,然后大功告成,我就有了一个 web 应用。”好吧,你确实有,但这很可能是一个加载缓慢、混乱不堪、SEO 糟糕的应用。你必须能够针对不同的浏览器进行调整。你必须知道如何优化组件加载,并在正确的时间和地点调用 API。你必须知道如何架构一个可以让多个工程师共同贡献而不会互相干扰的代码库。你必须知道为什么选择一个 CSS 解决方案而不是另一个同样功能的方案。你必须使用合理现代的工具来提高你的生产力。如果页面加载缓慢,你必须知道如何加速加载。你必须了解 SEO 和移动优化的工作原理。你必须知道各种库,以免重蹈覆辙。尽管你不需要成为 UI 或 UX 人员,但至少你需要了解基础知识。你必须识别内存泄漏并避免它们。你必须架构你的应用以无缝地运行 A/B 测试。你的架构需要有合适的抽象,以便轻松地更换功能和库。公司最终会艰难地认识到,并不是所有自称开发者的人都知道他们在做什么。由于糟糕的软件绝对会影响公司的收入,他们知道只雇用合格的开发者。
仅因为你在主网放了一份智能合约,并不意味着你就自动成为了一名智能合约开发者。
就像前面的例子一样,你知道了许多避免做的事情。仅仅因为你的代码可以编译并通过测试,并不意味着这是一份好的代码。后端工程师知道他们可以随心所欲地索引数据库,但按用户名字母的首字母进行索引是个坏主意,因为常见字母的索引会过载。前端开发人员知道应该尽可能少的组件挂载依赖于 API 调用,以避免在互联网慢时出现空页面。他们知道某些 CSS 模式在某些浏览器上不起作用,或者性能不如其他模式。你能为区块链创建类似的列表吗?(不使用谷歌?)现在试试。列表的长度有多长?你确定你涵盖了主要问题吗?招聘经理希望确信你知道这个列表是什么。在你学习了 4 周基本知识并构建简单的智能合约后,并不会熟悉应避免的事情。我们刚刚讨论了不该做的事情,那好的解决常见问题的方法呢?你知道这些模式是什么吗,还是你会因为不重复利用机构的知识而重新发明轮子?你知道是否应该在 L2 上,若是的话,如何与 L1 进行通信?你能从所有的需求中抽身出来,思考如何有效利用数据气体,并使其在将来的改变中具有灵活性吗?安全是一个重要问题。许多黑客攻击一再发生,因为开发者通常不研究此类问题。这使得信誉良好的招聘经理对雇用区块链开发者的想法感到恐惧。这一切并不是为了阻止或维持人为的排他性。也不是为了贬低那些在旅途早期的人。关键是,如果你能展示几个基于在线课程的简单项目,公司有充分理由拒绝你的申请。
照片来自 <https://pixabay.com/photos/optimism-optimistic-pessimism-619018/>但仅仅因为杯子填满了 50%,并不意味着它是半空的。对事实有一种有用和真实的半杯水解读。任何一个合理聪明的人,如果足够努力地训练,可以几乎在任何编程领域成为高级工程师。掌握一门学科并没有什么神秘魔法。这样的事情已经发生了数百万次,并将在未来数百万次重复发生。实际上,你完全可以独自做到这一点。当然,我们相信 RareSkills 可以加速你成为高级工程师的道路。但开始并完成这段旅程取决于你。如果这让你感到害怕,那应该让你感到兴奋。你所要做的,就是超越同龄人,这样公司就会主动找上你。就是这么简单。是的,这需要努力,但任何告诉你可以在不努力工作的情况下获得高薪工作的都是在卖假药。是的,你可以在不经历艰难而昂贵的法学院、LSAT 和律师资格考试的情况下获得律师的薪水,这是相当美妙的。但聪明工作并不意味着避免艰苦的工作。这意味着在能有效推动结果的活动上辛勤工作。
努力工作并不意味着不是讨厌的工作。在一个糟糕老板的死胡同工作是糟糕的努力工作,你应该避免。为了获得一项让你在一个令人兴奋的领域处于前沿的稀有技能而努力工作是有价值的努力工作。花时间学习那些并不真正提升你知识或求职申请的东西是讨厌的努力工作。能够将你送上量子飞跃之路的努力工作是值得的努力工作。公司强烈倾向于招聘高级工程师,这是有充分理由的。这一点无法规避。成为合格的开发者没有捷径。然而,如果你高效学习,旅程可能并没有你想象的那么长。这就是我们存在的意义。如果你把它交给机会,成为一名高级工程师需要好几年时间。我们相信,如果你与积极进取、聪明的人一起学习,并在完成这一旅程的人的指导下,旅程可以短得多。我们希望你成为合格的开发者。真的,合格的开发者是短缺的。最初发布于 2022 年 11 月 11 日
- 原文链接: rareskills.io/post/the-b...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!