미국의 취업정보업체인 페이사(Paysa)의 조사에 따르면, 2017년 IT 10대 기업들이 (애플, 구글, 아마존, 페이스북, 에어비앤비, 우버, 마이크로소프트, 스냅, 트위터, 오라클) 올린 8000건 이상의 구인 포스팅을 분석한 결과, 소프트웨어 엔지니어(Software engineer)가 가장 필요로 하는 인력인 것으로 나타났다. 블록체인과 관련된 조사도 별반 다르지 않다. 세계 최대 규모의 직장 평가 사이트인 Glassdoor는 2018년 10월 보고서에서 가장 많이 필요한 15가지 블록체인 직업을 발표했다. 그 중 1위 역시 소프트웨어 엔지니어가 차지했다. 4차 산업 혁명시대와 더불어 블록체인 기술의 중심에 있는 직업이 바로 소프트웨어 엔지니어이다.
일반적으로 소프트웨어 엔지니어는 사용자의 요구 사항을 분석하고, 기능, 성능요건, 운영 환경등을 고려하여 소프트웨어의 개발 범위와 목표를 설정한다. 그리고 개발 및 완성을 위한 계획을 세우고 소프트웨어를 설계/분석, 품질 테스트를 실행한다. 직접 코딩하기도 하지만 대부분 프로그래머나 코더들에게 지침을 제공하는 일을 한다.
블록체인 소프트웨어 엔지니어는 비트코인, 이더리움, 리플과 같은 블록체인 플랫폼에 최적화된 소프트웨어, Dapp(Decentralized applications)의 개발을 진행한다. 일반적인 소프트웨어 엔지니어와 달리 블록체인 프로토콜, 스마트 컨트랙트(Smart contract) 개발 및 블록체인 네트워크등에 대한 이해와 운영에 관련된 지식이 필요하다.
블록체인 소프트웨어 엔지니어는 블록 체인과 백엔드 및 프런트 엔드 시스템 사이에 통합 레이어를 구축하며, 각 프로젝트가 끝나면 블록 체인 기술 평가에 참여하기도 한다. 따라서 블록체인 소프트웨어 엔지니어가 되기 위해서는 직접 코딩을 비롯한 여러 언어들에 대한 경험과 블록체인 프로젝트 관련 경력이 필수이다. 블록체인사업을 진행하는 기업에 따라, 또는 블록체인을 적용할 비즈니스에 따라, 요구되는 구체적인 경력이나 기술은 조금씩 다를 수밖에 없다. 하지만 국내외 취업사이트에서 관련 구인/구직 정보를 분석해보면 3년 이상의 일반 소프트웨어 개발 경력, 1년 또는 1건 이상의 블록체인 개발 경력을 요구하는 경우가 일반적이다.
국내외 취업사이트에서 대표적인 사례를 하나씩 가져와 보았다. 기업에서 요구하는 블록체인 소프트웨어 엔지니어의 구체적인 업무 내용과 자격요건을 실제 구인 공고를 통해 확인해 보자.
[국내 블록체인 기술 개발 업체 X사 / 출처:사람인]
Software Engineer (Blockchain 개발 tools 및 응용 개발)
[개발업무]
- Blockchain Explorer 개발
- Wallet Application 개발
- Blockchain Client SDK 모듈 (Java & Javascript) 개발
[자격요건]
- Java 개발 경력 3년 이상
- Back-end 개발 경력 3년 이상 또는 Front-end 개발 경력 3년 이상
- 분산 네트워크 프로그래밍에 대한 경험
- Web Socket등 네트워커 개발 경험자
[우대사항]
- Full Stack 개발자 우대
(Full stack 개발자란 Front-end 와 Back-end 두 영역 모두 개발 가능한 사람을 말함)
[미국 의료서비스 기업 U사 / 출처:Indeed.com]
Blockchain Software Engineer
[주요 업무]
비즈니스에 적용 가능한 분산 원장 기술을 구현하기 위한 소프트웨어 / 프로토콜 설계 및 구현
블록 체인 유틸리티 및 도구 설계 및 제작
블록 체인 기술로 비즈니스 실제 케이스 구현
기업 또는 커뮤니티 내의 동료에게 아이디어 및 기술 공유
[필수 자격]
프로덕션 시스템을 위한 코드 생성 경험이 있는 소프트웨어 개발 엔지니어 또는 이와 동등한 4년 이상 경력
GoLang (Go), Ruby, Python, JavaScript, Java, C, C ++, C # 등 다양한 소프트웨어 언어 사용경험
퍼블릭 클라우드 공급자, AWS, Azure 또는 GCP를 사용한 경험
*nix 유형 시스템 경험 : Unix, Linux, OS X
[우선 자격]
Ethereum 또는 다른 블록 체인 프로토콜 사용 경험
버전 제어 소프트웨어 경험. Git 또는 SVN
PKI 경험
Docker와 같은 컨테이너 플랫폼 환경
데이터 구조에 대한 강력한 이해
Solidity 경험
Smart Contract 개발 경험
합의 알고리즘에 대한 지식
(원문)
Blockchain Software Engineer
Primary Responsibilities:
Design and implement software components/protocols to enable distributed ledger technology applicable to the business
Design and build blockchain utilities and tools
Implement business use cases with blockchain technology
Collaborate with coworkers and establish best practices
Present to colleagues within the enterprise and/or community to share ideas and learning's
Required Qualifications:
4+ years of experience as software development engineer or equivalent hands on experience producing code for production systems
Experience with a variety of software languages such as, but not limited to, GoLang (Go), Ruby, Python, JavaScript, Java, C, C++, C#
Experience using public cloud providers, AWS, Azure or GCP
Experience with *nix type systems like: Unix, Linux, OS X
Preferred Qualifications:
Experience with Ethereum or other blockchain protocols
Familiarity with version control software. Git or SVN
Experience with PKI
Experience with container platforms such as Docker
Strong understanding of data structures
Experience with Solidity
Experience developing smart contracts
Knowledge of consensus algorithms
Advanced experience with GoLang ( Go )
'블록체인 직업들' 카테고리의 다른 글
블록체인 프로젝트 매니저 (Project manager) (0) | 2020.07.29 |
---|---|
블록체인 품질 엔지니어 (Quality Assurance engineer) (0) | 2020.07.23 |
블록체인 개발자 (Blockchain Developer) (0) | 2020.07.22 |
블록체인 백엔드 엔지니어 (Back-end engineer) (0) | 2020.01.28 |
블록체인 프런트엔드 엔지니어 (Front-end engineer) (0) | 2020.01.22 |
댓글