본문으로 건너뛰기
0%

Solidity 개발자가 되는 방법

Alchemy team headshot

작성자 Alchemy

2022년 10월 4일에 게시됨5분 읽기

‍Solidity 개발자가 되어야 하는 이유는 무엇일까요?

인터넷의 더 탈중앙화되고 민주화된 버전을 설명하는 용어인 Web3와 그 기반 기술인 블록체인이 계속해서 힘을 얻어가면서, 이 생태계에 깊이 몰입하는 것은 1990년대에 인터넷 애플리케이션 개발법을 배우는 것과 유사한 실질적인 이점으로 이어질 수 있습니다.

블록체인 기술은 NFT, DeFi, DAO와 같은 잘 알려진 탈중앙화 애플리케이션과 사용 사례를 구동하는 기반입니다. 인터넷의 미래를 만드는 데 참여하기 위해 블록체인 개발자가 되는 것은 Web3 생태계에 기여하는 여러 방법 중 하나이며, 특히 이 기술이 소비자 및 산업 환경에서 더욱 실용화됨에 따라 영향력 있고 수익성 있는 선택이 될 수 있습니다.

이를 염두에 두면, 어떤 Web3 프로그래밍 언어를 배워야 할지 궁금할 수 있습니다. 가장 좋은 선택 중 하나는 Ethereum과 같은 블록체인에서 스마트 컨트랙트를 실행하기 위한 객체 지향 프로그래밍 언어인 Solidity입니다.

Solidity의 문법은 JavaScript 및 C와 유사하므로, 웹2 개발자라면 더 빠른 속도로 학습 곡선을 오를 수 있습니다.

cryptocurrencyjobs.co에 따르면, 미국 내 Solidity 개발자 평균 기본 연봉은 $127,500이며, 최저 기본 연봉은 $80,000, 최고 기본 연봉은 $180,000입니다. 이 수치는 지역, 회사, 경력에 따라 달라질 수 있습니다.

강력한 기술을 탈중앙화되고, 비동기적이며, 빠르게 움직이고, 보수가 높은 환경에서 다루는 것은 갈수록 디지털화되는 오늘날의 세상에서 쉽게 찾아보기 힘든 기회입니다. 아직 확신이 서지 않는다면, Web3 운동이 개발자에게 매력적인 선택인 이유를 간략히 정리해 보겠습니다:

  1. 매주 학습하는 5,000명 이상의 다른 개발자들과 함께하세요
  2. Discord에서 퀴즈를 풀고, Telegram에서 새로운 친구를 사귀고, 굿즈를 받으세요
  3. 프로젝트 기반 커리큘럼으로 새로운 프로그래밍 기술과 도구를 배우세요
  4. Proof of Knowledge NFT로 Web3 개발자로서의 평판을 쌓으세요

Solidity 개발자가 되기 위한 7단계

Solidity 개발자가 무엇인지, 그리고 이 급성장하는 움직임에 참여하는 것의 이점에 대해 더 기본적으로 이해했으니, 이제 Solidity에 대해 더 알아볼 수 있는 방법들을 살펴보겠습니다:

1. 부트캠프에 등록하기

Solidity를 배우고 Ethereum 개발자가 되는 것을 빠르게 진행하는 효과적인 방법 중 하나는 Solidity 부트캠프에 참여하는 것입니다. 강사가 진행하는 부트캠프를 통해 개발자는 핵심적인 블록체인 암호화 기술을 습득하고, Ethereum에 대한 깊은 이해를 얻으며, 탈중앙화 애플리케이션을 구축 및 배포하고, 스마트 컨트랙트 개발을 숙달할 수 있습니다.

Alchemy University의 7주 과정 Ethereum Developer Bootcamp는 Web3를 처음 접하는 개발자가 가장 인기 있는 프로그래밍 언어를 배우기에 이상적인 방법입니다. 맞춤형 학습 도구, 인터랙티브 코딩 챌린지, 성장하는 업계에 맞춰 진화하는 커리큘럼은 Alchemy University 프로그램의 여러 이점 중 일부입니다.

개발 자체가 처음인 개발자라면, Alchemy의 3주 JavaScript 크래시 코스가 Ethereum 부트캠프를 시작하기 전 좋은 사전 준비 과정이 됩니다.

2. Solidity 기초 마스터하기

Solidity를 익히는 데 좀 더 개인화된 접근 방식을 선호한다면, 도움이 될 수 있는 다양한 공개 가이드, 기사, 영상이 있습니다. 이러한 자료들은 개발자가 기본적인 블록체인 용어, 도구, 애플리케이션에 대해 자기 주도적으로 배우는 데 도움이 됩니다. 또한, C++, JavaScript, Python의 기초를 알고 있으면 학습 과정을 도와주고 가속화할 수 있습니다.

