#01引言
阅读有关开发人员的新闻,很难不产生人才短缺的印象。有道理,对吧?如果这个职位能被公司轻易找到更廉价的人替代,他们就不会支付某人每年10万美元。但是,开发者并不短缺。不相信我吗?
复制和粘贴一个通用的开发人员职位描述,并在LinkedIn上创建一个免费的招聘信息。你至少会得到“一打”申请人。付钱给LinkedIn来推广这个职位,你会得到更多。作为一名招聘经理,我已经看到这种情况发生很多次。
有成百上千的人申请一个职位,你应该可以把他们的年薪压到10万以下,对吗?错了。
开发者并不短缺。更确切地说,不存在自称是开发者的人的短缺。而是缺少合格的开发者。
应用急救技术并不能使你成为医生。使用电子表格并不能使你成为一名会计。懂得建立一个应用程序并不意味着你是一名开发者。
任何开发领域都是如此。知道Reactjs并不能使你成为合格的前端开发。知道nodejs或django并不能使你成为合格的后端开发。懂得使用solidity编写与发布合约,并不意味着你是合格的区块链开发者。
#02一个来自前端工程的例子
我们很容易看到前端开发,并认为"哦,我只是把一些div作为react组件的线框,添加一些CSS,然后,我就有一个web应用程序了。"好吧,你做到了,但它很可能是一个缓慢的、混乱的、不利于SEO的应用程序。
你必须能够考虑到不同的浏览器。你必须知道如何优化组件负载,并在正确的时间和地点调用API。你必须知道如何构建一个代码库,让多个工程师可以在互不干扰的情况下贡献。你必须知道为什么你会选择一个CSS解决方案而不是另一个做同样事情的解决方案。你必须使用合理的现代工具来提高你的生产力。如果页面加载缓慢,你必须知道如何加快它的速度。你必须知道SEO和移动优化是如何运作的。你必须知道各种各样的库,这样便不会重复造轮子。虽然你不需要成为一个UI或UX专家,但你至少需要知道基础知识。你必须认识到内存泄漏并避免它们。你必须构建你的应用程序,以便无缝地运行A/B测试。你的架构需要有正确的抽象,以实现功能和库的无缝交互。
公司最终了解到,并不是每个自称是开发人员的人都知道他们在做什么。由于糟糕的软件绝对会毁掉一个公司的收入,他们知道,只能雇用合格的开发人员。
#03那么区块链开发者呢?
让我们对区块链开发者做同样的假设。仅仅因为你在主网上放了一个智能合约,你就不会自动成为一个智能合约开发者。那么,什么使你成为一个合格的智能合约开发者呢?
就像前面的例子一样,你知道一长串不应该做的事情。仅仅因为你的代码编译并通过测试,并不意味着它是好代码。后台工程师知道他们可以随心所欲地对数据库进行索引,但按某人名字的第一个字母进行索引是个坏主意,因为带有普通字母的索引会被超载。前端开发者知道,尽可能少的组件挂载应该依赖于API调用,以避免在网络缓慢时出现空页面。他们知道某些CSS模式在某些浏览器上不起作用,或者比其他浏览器性能差。
你能为区块链创建一个类似的列表吗?现在就试试。这个清单有多长?你确定你找到了主要的问题吗?
招聘经理希望确信你知道这个清单是什么。你不会在4周的基础学习和经历简单的智能合约开发后,就对哪些事情不能做变得非常熟悉。
我们刚刚介绍了什么不能做,那知道解决重复出现的问题的好方法呢?你知道模式是什么吗?因为没办法对知识进行服用,陷入到严重的造轮子境地?你是否知道你是否应该在L2上,如果知道,它将如何与L1进行交互?你是否能够从所有的要求中退一步,思考如何有效地对你的数据进行建模,减少gas费,并以一种灵活的方式应对未来的变化?安全是一个大问题。同样的黑客攻击一次又一次地发生,因为开发人员一般不研究这个。这使得有信誉的招聘经理害怕雇用区块链开发人员。
这些都不是为了把关或人为的排他性。也不是要对那些在其职业生涯中较早的人说三道四。
关键是,如果你最多只能展示一些基于在线课程的简单项目,那么公司就有充分的理由拒绝你的申请。
#04杯子是半空还是半滿?
玻璃杯装满50%并不意味着它是半空的。对以上事实,存在一个乐观的理解。任何相当聪明的人都可以成为几乎任何编程领域的高级工程师,只要他们训练得足够努力和长久。掌握一门学科并没有什么神奇或神秘的地方。它已经被做了过数百万次,并将再次被做过数百万次。
事实上,你完全可以靠自己来完成。当然,现在我们相信RareSkills可以加速你通往高级工程师的道路。但是,开展和完成这个旅程取决于你。这不应该让你害怕,应该让你兴奋。你所要做的就是超越你的同行正在做的事情,然后公司就会来找你。就是这么简单。是的,这是一项艰苦的工作,但任何告诉你不用艰苦工作就能获得理想的高薪工作的人都是在哄你。你可以得到一个律师的薪水,而不必通过艰苦和昂贵的法学院学习,法学院入学考试和律师资格考试。但是聪明地工作并不意味着逃避辛苦的工作。它意味着努力工作,有效地推动结果产出。
#05勤奋工作的真正定义
艰苦的工作并不意味着不理想的工作。为一个可怕的老板做一份没有前途的工作,这样卖命是不好的,你应该避免。为获得一项罕见的技能而努力工作,使你在一个令人振奋的领域处于领先地位,这是理想的勤奋工作。努力学习那些实际上并不能提高你的知识或你的工作申请的东西是不可取的。带领你向目标飞跃的努力工作是理想的,值得期待的。公司强烈偏爱高级工程师是有原因的。这一点是无法回避。要成为一名合格的开发人员没有捷径。然而,如果你以最高效率学习,这段旅程可能没有你想象的那么长。这就是我们在这里的目的。如果你听天由命,成为一名高级工程师需要几年时间。我们相信,如果你与积极进取的聪明人一起学习,并在已经完成这段旅程的人的指导下,这段旅程会短很多。我们希望你能成为一名合格的开发人员。这方面真的很缺乏。
责编:Lynn
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。