paint-brush
Hành trình của tôi với tư cách là một nhà phát triển Solidityby@alcueca
2,476
2,476

Hành trình của tôi với tư cách là một nhà phát triển Solidity

Tôi bắt đầu viết mã các hợp đồng thông minh cách đây 5 năm, ở tuổi 38 và từ chỗ không có kinh nghiệm lập trình chuyên nghiệp đến việc xây dựng các hợp đồng thông minh tiên tiến.
featured image - Hành trình của tôi với tư cách là một nhà phát triển Solidity
Alberto Cuesta Cañada  HackerNoon profile picture

Tôi bắt đầu viết mã các hợp đồng thông minh cách đây 5 năm, ở tuổi 38 và từ chỗ không có kinh nghiệm lập trình chuyên nghiệp đến việc xây dựng các hợp đồng thông minh tiên tiến.


Nhiều người đã hỏi về cách họ có thể đi theo con đường tương tự. Mặc dù không có một nguồn lực hay bí quyết cụ thể nào để thành công nhưng vẫn có một khuôn mẫu mà bạn có thể sử dụng.


Đây là cuộc hành trình của tôi.

Sự bắt đầu

Vào năm 2018, tôi mới cùng vợ và con nhỏ chuyển từ Melbourne đến Lisbon để tất cả chúng tôi có thể gần gũi hơn với gia đình. Tôi đã có một sự nghiệp ổn định với tư cách là kỹ sư siêu máy tính và kiến trúc sư giải pháp cho ngân hàng đầu tư và nghĩ rằng Lisbon sẽ đủ lớn để tôi tìm được việc làm.


Chẳng bao lâu, tôi nhận ra rằng thị trường việc làm ở Lisbon hoàn toàn không cần kỹ sư siêu máy tính và nền tảng kiến trúc sư giải pháp của tôi sẽ chỉ khiến tôi trở thành những vai trò quản lý cấp trung nhàm chán.


Tôi đã quan tâm đến công nghệ blockchain từ lâu nhưng chưa thực sự quan tâm đến nó. Sau đó, tôi đọc một bài báo về việc thuê kỹ sư blockchain khó khăn như thế nào và nhìn thấy cơ hội.

Tôi đã viết thư cho tác giả để cảm ơn anh ấy vì đã truyền cảm hứng để tìm kiếm một công việc trong lĩnh vực blockchain. Chúng tôi bắt đầu nói chuyện và cùng với một người bạn của anh ấy, chúng tôi quyết định thành lập TechHQ, một công ty tư vấn blockchain với những lý tưởng cao cả. Trong nhóm tư vấn ba người của chúng tôi, tôi sẽ là chuyên gia công nghệ.


Tôi có khoảng một tháng để chuyển từ vị trí Kiến trúc sư giải pháp của công ty sang tạo các dự án dựa trên blockchain mà chúng tôi có thể bán cho khách hàng.


Nếu không có kinh nghiệm trước đó, tôi sẽ là chuyên gia công nghệ.


Một trong những nhiệm vụ của tôi là viết các bài báo kỹ thuật blockchain để thu hút khách hàng, giống như bài báo đã đưa tôi đến gặp các đối tác của mình. Viết những bài báo này và công khai những gì tôi đã học được sẽ là chìa khóa trong sự nghiệp của tôi.


Bài viết đầu tiên của tôi sẽ là về bắt đầu công việc đó và trình bày chi tiết các bước đầu tiên của tôi trong blockchain. Phần giới thiệu của tôi về Solidity là việc hoàn thành Hướng dẫn về CryptoZombie .


Cơ hội kinh doanh đầu tiên của chúng tôi đến với chúng tôi vài tháng sau đó với một dự án Xi măngDAO . Chúng tôi đã đưa Bernardo lên tàu, một hacker địa phương trẻ và tài năng , người tại một thời điểm nào đó đã yêu cầu trợ giúp về vấn đề toán học liên quan. Tôi không biết nhiều nhưng tôi có thể cố gắng làm Fixidity hoạt động để xây dựng đường cong AMM tùy chỉnh bằng cách sử dụng logarit.

Nhiệm vụ đó khiến tôi mất khoảng một tháng, với việc Bernardo dạy tôi về Solid, javascript, git và truffle. Tôi thực sự không biết gì cả. Kết quả không mấy xuất sắc—được thiết kế quá mức và kém hiệu quả ngay cả so với tiêu chuẩn năm 2018. Trong sự thiếu hiểu biết của tôi ,
Tôi thực sự tin rằng nó là hàng đầu .


Kết quả không mấy xuất sắc—được thiết kế quá mức và không hiệu quả ngay cả so với tiêu chuẩn năm 2018


