Với sự phát triển của công nghệ blockchain và hệ sinh thái blockchain, cơ hội phát triển nghề nghiệp cho các lập trình viên theo đuổi lĩnh vực này ngày càng rộng mở. Dưới đây là những nghiên cứu, tổng hợp và phân tích của Thạc sĩ khoa học máy tính Trần Quốc Tuấn - mentor Đại học trực tuyến FUNiX.
Thị trường tiềm năng của blockchain
Blockchain phát triển khiến nó chiếm vị trí quan trọng trong các kỹ năng lập trình khắt khe. Theo báo cáo Upwork từ cuối 2017 đầu 2018, kỹ thuật blockchain đứng thứ hai trong số các kỹ năng được yêu cầu nhiều nhất trên thị trường lao động (chuyên gia về robot) thế giới. Trong lĩnh vực kinh doanh và tài chính, công nghệ blockchain ngày càng phổ biến, số lượng công ty cũng tăng lên. Bên cạnh đó, các tập đoàn tài chính lớn như Bank of America, Visa… cũng áp dụng công nghệ blockchain.
Thị trường việc làm Mỹ, châu Âu và trên thế giới đều đang săn tìm các nhà phát triển và kiến trúc sư trong lĩnh vực blockchain. Tuy nhiên, việc tìm kiếm chuyên gia không dễ dàng. Trong quý IV/2017, sự thiếu vắng các vị trí lập trình viên công nghệ blockchain vẫn tiếp tục, trong khi đó, sản phẩm về blockchain lại tăng gấp đôi.
Theo ước tính của Computerworld, các chuyên gia blockchain freelance cung cấp dịch vụ tự do từ 150 USD mỗi giờ, các nhà phát triển blockchain ở Mỹ kiếm được 130.000 USD một năm, các nhà phát triển phần mềm kiếm được 105.000 USD một năm. Những dữ liệu này được công bố bởi Matt Siegelman, Giám đốc điều hành của chiến dịch phân tích dữ liệu về hiệu suất của công ty Burning Glass Technologies.
Kiến thức cần thiết với lập trình viên blockchain
Blockchain là chương trình thuần túy và các thành phần trong hệ sinh thái được xây dựng trên các ngôn ngữ khác nhau. Bitcoin chạy trên C ++, Ethereum hoạt động trên cả C ++ và Python. Một số blockchain đang cố gắng mở rộng sự hấp dẫn của họ bằng cách hỗ trợ một số ngôn ngữ (ví dụ Java, Python, NodeJS và C #). Bạn có nhiều tùy chọn có sẵn cho đến khi ngôn ngữ bạn thành thạo có liên quan đến blockchain, nhưng bạn sẽ phải có đủ kỹ năng ở đó.
Bạn cũng cần các kỹ năng phát triển web, gồm HTML, CSS, NodeJS và MongoDB. Có nhiều công việc liên quan đến phát triển blockchain. Kỹ năng mạng và bảo mật cũng là một yêu cầu thêm, vì các nhà phát triển blockchain làm việc chặt chẽ với các nhân viên từ lĩnh vực này.
Tóm lại, bạn cần phải biết một trong các ngôn ngữ lập trình Java, Python, JavaScript.... Nếu quan tâm đến việc lập trình các hợp đồng thông minh trên Ethereum, bạn có thể học ngôn ngữ Solidity. Ngoài ra, kiến thức phát triển web cũng cần thiết.
Một số công cụ hỗ trợ cho lập trình viên blockchain
Các blockchain phân quyền và công cộng
Người mới bắt đầu sẽ gặp thách thức khi tự tạo một mạng lưới blockchain mới. Tuy nhiên, bạn có thể sử dụng một mạng lưới blockchain công cộng có sẵn, như Bitcoin, Ethereum hoặc Hypderledger (blockchain phân quyền mã nguồn mở của Linux) … để xây dựng cho mình các ứng dụng sử dụng công nghệ mạng phi tập trung (decentralize network).
Các lập trình viên đã quen với Linux sẽ không gặp nhiều khó khăn khi thao tác trên Hyperledger. Tuy nhiên, các blockchain này có sự khác nhau và thường blockchain của Bitcoin không phải là sự lựa chọn tốt để xây dựng vì mạng lưới của Bitcoin được thiết kế chỉ để thực hiện giao dịch peer to peer (giao dịch ngang hàng).
Các blockchain testnet
Có một cơ chế gọi là Testnet giúp các lập trình viên thử nghiệm tính năng của phần mềm mà không cần phải sợ mất coin, chi phí khi dùng thử. Cơ chế này cũng tạo ra một mạng lưới các nút mạng, thợ mỏ, những người dùng và cả một blockchain mới chỉ để phục vụ cho công việc thử nghiệm.
Để tạo ra các dapps (decentralize applications - ứng dụng phi tập trung) trên blockchain của Ethereum hay tạo ra một chain hoàn toàn mới, bạn cần sử dụng đến các testnet của blockchain liên quan. Các testnet này giúp bạn kiểm tra thoải mái mà không phải tạo ra các giao dịch rác trên mạng lưới thật, cũng như sử dụng coin thật để thực hiện giao dịch.
Các công cụ xây dựng ứng dụng
Có nhiều công cụ hỗ trợ việc xây dựng ứng dụng blockchain như BaaS (Blockchain as a Service) của Microsoft Azure, API của Coinbase hay Mist, Tieron, Embark, Solc.
BaaS và API là các công cụ giúp lập trình viên xây dựng các dapps, hỗ trợ người làm hệ thống back-end phải sử dụng đến blockchain. Chỉ cần vài thao tác đơn giản, lập trình viên có thể xây dựng một hệ thống blockchain cho công việc của mình. Embark và Solc là các framework, đóng vai trò làm nền tảng để xây dựng các chương trình hỗ trợ việc xây dựng và vận hành hệ thống blockchain.
Tương lai cho lập trình viên blockchain tại Việt Nam
Tại Việt Nam, lập trình viên blockchain cũng có những cơ hội thu nhập tốt, với mức dao động từ 1.000 đến 6.000 USD.
Dưới đây là một số thông tin tham khảo về mức lương với lập trình viên blockchain:
Lập trình cho Blockchain: C ++ / Go
Kỹ năng: phát triển ứng dụng web, phát triển ứng dụng di động Android / iOS, lập trình hướng đối tượng, kiến thức về C / C ++, Java / C #, Bitcoin Core, Ứng dụng Blockchain, hiểu về Bitcoin, altcoins, blockchain
Làm việc tự do: từ 35 USD mỗi giờ
Làm việc toàn thời gian: đến 100.000 USD một năm
Thanh toán cho dự án: từ 2.000 USD
Lập trình cho Ethereum: Solidity
Kỹ năng: kinh nghiệm làm việc trong blockchain, ICO, Ethereum DApps, ví, hợp đồng thông minh vững chắc, tiền điện tử mới và trao đổi tiền điện tử.
Làm việc tự do: từ 50 USD mỗi giờ
Làm việc toàn thời gian: đến 110.000 USD một năm
Thanh toán cho dự án: từ 3.000 USD
Xây dựng hợp đồng thông minh cho ICO
Kỹ năng: Kinh nghiệm phát triển hợp đồng thông minh, các chương trình dựa trên Bitcoin và Ethereum với theo dõi và sử dụng tiền điện tử. Kỹ năng ngôn ngữ vững chắc và Ethereum để viết các hợp đồng thông minh, và phát triển cấu trúc Ethereum. Kỹ năng trong DApps (các ứng dụng phi tập trung). Ngoài ra kinh nghiệm trong lập trình web trên Javascript và Python là cần thiết.
Làm việc tự do: từ 50 USD mỗi giờ
Việc làm toàn thời gian: đến 120 USD một năm
Thanh toán cho dự án: từ 4.000 USD
Tương lai cho lập trình viên blockchain ngày càng rộng mở. Nắm được hướng đi đúng đắn và có sự chuẩn bị cẩn thận, lập trình viên sẽ có nhiều cơ hội phát triển nghề nghiệp với một ngành mới.
Thạc sĩ Khoa học máy tính Trần Quốc Tuấn
Mentor Đại học trực tuyến FUNiX
FUNiX là trường đại học đào tạo kỹ sư phần mềm bằng phương pháp trực tuyến. Cùng với bài giảng online, sinh viên được hướng dẫn, kèm cặp kiến thức bởi mentor là các chuyên gia công nghệ, nhà tuyển dụng… tại các công ty, tập đoàn công nghệ Việt Nam. Tìm hiểu về chương trình và phương pháp học FUNiX tại đây.