paint-brush
Solidity 開発者としての私の軌跡by@alcueca
2,476
2,476

Solidity 開発者としての私の軌跡

私は 5 年前、38 歳という熟した年齢のときにスマート コントラクトのコーディングを始め、プロのプログラミング経験がまったくなかった状態から、最先端のスマート コントラクトを構築できるようになりました。
featured image - Solidity 開発者としての私の軌跡
Alberto Cuesta Cañada  HackerNoon profile picture

私は 5 年前、38 歳という熟した年齢のときにスマート コントラクトのコーディングを始め、専門的なプログラミング経験のない状態から最先端のスマート コントラクトを構築できるようになりました。


多くの人が、どのようにして同じような道をたどるのかについて尋ねてきました。特定のリソースや成功の秘訣はありませんが、使用できるパターンはあります。


これが私の旅です。

始まり

2018年、私は妻と幼い子供と一緒にメルボルンからリスボンに引っ越したばかりで、家族の近くに住むことができました。私はスーパーコンピューティング エンジニアおよび投資銀行のソリューション アーキテクトとしてそれなりのキャリアを積んでおり、リスボンは仕事を見つけるのに十分な広さであると考えていました。


すぐに、リスボンの雇用市場ではスーパーコンピューティング エンジニアはまったく必要とされておらず、ソリューション アーキテクトの経歴では退屈な中間管理職しか与えられないことがわかりました。


私はブロックチェーン技術に長い間興味がありましたが、本格的に取り組むことはありませんでした。その後、ブロックチェーンエンジニアの雇用がいかに難しいかについての記事を読み、チャンスがあると思いました。

私は著者に、ブロックチェーンの仕事を探すきっかけを与えてくれたことに感謝する手紙を書きました。私たちは話し合いを始め、彼の友人と一緒に、高い理想を掲げるブロックチェーン コンサルタント会社である TechHQ を立ち上げることにしました。 3 人体制のコンサルティング会社では、私が技術専門家になります。


企業のソリューション アーキテクトから、クライアントに販売できるブロックチェーン ベースのプロジェクトの作成に移行するまでに、約 1 か月かかりました。


これまでの経験はありませんが、私は技術の専門家になります。


私の課題の 1 つは、私がパートナーと出会うきっかけとなった記事と同じように、クライアントを呼び込むためのブロックチェーン技術に関する記事を書くことでした。これらの記事を書いて、私が学んだことを公にすることが、私のキャリアの鍵となるでしょう。


私の最初の記事は次のとおりですその仕事を始めるブロックチェーンにおける私の最初のステップを詳しく説明します。 Solidity への導入は、クリプトゾンビのチュートリアル


私たちの最初のビジネスチャンスは数か月後、あるプロジェクトで起こりました。 セメントDAO 。私たちはベルナルドを入社させました、若くて才能のある地元のハッカー、ある時点で、関連する数学についての助けを求められました。あまり詳しくなかったけど、作ってみた対数を使用してカスタム AMM 曲線を構築するための固定性作業。

この作業には約 1 か月かかり、Bernardo が Solidity、JavaScript、git、および truffle を教えてくれました。本当に何も知りませんでした。その結果はあまり優れたものではなく、2018 年の基準から見ても過剰設計で非効率的でした。私の無知の中で
私はそれが一流だと心から信じていました


結果はあまり優れたものではなく、2018 年の基準から見ても過剰設計で非効率的でした。


ある程度の堅牢性コーディング能力を習得し、フロントエンド開発に熟練した Bernardo だけがいる私は、CementDAO のスマート コントラクトを引き継ぎました。残念ながら、Fixidity の実装が非効率だったこともあり、メインネット段階に進むことはありませんでした。


より多くのクライアントを探しながら、より多くの記事を書けるように実験を続けました。そうすることでクライアントを獲得できると期待していたからです。結局、面白いアイデアを思いつきました サプライチェーンソリューション。このアイデアは成功しませんでしたが、それをきっかけに私は次のことを思いつきました。役割ベースのアクセス制御契約それは実際にはまともだった。


破産が差し迫っていると思われたまさにそのとき、まさにこのコードが私たちに新たな顧客を確保してくれました。アライアンスブロックは、多数の許可されたロールを備えたブロックチェーン発行プラットフォームのコーディングを私たちに依頼しました。


スマート コントラクトのパフォーマンスはひどいものでしたが、必要なのはガナッシュの概念実証だけであり、それを私たちが提供しました。スマートコントラクトアーキテクチャに関する重要な教訓を学びました。オンチェーンストレージ、フロントエンドの統合。


ひどいパフォーマンスにもかかわらず…重要な教訓を学びました


またもや収入がなくなり、現金が非常に不足してしまいました。私は破産しないように、給料を放棄して会社の3分の1を買うことにしました。会社として成功するチャンスはあまりないと思っていましたが、それは問題ではありませんでした。私はコーディングをし、学び、楽しんでいたのです。素晴らしいブロックチェーン体験を得るには安い取引のように思えました。


私たちはさらに多くのクライアントを探していました。とコラボしましたhq20-契約 ウィヴリス、さまざまな堅牢性パターンとユースケースを開発および文書化します。もちろん、私書きました多くの記事彼らについて


ターニングポイント