Sau khi có được một số khả năng mã hóa vững chắc và chỉ có Bernardo mới có kỹ năng phát triển giao diện người dùng, tôi đã đảm nhận các hợp đồng thông minh cho CementDAO. Thật không may, một phần do việc triển khai Fixidity không hiệu quả, chúng tôi chưa bao giờ tiến tới giai đoạn mạng chính.


Khi chúng tôi tìm kiếm thêm khách hàng, tôi tiếp tục thử nghiệm để có thể viết nhiều bài hơn vì đó là cách chúng tôi mong đợi có được khách hàng. Cuối cùng, tôi nảy ra một ý tưởng thú vị về giải pháp chuỗi cung ứng . Mặc dù ý tưởng này không thành công nhưng nó đã khiến tôi nghĩ ra mộthợp đồng kiểm soát truy cập dựa trên vai trò điều đó thực sự rất tốt.


Ngay khi sự phá sản dường như sắp xảy ra, chính quy tắc này đã bảo đảm cho chúng tôi một khách hàng khác: khối liên minh đã thuê chúng tôi mã hóa nền tảng phát hành blockchain với một số vai trò được cấp phép.


Bất chấp hiệu suất khủng khiếp của các hợp đồng thông minh, họ chỉ cần một bằng chứng khái niệm về Ganache mà chúng tôi đã cung cấp. Tôi đã học được những bài học quan trọng về kiến trúc hợp đồng thông minh, lưu trữ trên chuỗi và tích hợp giao diện người dùng.


Dù có thành tích tệ hại… tôi đã học được những bài học quan trọng


Chúng tôi lại không có doanh thu và rất thiếu tiền mặt. Tôi quyết định không trả lương và mua một phần ba công ty để chúng tôi không bị phá sản. Tôi không nghĩ chúng tôi có cơ hội lớn để trở thành một công ty, nhưng điều đó không thành vấn đề, tôi đang viết mã, tôi đang học hỏi, tôi đang rất vui vẻ. Có vẻ như đó là một thỏa thuận rẻ tiền để có được trải nghiệm blockchain tuyệt vời.


Trong khi chúng tôi tìm kiếm thêm khách hàng. Tôi đã cộng tác trên hq20-hợp đồng với uivlis , phát triển và ghi lại các mô hình vững chắc và trường hợp sử dụng khác nhau. Tất nhiên đã viết nhiều bài viết về họ .


Bước ngoặt

Cuối cùng, công ty lại hết tiền và tất cả chúng tôi phải bắt đầu tìm việc làm. Sau đó, tôi tình cờ gặp mộtsự cố mở trong OpenZeppelin . Họ cần một cái gì đó giống như một danh sách liên kết, và tôi đã làm điều đó trước tiên cho CementDAO, sau đó cho các hợp đồng hq20 và thậm chí đã viết một bài viết hay về .


Sau khi thảo luận với Nventuro , đóng góp của tôi đã được tích hợp dưới dạng Vô sốSet.sol trong một trong những bản phát hành của OpenZeppelin. Tôi đã làm được điều đó. Một số mã của tôi cuối cùng đã hoạt động. Và với OpenZeppelin cũng không kém.


Được khích lệ bởi thành công này, tôi đã giải quyết thách thức của OpenZeppelin trong việc cải tiến các hợp đồng kiểm soát quyền truy cập của họ. Tôi đã thực hiện công việc tiên tiến về chủ đề ứng dụng chuỗi cung ứng bị lỗi, hoàn thiện nó với AllianceBlock và một lần nữađã viết một bài viết kỹ lưỡng về chủ đề này .


Tôi biết tôi có thể làm được. Điều này cuối cùng đã dẫn đến việc xuất bản AccessControl.sol bên trong bản phát hành 3.0 về các hợp đồng zeppelin mở, một lần nữa lại là một cột mốc quan trọng trong sự nghiệp của tôi.


Tôi đã làm được điều đó. Một số mã của tôi cuối cùng đã hoạt động. Và với OpenZeppelin cũng không kém.


Tôi vẫn cần một công việc và tôi đã trở thành Giảng viên Blockchain cho BeyondSkills. Tôi sẽ phải tạo các khóa học trực tuyến để dạy lập trình vững chắc. Như thường lệ, tôi thực sự không đủ trình độ cho công việc đó. Tôi biết cách viết mã một số thứ, nhưng tôi có những lỗ hổng kiến thức rất lớn. Cho đến lúc đó, tôi thậm chí còn chưa tự mình triển khai một hợp đồng.


