コンテンツへスキップ
0%

Solidity開発者ガイド:教育、給与、求人など

執筆者 Mohammad

2022年10月4日 公開読了時間 1 分

ブロックチェーン技術は、ソフトウェア開発における技術革新の新しいフロンティアとして登場した。Solidityは、ブロックチェーンアプリケーションを構築するブロックチェーン開発者の間で人気のプログラミング言語である。Solidity Developer Survey 2021によると、2020年から2021年にかけて回答数が100%増加し、開発者の80%がSolidityを日常的または週次で使用している。

McKinseyのCOVID-19 Digital Transformation & Technologyレポートの調査によると、COVID-19はデジタル技術の成長を加速させ、各社がデジタル導入に向けて大きく前進した。その結果、ソフトウェア開発業界は着実に成長しており、米国労働統計局はほかのすべての職種を上回る25%の雇用成長を2021年から2031年にかけて見込んでいる。

では、Solidity開発とは何であり、Solidity開発者は何をするのか。この包括的なガイドでは、ブロックチェーンのSolidity開発者の職務について開発者が知っておくべきことをすべて説明する。

Solidity開発者とは何か

Solidity開発者とは、Solidityでコードを書く人のことである。Solidityはオブジェクト指向の高水準チューリング完全プログラミング言語であり、多様な機能を持つ複雑なアプリケーションを構築できるようにする。

Solidityコーダーは、スマートコントラクトと呼ばれる自動化されたソフトウェアを開発し、これがEthereumベースの分散型アプリケーションを動かしている。これらのスマートコントラクトは、Optimism、Arbitrum、Polygon、Astar、AvalancheなどのほかのEthereum Virtual Machine(EVM)互換ブロックチェーンのバックエンドを動かすこともできる。

Solidity開発者はどのような作業を行うのか

従来のweb2開発者と同様に、Solidity開発者はコードの記述、テスト、監査、デバッグに時間を費やす。以下は、Solidity開発者が日常的に行う具体的なタスクの一部である。

  • EVM互換ブロックチェーン上でスマートコントラクトとアプリを開発、テスト、デプロイする
  • スマートコントラクトをデバッグ・監査してセキュリティを高める
  • 既存のアプリケーション機能を改善する新機能を構築する
  • 新しいブロックチェーンと統合するためにSolidityコードをリファクタリングする
  • マネージャー、部門横断チーム、外部委託先と協議する
  • 新しいビジネスアイデアをブレインストーミング、検討、仕様化する
  • 新製品のネットワークアーキテクチャとスマートコントラクトを設計する

Solidity開発者は、スマートコントラクトの記述から新製品の仕様策定、本番アプリケーションの管理まで、製品開発の全領域にわたる作業タスクを行う。

Solidity開発者はどのような企業で働くのか

Solidity開発者は、web2企業の社内web3チームでの役職を含め、非常に幅広い企業で働くことができるが、大まかにDeFi、Web3、インフラストラクチャという3つの主要なweb3カテゴリーに分類できる。

DeFi

DeFiセクターは黎明期にあるものの、本稿執筆時点で、DeFi分析ツールのDefiLlamaによると、Ethereum DeFiプロトコルの預かり資産総額(TVL)は312億8000万ドルに達している。

Ethereum Solidity開発者は、レンディング/借入プラットフォームや分散型取引所といったDeFiプロトコルのスマートコントラクトを構築し、維持する役割を担う。

Web3

Web3は、NFTプラットフォーム、DAOツール、Play-to-Earnゲーム、オンチェーンで構築されたweb2プロダクトなど、分散型でユーザー所有のプロジェクトを包含する総称である。2022年第2四半期には、NFTの取引額は80億ドルに達し、クリプトゲームアプリはブロックチェーン活動全体の52%を占めた(それぞれnonfungible.comdappradarによる)。

Solidityアプリ開発者は通常、これらのweb3ツール、ゲーム、NFTプラットフォームのスマートコントラクト、トークン、バックエンドコンポーネントの構築を支援する。

インフラストラクチャ

Solidityスマートコントラクト開発者は、アプリのための仮想インフラストラクチャを構築するコードを書く。インフラ開発者は、デジタル取引やデータ交換が行われる主要なデジタル環境を構築する。

Solidity開発者の典型的な1日または1週間はどのようなものか

Solidityプログラマーごとに働き方は異なるが、Solidityコーダーの典型的な1日は以下のようになる。

  • リモートワーク(最も一般的)または対面での勤務
  • メール、内部コミュニケーション(Slackなど)の確認、チームメンバーとのビデオ会議への参加
  • コードの記述、他のチームメンバーからのプルリクエスト(PR)のレビュー
  • ローカル開発環境やテストネットへのスマートコントラクトコードのデプロイ
  • 新しいSolidityのベストプラクティスの学習と新しい開発者ツールのテスト

