paint-brush
Solidity Geliştiricisi Olarak Yolculuğumile@alcueca
2,538 okumalar
2,538 okumalar

Solidity Geliştiricisi Olarak Yolculuğum

ile Alberto Cuesta Cañada 7m2023/11/27
Read on Terminal Reader

Çok uzun; Okumak

Akıllı sözleşmeleri kodlamaya beş yıl önce, 38 yaşımda başladım ve hiçbir profesyonel programlama deneyimim olmadan son teknoloji akıllı sözleşmeler oluşturmaya başladım.
featured image - Solidity Geliştiricisi Olarak Yolculuğum
Alberto Cuesta Cañada  HackerNoon profile picture

Akıllı sözleşmeleri kodlamaya beş yıl önce, 38 yaşımda başladım ve hiçbir profesyonel programlama deneyimim olmadan son teknoloji akıllı sözleşmeler oluşturmaya geçtim.


Birçoğu benzer bir yolu nasıl izleyebileceklerini sordu. Başarının belirli bir kaynağı veya sırrı olmasa da kullanabileceğiniz bir model vardır.


İşte benim yolculuğum.

Başlangıç

2018'de yakın zamanda eşim ve küçük çocuğumla birlikte Melbourne'den Lizbon'a taşınmıştık, böylece hepimiz ailemize daha yakın olabilirdik. Yatırım bankacılığı alanında süper bilgisayar mühendisi ve çözüm mimarı olarak iyi bir kariyerim vardı ve Lizbon'un iş bulmam için yeterince büyük olacağını düşündüm.


Çok geçmeden, Lizbon'daki iş piyasasının süper bilgisayar mühendislerine kesinlikle ihtiyaç duymadığını ve çözüm mimarı geçmişimin bana yalnızca sıkıcı orta düzey yönetici rolleri kazandıracağını keşfettim.


Uzun zamandır blockchain teknolojisine ilgi duyuyordum ama hiçbir zaman tam anlamıyla ilgilenmedim. Daha sonra blockchain mühendislerini işe almanın ne kadar zor olduğunu anlatan bir makale okudum ve bir fırsat gördüm.

Yazara, blockchain'de iş arama konusunda ilham verdiği için kendisine teşekkür etmek amacıyla yazdım. Konuşmaya başladık ve bir arkadaşıyla birlikte yüce ideallere sahip bir blockchain danışmanlığı olan TechHQ'yu kurmaya karar verdik. Üç kişilik danışmanlığımızda teknoloji uzmanı ben olacaktım.


Kurumsal bir Çözüm Mimarı olmaktan müşterilere satabileceğimiz blockchain tabanlı projeler oluşturmaya geçiş yapmak için yaklaşık bir ayım vardı.


Daha önce hiçbir deneyimim olmadan teknoloji uzmanı olurdum.


Görevlerimden biri, beni ortaklarımla tanıştıran makalenin aynısı olan, müşterileri çekmek için blockchain teknik makaleleri yazmaktı. Bu makaleleri yazmak ve öğrendiklerimi kamuoyuna duyurmak kariyerimin anahtarı olacaktır.


İlk makalem bununla ilgili olacaktı o işe başlamak ve blockchaindeki ilk adımlarımı ayrıntılarıyla anlatıyor. Solidity ile tanışmam, CryptoZombies öğreticisi .


İlk iş fırsatımız birkaç ay sonra bir projeyle ortaya çıktı. ÇimentoDAO . Bernardo'ya binmiştik. genç ve yetenekli bir yerel hacker , bir noktada ilgili matematik konusunda yardım istedi. Fazla bir şey bilmiyordum ama yapmaya çalışabilirdim Logaritma kullanarak özel bir AMM eğrisi oluşturmak için sabitlik çalışması.

Bu görev yaklaşık bir ayımı aldı; Bernardo bana sağlamlık, javascript, git ve trüf mantarını öğretti. Aslında hiçbir şey bilmiyordum. Sonuçlar mükemmel değildi; aşırı mühendislik uygulanmıştı ve 2018 standartlarına göre bile verimsizdi. benim cehaletimde ,
Gerçekten üst düzey olduğuna inandım .


Sonuçlar mükemmel değildi; aşırı mühendislik uygulanmıştı ve 2018 standartlarına göre bile verimsizdi