Tôi đã phải nói chuyện trên video và làm các bài hướng dẫn về phát triển sự vững chắc. Tôi cũng phải tỉ mỉ vì các khóa học cần phải nhất quán. Mẫu tương tự như với các bài viết được áp dụng ở đây; Tôi đang học mọi thứ và ngay lập tức dạy chúng, và điều đó khiến tôi học được rất nhiều về sự phát triển vững chắc.


Thật không may, công ty đã đóng cửa do những thách thức pháp lý và nội dung đó không bao giờ được công khai. Có lẽ như thế tốt hơn.


Tôi đang học mọi thứ và ngay lập tức dạy chúng và điều đó khiến tôi học được rất nhiều về sự phát triển vững chắc.


Trong khi ghi lại những khóa học đó, tôi đã được tiếp cận bởi Allan Niemerg để được hỗ trợ về toán điểm cố định cho một tờ giấy trắng anh ấy có . Không giống như nhiều người có ý tưởng khác đã liên hệ với tôi vào thời điểm đó, Allan có tiền từ quỹ đầu tư mạo hiểm mà tôi chưa từng nghe đến, Mô hình , và tôi đã coi trọng anh ấy.

Lúc đó, tôi đã viết mã Fixidity, xuất bản một số bài viết về toán điểm cố định và cố gắng giúp cả OpenZeppelin và nhóm cốt lõi của Solidity nhưng không thành công. Tôi cũng biết rằng các AMM có hàm logarit không hề tầm thường và biết một anh chàng Mikhail mà chúng tôi có thể ký hợp đồng để chúng hoạt động.

Tôi là người được thuê đầu tiên tại @yield. Tôi đã thuyết phục Allan thuê Lý Tiểu Long từ thời TechHQ của tôi với tư cách là kỹ sư giao diện người dùng và cả ba chúng tôi, với sự giúp đỡ của một chàng trai còn rất trẻ Georgios , đã khởi chạy thành công Yield v1 trên mạng chính.


Tôi đã học được rất nhiều - về động cơ nợ có thế chấp , tích hợp giao thức , lỗi làm tròn, giấy phép ngoài chuỗi , khoản vay nhanh , Và hiệu suất khí , đến tên một vài. Giống như hầu hết những nỗ lực của tôi để làm điều gì đó mà tôi chưa từng làm trước đây, đó không phải là một thành công lớn.


Một trong những điều chúng tôi học được là, không giống như Uniswap, chúng tôi sẽ cần thực hiện các thay đổi đối với giao thức tìm kiếm sản phẩm phù hợp với thị trường. Vì các hợp đồng của chúng tôi hầu như không thể thay đổi nên chúng tôi đã sớm bắt đầu làm việc trên Yield v2.

Chuyển nhanh đến hôm nay

Yield Protocol v2 đã hoạt động được khoảng hai năm và tôi đã học được nhiều điều từ nó, nhưng hiện tại, nó sắp đóng cửa. Mặc dù công việc kỹ thuật của chúng tôi rất xuất sắc nhưng lãi suất cố định hiện tại không phù hợp với thị trường sản phẩm trong lĩnh vực tài chính phi tập trung.


Ngoài thiên nhiên một lần nữa, tôi lại chọn con đường khó khăn và thay vì nhận một vai trò Kỹ sư trưởng/CTO khác, tôi tự đặt mình làm cố vấn cho các công ty khởi nghiệp khác có thể hưởng lợi từ những bài học tôi đã học được. Không có hướng dẫn nào về cách thực hiện việc này và tôi biết rằng lỗ hổng kiến thức của tôi là rất lớn nhưng cũng có cơ hội để cải thiện.


Đến bây giờ, bạn sẽ thấy mô hình. Tôi luôn ở ngoài vùng an toàn của mình, thường thất bại nhưng luôn dạy người khác về những gì tôi học được. Chính bài viết này có thể được coi là một ví dụ.


Nếu may mắn, tôi sẽ tìm được thứ mà ai đó muốn, như CementDAO, AllianceBlock, hợp đồng cho các khóa học OpenZeppelin, BeyondSkills và cuối cùng là Yield. Nếu không tìm được người có nhu cầu thì luôn có điều gì đó để tìm hiểu rồi viết về, giống như tất cả các bài viết của tôi.


Tôi luôn ở ngoài vùng an toàn của mình, thường thất bại nhưng luôn dạy người khác về những gì tôi học được.


Vòng lặp cố gắng, thất bại, học tập và giảng dạy không phải là phát minh của tôi, nhưng nó có tác dụng. Nó thường khiến tôi trông như một thằng ngốc và có lẽ đó là điều khó khăn nhất đối với một số người. Bản thân tôi, tôi tự hào về những thất bại của mình.


Cảm ơn vì đã đọc. Tôi hy vọng điều này sẽ mang lại cho bạn một số cảm hứng. Chúc may mắn.