그럼에도 불구하고, 스마트 컨트랙트를 개발하려면 개발자는 안전한 방식과 안전하지 않은 방식의 차이를 이해해야 합니다. 스마트 컨트랙트 보안 모범 사례를 무시하거나 간과하는 것은 권장되지 않습니다.

숙달해야 할 Solidity 기초 개념 중 일부는 Solidity 함수와 modifier입니다. Solidity 함수는 특정 작업을 실행하기 위해 함께 묶인 코드 블록 또는 문장의 집합입니다. 일반적으로 Solidity 함수는 function 키워드를 사용하여 정의되며, 예약어와 일치하지 않는 고유한 함수 이름이 뒤따릅니다. 또한 함수는 매개변수의 이름과 데이터 타입을 포함하는 매개변수 목록을 가질 수 있습니다.

Solidity modifier는 객체 지향 프로그래밍에서 사용되는 데코레이터 패턴과 유사합니다. 본질적으로 modifier는 그것이 부착된 함수의 동작을 변경할 수 있습니다. modifier의 주요 사용 사례는 함수 실행 전에 자동으로 조건을 확인하는 것입니다. 함수가 modifier의 요구 사항을 충족하지 않으면 예외가 발생하고, 즉시 함수 실행이 중단됩니다.

3. 보완적인 Solidity 도구 배우기

Solidity 개발자가 되려면 Web3 도구에 대한 폭넓은 이해가 필요합니다. Hardhat, Alchemy, Remix (온라인 IDE)와 같은 보완 도구는 많은 회사가 유사한 기술 스택을 사용하기 때문에 지원자의 애플리케이션 프로필을 높여줄 것입니다.

Hardhat

Hardhat은 개발용으로 설계된 로컬 Ethereum 네트워크인 Hardhat network를 기본으로 내장하고 있습니다. 컨트랙트 배포, 테스트 실행, 코드 디버깅을 모두 로컬 머신 내에서 수행할 수 있습니다.

Hardhat network에서 컨트랙트와 테스트를 실행할 때, Solidity 코드에서 console.log() 함수를 호출하여 로그 메시지와 컨트랙트 변수를 출력할 수 있습니다. 이 함수를 사용하려면 컨트랙트 코드베이스에 hardhat/console.sol을 import해야 한다는 점을 잊지 마세요.

Foundry

Foundry는 Rust로 작성된, 매우 빠르고, 이식 가능하며, 모듈식인 Ethereum 애플리케이션 개발 툴킷입니다. Foundry는 Forge, Cast, Anvil이라는 세 가지 고유한 요소로 구성됩니다.

  • Forge - Hardhat 및 Truffle과 유사한 Ethereum 테스트 네트워크
  • Cast - EVM 기반 스마트 컨트랙트와 상호작용하고, 트랜잭션을 전송하며, 체인 데이터를 얻기 위한 다기능 도구
  • Anvil - Ganache와 유사한, Hardhat network상의 로컬 Ethereum 노드
  • Chisel: 빠르고, 실용적이며, 자세한 정보를 제공하는 solidity REPL

또한, 개발자가 사용할 수 있는 다른 블록체인 개발 도구들도 있습니다. 완전한 목록은 아니지만, 살펴볼 만한 몇 가지 도구는 다음과 같습니다:

  1. Truffle - Ethereum을 위한 개발 환경, 테스트 프레임워크, 자산 관리 파이프라인
  2. Brownie - Ethereum Virtual Machine (EVM)을 대상으로 하는 스마트 컨트랙트를 위한 Python 기반 개발 및 테스트 프레임워크
  3. Echidna - 스마트 컨트랙트에 대한 속성을 정의한 후 퍼징을 사용하여 보안 버그를 찾아내는 도구
  4. Remix - 브라우저에서 Solidity 컨트랙트를 작성, 컴파일, 디버깅할 수 있는 강력한 오픈소스 IDE

4. Solidity 개발 실무 경험 쌓기

튜토리얼과 강의는 NFT 스마트 컨트랙트, 온체인 DAO, 또는 탈중앙화 금융 애플리케이션을 만들고자 하든, Solidity 개발을 배우는 주요 방법입니다. 이러한 Web3 튜토리얼은 참가자가 문서와 영상 안내를 따라가며 비동기적으로 특정 작업을 완료하는 방법을 배울 수 있는 가이드형 경험 역할을 합니다.