Bazı sağlamlık kodlama yetenekleri edindikten ve ön uç geliştirmede yalnızca Bernardo'nun becerisine sahip olduğumdan, CementDAO'nun akıllı sözleşmelerini devraldım. Ne yazık ki kısmen Fixidity'nin verimsiz uygulanmasından dolayı ana ağ aşamasına hiçbir zaman geçemedik.


Daha fazla müşteri aradıkça, daha fazla makale yazabilmek için denemeler yapmaya devam ettim çünkü bu şekilde müşteri kazanmayı bekliyorduk. Sonunda ilginç bir fikir buldum tedarik zinciri çözümü . Her ne kadar bu fikir başarılı olmasa da beni bir fikir bulmaya yöneltti.rol tabanlı erişim kontrolü sözleşmesi bu aslında makuldü.


Tam iflasın eli kulağında göründüğü anda, bu kod bize başka bir müşteri kazandırdı: İttifakBloğu bir dizi izin verilen role sahip bir blockchain yayınlama platformunu kodlamamız için bizi işe aldı.


Akıllı sözleşmelerdeki berbat performansa rağmen, Ganache'ye ilişkin yalnızca bizim teslim ettiğimiz bir kavram kanıtına ihtiyaçları vardı. Akıllı sözleşme mimarisi hakkında önemli dersler aldım, zincir üstü depolama ve ön uç entegrasyonu.


Korkunç performansa rağmen… Önemli dersler aldım


Yine gelirimiz yoktu ve nakit sıkıntısı da çekiyorduk. İflas etmeyelim diye maaşımdan feragat edip şirketin üçte birini almaya karar verdim. Şirket olarak başarılı olma şansımızın çok yüksek olduğunu düşünmüyordum ama önemli değildi, kod yazıyordum, öğreniyordum, eğleniyordum. Harika bir blockchain deneyimi elde etmek ucuz bir anlaşma gibi görünüyordu.


Daha fazla müşteri ararken. üzerinde işbirliği yaptım hq20-sözleşmeleri ile uivlis , çeşitli sağlamlık modellerini ve kullanım durumlarını geliştirmek ve belgelemek. Tabii ki yazdı birçok nesne onlar hakkında .


Dönüm noktası

Sonunda şirketin parası yine bitti ve hepimiz iş aramaya başlamak zorunda kaldık. Sonra bir şeye rastladımOpenZeppelin'de açık sorun . Bağlantılı liste gibi bir şeye ihtiyaçları vardı ve ben bunu önce CementDAO için, sonra hq20 sözleşmeleri için yapmıştım ve hatta bu konuda güzel bir yazı yazdım .


ile yapılan görüşmelerin ardından Nventuro , katkım şu şekilde entegre edildi: EnumerableSet.sol OpenZeppelin'in sürümlerinden birinde. Başarmıştım. Kodumun bir kısmı nihayet yayındaydı. Ve OpenZeppelin ile daha az değil.


Bu başarıdan cesaret alarak OpenZeppelin'in erişim kontrolü sözleşmelerini yenileme sorununun üstesinden geldim. Başarısız tedarik zinciri uygulaması konusunda son teknoloji çalışmalar yapmıştım, bunu AllianceBlock ile mükemmelleştirdim ve tekrarkonuyla ilgili kapsamlı bir makale yazdı .


Bunu yapabileceğimi biliyordum. Bu sonuçta yayınlanmasına yol açtı AccessControl.sol içinde 3.0 sürümü açık zeplin sözleşmeleri, ki bu yine kariyerimde büyük bir dönüm noktasıydı.


Başarmıştım. Kodumun bir kısmı nihayet yayındaydı. Ve OpenZeppelin ile daha az değil.


Hâlâ bir işe ihtiyacım vardı ve BeyondSkills'te Blockchain Eğitmeni oldum. Sağlamlık programlamayı öğretmek için çevrimiçi kurslar oluşturmam gerekirdi. Her zamanki gibi bu iş için pek nitelikli değildim. Bazı şeyleri kodlamayı biliyordum ama bilgimde çok büyük boşluklar vardı. O zamana kadar kendim bir sözleşme bile uygulamamıştım.


Sağlamlık gelişimi hakkında videoda konuşmam ve eğitimler yapmam gerekiyordu. Ayrıca kapsamlı olmam gerekiyordu çünkü derslerin tutarlı olması gerekiyordu. Burada uygulanan maddelerle aynı kalıp; Bir şeyler öğreniyor ve hemen öğretiyordum ve bu da benim sağlamlık gelişimi hakkında çok şey öğrenmeme yol açtı.