Solidity開発者は、リモートで働き、コードを書く集中作業に時間を割り当て、ベストプラクティスを学ぶ自由度が高い。

Solidity開発者の平均給与はいくらか

Solidity開発者の職種は、市場でも最も高給の職種の一つである。cryptocurrencyjobs.coによると、米国におけるSolidity開発者の平均基本給は127,500ドルで、基本給の下限は80,000ドル、上限は180,000ドルである。この数値は、勤務地、企業、経験によって異なる場合がある。

以下は、地域別のSolidity開発者の年間給与構造の一覧である(米ドル)。

  • 北米 - 8万~18万ドル
  • ヨーロッパ - 8万~13万5000ドル
  • アジア - 4万6000~11万6000ドル
  • オセアニア - 8万5000~12万ドル
  • 南米 - 4万9000~15万ドル
  • アフリカ - 4万9000~7万5000ドル
  • リモート - 11万1000~20万ドル

Solidity開発者として成功するにはどのような資質が必要か

開発者が成功したプログラマーになるためには、Solidityやその他のweb3プログラミング言語に関する確かな技術知識、基本的なプログラミングスキル、スマートコントラクトのセキュリティに関するベストプラクティスの理解、そして各種のソフトスキルを含むSolidityのスキルと専門知識を身につける必要がある。

技術知識

C++、Python、JavaScriptといったコンピュータプログラミング言語は、Solidity言語に影響を与えている。したがって、これらの言語や、HardhatやAlchemyといった開発者ツールについての基本的な理解は、Solidityコーダーになるための有利な前提条件となる。

Alchemyの開発者ツール一式を使った構築を始めるには、Alchemyの無料開発者アカウントを開設する。

基本的な技術スキル

スマートコントラクトのSolidityプログラマーには、ブロックチェーン技術とスマートコントラクトがどのように機能するかについての詳細かつ基礎的な知識が必要である。したがって、Ethereumトークン標準(ERC-20、ERC1155、ERC721)に関する中級から上級レベルの理解、およびブロックチェーンプロジェクト開発に関する知識が必要となる。

セキュリティの専門知識

ハッカーや詐欺師は常に、ユーザー資金を盗むためにコードのバグや脆弱性を探している。したがって、Solidityプログラマーはスマートコントラクトのデバッグに関する専門知識を持ち、スマートコントラクトのセキュリティを向上させるための基本を学ぶ必要がある。

ソフトスキル

Solidityコーダーには、優れたコミュニケーション能力、分散型チーム環境で働く能力、細部への注意力、そして学び続ける意欲が求められる。開発者は主にコードに集中することになるが、意味のある人間関係を築き、協働の場で力を発揮することは、チームの文化に多くの価値をもたらす。

Solidity開発者になるには

Solidityを学び、IDE、スマートコントラクト標準、開発フレームワークといった補完的なweb3開発者ツールを習得し、実践的な経験を積むことで、Solidity開発者になることができる。

1. Solidityを学ぶ

最初にすべき明白なことは、Solidityプログラミング言語を学ぶことである。Solidity開発者は、Alchemy Universityの無料ブートキャンプに参加して、暗号技術、Ethereum、スマートコントラクト、アプリについて学ぶことができる。Alchemy Universityでは、専門家によるマスタークラスに参加した後、Solidityプログラマーがブロックチェーンプロトコルを構築する実践的な学習体験を提供している。

2. 補完的な開発者ツールを学ぶ

Solidityコーダーは、アプリをゼロから構築するのではなく、ソフトウェアフレームワークや統合開発環境(IDE)といったブロックチェーン開発ツールを活用することができる。これらのフレームワークとIDEには、Ethereumアプリケーションの作成、テスト、コンパイル、デプロイ、デバッグのためのライブラリ一式、プラグイン、ツールが付属している。

たとえば、Solidity開発者は、Hardhat、Truffle、Embarkといったフレームワークや、Remix、EthFiddle、EthcodeといったIDEについて学ぶことができる。

3. Solidity開発者としての経験を積む

web3ハッカソンへの参加は、Solidity開発者がプレッシャーのかかる状況で製品を構築するために必要なスキルを持っていることを示す。したがって、Solidityプログラマーを志す人には、Web3ハッカソンに参加し、その経験を履歴書やLinkedInプロフィールに記載することが推奨される。というのも、採用担当者はハッカソンでの受賞、バウンティ、賞金の獲得を追加的な実績とみなすからである。オープンソースプロジェクトに貢献することでも学びと経験を積むことができる。

Alchemyの開発者プラットフォームでSolidityの構築を始める

今後10年で、Solidity開発者の職種は、ソフトウェアエンジニアリングおよびブロックチェーン業界で最も求められる職の一つとなるだろう。さまざまなSolidity開発者ポジションのWeb3求人ボードを検索し、応募を始めることができる。

Background gradient

ブロックチェーンで魔法を生み出す

Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。