시작하려면 Alchemy의 Road to Web3 시리즈에 있는 다음과 같은 Solidity 튜토리얼을 살펴보세요:

  • NFT 스마트 컨트랙트 개발 방법 (ERC721)
  • "Buy Me a Coffee" DeFi dApp 구축 방법
  • 온체인 메타데이터로 NFT 만드는 방법
  • NFT 갤러리 만드는 방법
  • 다이나믹 NFT 만드는 방법
  • 스테이킹 dApp 구축 방법
  • NFT 마켓플레이스 구축 방법
  • Optimism 위에서 베팅 게임 구축 방법
  • 0x API로 토큰 스왑 Dapp 구축 방법
  • 탈중앙화 소셜 미디어 앱 만드는 방법

5. Ethereum 해커톤 참여하기

해커톤은 다양한 배경을 가진 사람들이 모여 실세계 문제를 해결하는 최소 기능 제품(MVP)을 개발하는 행사입니다. Ethereum 해커톤은 전 세계적으로 새로운 인맥을 쌓고, Web3 포트폴리오를 구축하고, 실무 개발 경험을 얻고, 잠재적으로는 행사를 후원하는 회사에 취직할 수 있는 훌륭한 기회입니다.

온라인이든 오프라인이든 참가한다면, 해커톤은 Web3 세계로 더 깊이 들어갈 수 있는 발판을 제공합니다. 현재 Web3 해커톤의 표준이 되는 것은 EthGlobal 행사와 Gitcoin입니다. 둘 다 포괄적인 교육과 실무 경험을 제공합니다.

6. 바운티를 위한 스마트 컨트랙트 감사하기

바운티를 위해 스마트 컨트랙트를 감사하는 것은 실무 경험을 쌓고, 보상을 얻고, 스마트 컨트랙트가 작동하는 방식을 이해하는 또 다른 방법입니다. 개별 회사와 탈중앙화 프로토콜이 후원하는 바운티 프로그램 외에도, 바운티 프로그램을 찾을 수 있는 플랫폼들이 있습니다:

  1. Web3 네이티브 플랫폼 - Immunefi 및 HackenProof
  2. 전통적인 플랫폼 - Bugcrowd 및 HackerOne
  3. 프로젝트 관리형 바운티 - Ethereum Foundation 및 0xProject

7. Solidity 개발자 채용에 지원하기

기초 지식과 실무 경험을 갖췄다면, 다음 단계는 정규직 Solidity 개발자 포지션에 지원하는 것을 고려해 보는 것입니다. Web3 생태계와 탈중앙화 기술을 위한 제품, 서비스, 인프라를 구축하는 전 세계 팀원들과 함께 일하게 될 것입니다.

에너지, 공감 능력, 그리고 적극적인 학습 태도 또한 매우 중요하다는 점을 잊지 마세요!

이력서와 LinkedIn 업데이트하기

Solidity 개발자 직무에 지원할 때는 이력서와 LinkedIn을 Web3 중심으로 업데이트하는 것이 중요합니다. 프로필, 업무 경력, 프로젝트, 학력, 기술, 자격증, 그리고 포트폴리오 링크를 꼭 강조하세요.

마지막으로, 정량적 정보를 포함하는 것도 좋은 방법입니다. 이는 채용 담당자와 잠재적 고용주에게 여러분의 영향력을 설득력 있게 보여주는 데 도움이 됩니다.

Web3 채용 게시판에서 포지션 조사하기

Web3 채용 게시판에서 포지션을 조사하는 것은 자신에게 맞는 역할을 탐색하는 효과적인 방법입니다. web3.career, cryptocurrencyjobs.co, web3jobs.so와 같은 사이트가 시작하기 좋은 곳입니다.

Alchemy, OpenSea, Coinbase와 같은 대형 Web3 회사들은 소싱, 리크루팅, 채용을 전담하는 내부 자원을 갖추고 있어, 채용 중인 포지션은 대개 채용 페이지에 게시될 가능성이 높습니다.

마지막으로, Solidity 엔지니어를 꿈꾸는 이들은 Indeed와 Monster.com 같은 채용 게시판에서 웹2 회사들이 게시한 크립토 관련 채용 공고와, 더 넓은 노출을 위해 여러 곳에 중복 게시하는 대형 Web3 회사들의 포지션도 확인해 볼 수 있습니다.

Background gradient

블록체인 매직을 만드세요

Alchemy는 가장 강력한 Web3 개발자 제품 및 도구를 리소스, 커뮤니티, 그리고 전설적인 지원과 결합합니다.