Ne yazık ki şirket yasal zorluklar nedeniyle kapandı ve bu içerik hiçbir zaman kamuya açıklanmadı. Belki böylesi daha iyidir.


Bir şeyler öğreniyor ve hemen öğretiyordum ve bu da bana sağlamlık gelişimi hakkında çok şey öğrenmemi sağladı.


Bu dersleri kaydederken yanıma geldiler. Allan Niemerg sabit nokta matematiği konusunda yardım için sahip olduğu bir teknik inceleme . O zamanlar bir fikri olan benimle temasa geçen diğer pek çok kişinin aksine Allan'ın, adını hiç duymadığım bir risk sermayesi fonundan parası vardı. Paradigma ve onu ciddiye aldım.

O zamana kadar Fixidity'yi kodlamıştım, sabit nokta matematiği hakkında birkaç makale yayınladım ve hem OpenZeppelin hem de Solidity çekirdek ekibine yardım etmeye çalıştım ama başarısız oldum. Ayrıca logaritmik işlevlere sahip AMM'lerin önemsiz olmadığını da biliyordum ve bunları çalıştırmak için sözleşme yapabileceğimiz bir Mikhail adamı tanıyordum.

@yield'da işe alınan ilk kişi bendim. Allan'ı işe almaya ikna ettim Bruce TechHQ zamanlarımda ön uç mühendisi olarak ve üçümüz de çok genç bir kişinin yardımıyla Georgios , Verim v1'i ana ağda başarıyla başlattı.


Hakkında çok şey öğrendim teminatlandırılmış borç motorları , protokol entegrasyonu , yuvarlama hataları, zincir dışı izinler , flaş krediler , Ve gaz verimliliği , birkaç isim. Daha önce hiç yapmadığım bir şeyi yapma girişimlerimin çoğunda olduğu gibi bu da pek başarılı olmadı.


Öğrendiğimiz şeylerden biri, Uniswap'ten farklı olarak, ürün pazarına uyum sağlamak için protokolde değişiklikler yapmamız gerekeceğiydi. Sözleşmelerimiz çoğunlukla değişmez olduğundan kısa süre sonra Yield v2 üzerinde çalışmaya başladık.

Bugüne Hızlı İleri Saralım

Yield Protokolü v2 yaklaşık iki yıldır yayındaydı ve ondan çok şey öğrendim ama artık kapanıyor. Teknik çalışmalarımız birinci sınıf olsa da, sabit oranlar şu an için merkezi olmayan finansa uygun ürün pazarına sahip değil.


Yine vahşi doğada, yine zor yolu seçiyorum ve başka bir Baş Mühendis/CTO rolü almak yerine, öğrendiğim derslerden faydalanabilecek diğer startup'lara danışman olarak kendimi konumlandırıyorum. Bunun nasıl yapılacağına dair herhangi bir kılavuz yok ve bilgilerimdeki boşlukların çok büyük olduğunu biliyorum, ancak iyileştirme fırsatları da öyle.


Şimdiye kadar deseni görmelisiniz. Konfor alanımın hemen dışında kalıyorum, çoğu zaman başarısız oluyorum ama öğrendiklerimi her zaman başkalarına öğretiyorum. Bu makale bir örnek olarak görülebilir.


Şanslıysam CementDAO, AllianceBlock, OpenZeppelin sözleşmeleri, BeyondSkills kursları ve son olarak Yield gibi birinin istediği bir şeyi bulacağım. İhtiyacı olan birini bulamazsam, tüm makalelerim gibi her zaman öğrenecek ve sonra yazacak bir şeyler vardır.


Konfor alanımın hemen dışında kalıyorum, çoğu zaman başarısız oluyorum ama öğrendiklerimi her zaman başkalarına öğretiyorum.


Deneme, başarısız olma, öğrenme ve öğretme döngüsü benim buluşum değil ama işe yarıyor. Çoğu zaman beni aptal gibi gösteriyor ve belki de bazıları için en zor kısım budur. Ben başarısızlıklarımı gururla taşıyorum.


Okuduğunuz için teşekkürler. Umarım bu size biraz ilham verir. İyi şanlar.