草庐IT

开发者新手指南:进入 Web3 前,你需要掌握哪些必备技能?

TinTin Land 2024-01-13 原文

2022 年 10 月 18 日,周星驰在个人 INS 上发布 Web3 人才招募令,他写道“**在漆黑中找寻鲜明出众的 Web3 人才,助我建造创意未来”。**具体的招聘要求并不是通常的技术栈+几年技术经验等等,而是几个大的方面,其中包括:熟悉 Web3、有项目管理经验、有头脑又宅心仁厚,他还表示会亲自挑人。

一众 Web3 从业者讨论其招聘要求“宅心仁厚”是何意、是否适合 Web3,周星驰的高调入场又将带来多少关注等,另一部分 Web3er 也蠢蠢欲动,想要一试身手。毕竟和周星驰一起“大话 Web3” ,既能圆多少人的童年梦,又能获得主流明星的资源支持创造前沿项目。

主流明星、传统商业、艺术领域、Web2 大厂·····各行人士在近年内进军 Web3 的例子屡见不鲜,区块链行业被视为前沿而受到众多青睐。随着技术发展革新,去中心化概念被付诸实践,各种赛道下的 Dapp 层出不穷,行业对于人才的需求攀升,也吸引了越来越多的人才加入。根据 ONGIG 发布的一个研究文章显示,区块链开发人员是应聘候选人搜索最多的工作,也是雇主最常需要的加密行业职位。

诚然,新手进入 Web3 行业会面临种种门槛和挑战。行业目前尚在技术驱动的阶段,技术人才有价无市,但同时也需要学习和适应更多技术内容才能顺利进入 Web3。**TinTinLand 希望聚集、培育、输送开发者到各开放网络,持续汇总 Web3 开发工具、资源、求职等必要信息,通过提供全面的开发者新手入门指南,为新人开发者的 Web3 之旅保驾护航。**在上篇指南《开发者新手指南:Web3 技术堆栈 & 平均薪资盘点》中,我们为大家带来了全面的 Web3 技术栈定义以及Web3 行业薪资数据。本篇将聚焦在 **“区块链开发者的必备技能”“如何获得一份满意的 Web3 工作”**这两个问题上,为大家汇总区块链开发者需要掌握的技能,同时挑选常用的求职应聘渠道,旨在通过本文为正在求职的开发者们提供有效的资讯和信息。

区块链开发者的类型

今天区块链应用正在改变技术世界,区块链应用程序的整个生命周期由区块链开发人员管理。在了解区块链开发者的必备技能之前,我们先来看看有哪些不同类型的区块链开发者。通常来说,区块链开发者有两种类型:**区块链软件开发者和核心区块链开发者。**除了从结构性方向划分出的两种区块链开发者,根据技术栈和具体职责在招聘过程中还有更细致的划分,本文不作涉及。

**区块链软件开发者:**专注于区块链软件的软件开发人员。区块链软件开发者基于区块链的协议和架构,构建相应的应用程序并在区块链上运行。Dapps 或去中心化应用程序是由区块链软件开发人员创建的。他们负责 Dapps 的前端和后端开发,同时负责 Dapps 堆栈。

**核心区块链开发者:**负责区块链系统的架构开发。核心区块链开发者创建共识协议,并做出有关区块链的大部分关键决策。总体来说,他们的职责包含:设计区块链协议,设计网络的共识协议和安全模式,网络架构设计,整个网络的监督。

区块链开发人员必备技能

何谓必备技能?即能帮助区块链开发人员更好地管理和掌握开发过程的几项基本技能,其中包括密码学知识,数据结构,编程语言,智能合约和区块链架构。这些技能在不同环节给予开发者相应的帮助。

智能合约

相信哪怕是新手开发者,对于智能合约一词也是耳熟能详。自以太坊推出以来,智能合约一直是区块链行业的流行语。智能合约允许两方在不需要中介的情况下交换商品和服务,且智能合约是在所有参与交易的个人都履行了合同义务的情况下执行的。**区块链的去中心化结构有助于提高智能合约的生产力,而智能合约又反哺了去中心化这一核心概念的实现。**智能合约可以说是任何区块链开发人员的必备技能,智能合约开发者目前在 Web3 中具有很大的招聘需求。

密码学

**密码学是一种用于设计程序和算法的方法,以防止外部实体在整个通信会话期间从个人消息中获取内容。**密码学是对协议的研究和应用。开发者应该熟悉密码学的关键概念,从而实现区块链开发。例如,公钥密码学是区块链中的一个重要主题,它是使用加密货币进行的所有交易的基础。

数据结构

数据结构是区块链开发者应该具备的基本技能。对于系统的推进和部署,区块链工程师必须及时掌握数据结构技能。**数据结构是最关键的区块链能力之一,掌握数据结构有助于理解区块链中最基本元素的底层行为,即区块。**公共分类账本即是区块链。整个区块链系统由数据结构组成,因此了解数据结构对于区块链开发至关重要。

