skills of blockchain developers
This blog will now consider the role of a blockchain developer by outlining the skills needed to perform that role.
- software developer skills
- communication skills
- cross-function collaboration skills
- design pattern languages and software architecture
- software development life cycle (especially the agile methodolgy, Atlassian's agile suite)
- alignment with business goals
- test methodology
- Backup & Recovery
- back-end web developer
- develop webapp stack
- webserver (nginx)
- Web Performance
- virtual private server deployment (digitalocean.com's API doctl)
- encrypted communications (ssh, sshd)
- cloud computing (digital ocean, AWS)
- sysadmin (Linux, Debian, Ubuntu)
- https (encrypted webpages using ssl certificates via certbot)
- web applications (node.js, pm2)
- reverse-proxy webserver (express.js)
- web frameworks (freeradiantbunny)
- APIs and REST (see: information architecture
-
front-end developer: develop user interfaces which interact with blockchain technologies using web applications (client-side UI)
- UX designer
- user-centered design
- interaction design
- web standards: HTML5 & CSS
- responsive mobile design
- web framework for data binding (svelte)
- wire-framing
- prototyping (Sketch, InVision, Figma)
- user interface design
- graphic designer (gimp)
- user-centered testing
- data visualization
- write effective use cases
- write documentation
- JSON
- node.js (runtime environment)
- React, Vue.js, Svelt (user interface library)
- IPFS, Swarm (file systems, storage)
- test user-agents (laptops, phones, monitors)
- Socket.io
- RESTful Web Services
- Web Design
- data
- data structures
- relational databases (postgresql)
- flexible schema databases (mongodb)
- SQL
- Database Administration
- Information Architecture
- content management systems
- DevOps
-
dApps and smart contracts
- interface to existing smart contracts (moneymaker_measurement_instances)
- Ethereum Virtual Machine
- browser-based dApp development (Remix)
- command-line dApp development
- "write code" (knowldge of programming languages)
- Linux server with terminal (command-line, perl)
- JavaScript (for freeradiantbunny development)
- Node.js and npm
- Solidity (for Ethereum smart contracts)
- Go (program Docker containers)
- tools for developing dApps
- command-line interface (bash terminal)
- text editor and IDE (emacs, Sublime Text 3)
- solc (Solidity compiler)
- truffle suite (on local machine or droplet)
- Hardhat
- ganache cli (local blockchain for testing)
- migrate to blockchain from truffle project
- Ethereum client (geth, parity, fiews,io, infura.io)
- explorers, etherscan, ethers.js (blockchain javascript API)
- security auditor apps (find vulnerabilities in smart contracts)
- oracles (provide data to smart contracts)
- ecosystems knowledge: experience with specific technology
- XRP and the XRP Ledger
- FLR and the Flare Network
- SGB and the Songbird Network
-
wallets
- browser-plugins (metamask)
- browser-based wallets
- best practices for the security of private keys
-
build demo dapps
- launch token
- swaps
- lists on the blockchain
- data pipeline from weather device
- get data and publish analytics
- aggregate public data and add analytics
-
miscellaneous topics
- portfolio with design briefs
- Domain-Driven Design
- Event-Driven Microservices
- AI
- Risk Management