結局、会社の資金は再び底をつき、私たちは全員仕事を探し始めなければなりませんでした。それから、私はつまずいたOpenZeppelin で未解決の問題。彼らはリンクされたリストのようなものが必要でした、そして私は最初に CementDAO に対してそれを行い、次に hq20-contracts に対してもそれを行いました。それについて素敵な記事を書きました


との話し合いの後、ンベントゥーロ、私の投稿は次のように統合されましたEnumerableSet.sol OpenZeppelin のリリースの 1 つで。できたのです。私のコードの一部がついに公開されました。 OpenZeppelin も同様です。


この成功に勇気づけられて、私はアクセス制御契約を見直すという OpenZeppelin の課題に取り組みました。私は失敗したサプライ チェーン アプリケーションのテーマについて最先端の研究を行い、AllianceBlock で完璧に仕上げました。そのテーマについて徹底的な記事を書きました


私にはそれができるとわかっていました。これが最終的に出版につながったのですが、アクセスコントロール.solの中に 3.0 リリースツェッペリン飛行船とのオープン契約を締結し、これもまた私のキャリアの中で大きなマイルストーンとなりました。


できたのです。私のコードの一部がついに公開されました。 OpenZeppelin も同様です。


それでも仕事が必要だったので、BeyondSkills のブロックチェーン インストラクターになりました。 Solidity プログラミングを教えるにはオンライン コースを作成する必要があります。いつものことですが、私にはその仕事にあまり適任ではありませんでした。いくつかのコーディング方法は知っていましたが、知識には大きなギャップがありました。それまで、私自身は契約を展開したことさえありませんでした。


ビデオで話し、Solidity 開発に関するチュートリアルを行う必要がありました。また、コースに一貫性を持たせる必要があるため、徹底的に行う必要がありました。ここで適用される記事と同じパターン。私は物事を学び、すぐにそれを教えることで、ソリッド性の開発について多くのことを学ぶことにつながりました。


残念ながら、同社は法的問題により閉鎖され、その内容は公開されることはありませんでした。たぶんその方が良いでしょう。


私は物事を学び、すぐに教えることで、ソリッド開発について多くのことを学ぶようになりました。


それらのコースを記録しているときに、私に連絡が来ました。アラン・ニーマーグ固定小数点計算の支援のため彼が持っていた白書。当時、アイデアを持って私に連絡してきた他の多くの人々とは異なり、アランは私が聞いたこともないVCファンドから資金を持っていました。パラダイムと真剣に受け止めました。

その時までに、私は Fixidity をコーディングし、固定小数点計算に関するいくつかの記事を公開し、OpenZeppelin と Solidity コア チームの両方を支援しようとしましたが、失敗しました。また、対数関数を備えた AMM が簡単ではないことも知っていましたし、AMM を機能させるために契約できるミハイル氏のことも知っていました。

私は @yield での最初の採用者でした。私はアランを雇うよう説得したブルースTechHQ 時代のフロントエンド エンジニア時代から、そして私たち 3 人全員が非常に若いスタッフの助けを借りて、ゲオルギオスメインネット上で Yield v1 を正常に起動しました。


たくさんのことを学びました - について担保付き債務エンジン プロトコルの統合、丸め誤差、オフチェーン許可フラッシュローン、 そしてガス効率、いくつか例を挙げると。これまでやったことのないことをしようとしたほとんどの試みと同様、それも大成功とは言えませんでした。


私たちが学んだことの 1 つは、Uniswap とは異なり、製品市場に適合させるためにプロトコルを変更する必要があるということです。私たちの契約はほとんど不変だったので、すぐに Yield v2 の作業を開始しました。

今日まで早送りしてください

Yield Protocol v2 は約 2 年間稼働しており、そこから多くのことを学びましたが、現在は閉鎖されています。私たちの技術的な仕事は一流でしたが、現時点では固定金利は分散型金融の市場に適合した製品ではありません。


再び自然の中で、私は再び困難な道を選択しており、別のリードエンジニア/CTOの役割を得る代わりに、私が学んだ教訓から恩恵を受ける可能性のある他のスタートアップのアドバイザーとして自分自身を設定しています。これを行う方法についてのマニュアルはなく、私の知識に大きなギャップがあることは承知していますが、改善の機会も同様にあります。


ここまででパターンが見えてくるはずです。私は自分の快適ゾーンのすぐ外にいて、失敗することもよくありますが、常に自分が学んだことを他の人に教えています。この記事もその一例といえるでしょう。


運が良ければ、CementDAO、AllianceBlock、OpenZeppelinの契約、BeyondSkillsコース、そして最後にYieldなど、誰かが欲しいものを見つけることができます。必要としている人が見つからない場合でも、私のすべての記事と同様に、学んでそれについて書くべきことが常にあります。


私は自分の快適ゾーンのすぐ外にいて、失敗することもよくありますが、常に自分が学んだことを他の人に教えています。


試して、失敗して、学んで、教えるというループは私の発明ではありませんが、うまくいきます。それは私が馬鹿に見えることがよくあります、そしてそれが人によっては最も難しいことかもしれません。私自身、自分の失敗を誇りを持って受け止めています。


読んでくれてありがとう。これがあなたにインスピレーションを与えてくれれば幸いです。幸運を。