区块链技术知识

区块链技术知识包含行业的基础知识框架、技术框架等,**其中最重要的是核心区块链开发者所需要掌握的区块链架构。**区块链架构常在项目白皮书中有详尽的解释,新手开发者可以通过阅读白皮书了解一条区块链的架构,了解什么是区块链账本、共识如何运作等。

精通至少一门高级编程语言

**C++、Golang、C#、JavaScript、Solidity、Python、Ruby 和 Java 被认为是区块链开发中最流行的编程语言。**比特币最初就是使用 C++ 构建的。除了以太坊特有的Solidity之外,所有其他语言都是通用编程语言,开发人员可以将其用于多种用途。下列展示了区块链行业中,加密公司的全栈开发者使用的编程语言排名。

常见招聘渠道

正如我们在开发者新手指南的第一篇内说到的,我们相信 Web3 世界中的一份稳定的受聘工作并不是唯一的工作方式**,甚至不是从业者们推崇的工作方式**。我们在《对话 Web3 斜杠青年:区块链,不止一种工作方式》一文中,采访了行业内的两位成熟开发者,他们也提出分布式工作已经成为一个全球化组织的必备素质,收入来源由多个模块组成,而不依赖于单一全职工作。**众多成熟的开发者选择开创自己的项目,参与不同的 DAO 在不同的生态中做贡献。**然而我们也相信,对于很多刚进入行业的新手开发者,**一份在感兴趣的项目或公司中的工作,会让他们加速渡过新手期,在系统的工作安排下快速“入行”,提升自己的专业技能,了解更多行业知识。**我们区块链行业的分布式和全球化属性,我们汇总了三个常见的 Web3 招聘渠道,适合开发者去申请海内外的 Web3 工作。

加密公司的官方网站招聘

众多区块链项目在其官方网站上都设有招聘页面,对于某一项目或公链非常感兴趣的开发者,可以关注相应官网,获取更多信息。例如,下面是最近风头正劲的 Move 系公链 Aptos 和 Sui 的官网招聘网址:

开发者社区

作为开发者社区的 TinTinLand 也关注开发者的应聘和求职,开创的**「Web3 招聘」**是为 Web3 项目和求职者创建的一个招聘信息汇集专栏,栏目持续更新区块链行业招聘信息。同时 TinTinLand 举办的 TinTin Job Fair 线上招聘会成功地为项目方和应聘者搭建线上职业匹配的平台和机会。并且社区将定期为开发者们更新最新的招聘岗位信息。关注或加入一个 Web3 社区,既能获得职业机会,又能结识志同道合的朋友,同时能依托社区的资源接触更多项目方,寻求更多机遇,是非常实用的一个招聘渠道。

Web3 招聘网站

不同于传统招聘网站,Web3 垂直招聘网站在近年内随着行业兴起。其中的工作具有 Web3 常见的分布式办公特性,**技术人员的需求通常是网站中招聘岗位数量最多的岗位。**由于汇总了行业内从业者和招聘方常用的 9 个 Web3 招聘网站,相信新手开发者们定能在其中找到适合自己的工作。

有关开发者新手指南:进入 Web3 前,你需要掌握哪些必备技能?的更多相关文章

  1. ruby - 我需要将 Bundler 本身添加到 Gemfile 中吗? - 2

    当我使用Bundler时,是否需要在我的Gemfile中将其列为依赖项?毕竟,我的代码中有些地方需要它。例如,当我进行Bundler设置时:require"bundler/setup" 最佳答案 没有。您可以尝试,但首先您必须用鞋带将自己抬离地面。 关于ruby-我需要将Bundler本身添加到Gemfile中吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4758609/

  2. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  3. ruby - rspec 需要 .rspec 文件中的 spec_helper - 2

    我注意到像bundler这样的项目在每个specfile中执行requirespec_helper我还注意到rspec使用选项--require,它允许您在引导rspec时要求一个文件。您还可以将其添加到.rspec文件中,因此只要您运行不带参数的rspec就会添加它。使用上述方法有什么缺点可以解释为什么像bundler这样的项目选择在每个规范文件中都需要spec_helper吗? 最佳答案 我不在Bundler上工作,所以我不能直接谈论他们的做法。并非所有项目都checkin.rspec文件。原因是这个文件,通常按照当前的惯例,只

  4. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  5. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  6. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  7. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  8. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  9. ruby - 为什么在 ruby​​ 中创建 Rational 不需要新方法 - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Rubysyntaxquestion:Rational(a,b)andRational.new!(a,b)我正在阅读ruby镐书,我对创建有理数的语法感到困惑。Rational(3,4)*Rational(1,2)产生=>3/8为什么Rational不需要new方法(我还注意到例如我可以在没有new方法的情况下创建字符串)?

  10. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

随机推荐