10 ms·
Ask HN: Best way to get into blockchain development?
Hi HN,
I'm a software dev with 10yrs XP. Mostly mobile and gaming.
I'm interested to take the leap and go fully into blockchain/solidity.
I'm looking for some bootcamps, or online learning platform that can guide me towards landing a position as a solidity developer.
I'm actually interested to know any experience from other developers that took a similar leap. What helped you get into so-called web3 development?
- Stanlyya 4y agoIf you are looking to learn solidity and get a job the best option is metana.io - they will teach solidity comprehensively, help you build your dapp portfolio and also make sure you land a job in web3 development as well.
- iRomain 4y agoLike with any software engineering field, start looking at OSS. This is especially true with blockchains and web3 projects which are more often than not open sourced. Then decide wether you want to jump on the blockchain/infrastructure bandwagon (Go, Rust, etc.) or the smart contract/app bandwagon (Solidity, etc.). Then start contributing back to the OSS projects that interest you. If you do that, you should have no issue landing a job in the field. Source: I did hire solidity developers a few years ago and I would totally look at their open source contributions as proof of their knowledge since this was/is such a new field. Some repos: https://github.com/OpenZeppelin https://github.com/OpenZeppelin https://github.com/ConsenSys https://github.com/ConsenSys https://github.com/ethereum https://github.com/ethereum https://github.com/input-output-hk https://github.com/input-output-hk https://github.com/solana-labs https://github.com/solana-labs
- nnoitra 4y agowhy should a dev become a blockhain developer tho?
- random_kris 4y agoBecause it is fun and full of exciting opportunities?
- nnoitra 4y agoAs is machine learning, cryptography, learning Cantonese and snorting cocaine. Is it special in any way though?
- deleted 4y ago[deleted]
- chaosbolt 4y agoYou do know that most faang employees work on methods to maximize ad revenue right, because last I checked google or Facebook weren't in the business of trying to cure cancer? What about Lockheed-martin or other companies making missiles that kill civilians for their oil? Blockchain is just a technology, one shouldn't have such strong feelings against it just because one is a contrarian and lots of idiots are shouting that it'll end world hunger or building scams using it. You speak of machine learning and cryptography, both are tools, some use ML techniques to discover tumors in medical images before humans can spot them, and others use it to analyze your data to know which product should be advertised to you to make you spend more money on useless things.
- pavel_lishin 4y ago> Blockchain is just a technology I am definitely a cryptocurrency contrarian, so I was going to stay out of this thread - it wouldn't help OP to have people questioning his fairly straight-forward request. But I don't think there is such a thing as "just a technology". Technology comes out of people's desires, and you can't disentangle it from the context it's created in. You can argue that blockchain is just an append-only database, but that ignores all sorts of externalities its adoption is causing.
- JoshCole 4y ago
- exdsq 4y agoI’ve enjoyed the challenges of learning about distributed systems, consensus, formal methods… Whatever one might say about crypto in general, blockchain projects can let you work on some things that are fairly hard to find otherwise.
- ralph44 4y agoI can recommend these bootcamps: - https://buildspace.so/ https://buildspace.so/ - https://www.learnweb3.io/ https://www.learnweb3.io/ If you need a complete introduction, then look at: - https://github.com/ethereumbook/ethereumbook https://github.com/ethereumbook/ethereumbook If you want to get started quickly with Solidity: - https://solidity-by-example.org/ https://solidity-by-example.org/
- deleted 4y ago[deleted]
- dstik 4y agoTyping from phone but here are some resources that really helped me: Blockchain Fundamentals: https://github.com/ethereumbook/ethereumbook https://github.com/ethereumbook/ethereumbook Practical Solidity: https://solidity-by-example.org/ https://solidity-by-example.org/ Crypto Zombies is an amazing beginner step by step course to build a blockchain game: https://cryptozombies.io/ https://cryptozombies.io/ Finally, ethernaut is a series of increasingly difficult security challenges to learn about risks, exploits, info sec for blockchain dev: https://ethernaut.openzeppelin.com/ https://ethernaut.openzeppelin.com/ Oh, and any Patrick Collins tutorial video on YouTube (solidity, chainlink, hardhat, truffle, brownie, so much more)
- Stanlyya 4y agoSolid advice! and to add, If you are looking to learn solidity and get a job the best option is metana.io - they will teach solidity comprehensively, help you build your dapp portfolio and also make sure you land a job in web3 development as well.
- mywaifuismeta 4y agoNo, you just made an account spamming this. I hope this gets removed.
- cableshaft 4y agoCrypto Zombies is excellent and I highly recommend it, but keep in mind that it was built using an older version of Solidity and if you try to do some things the same way in newer versions of Solidity your code will break. Like I think one thing it has in there, for example, is when you push an item onto an array it returns that item, so they have you initialize a variable to that push. The very next version of Solidity changed push so it's a void return, so you can't do that outside of the Crypto Zombies tutorials. Most of the changes are small enough to not be a big deal, just keep in mind that some things you're being taught are probably not the way things are done now. Best practices have changed a lot since Crypto Zombies too, especially if you want to support new ideas like Omnichain or save gas using contracts like ERC-721A.
- herbst 4y agoThere are so many well documented open source projects in solidity just start making your own. However IMO it's kinda like with JavaScript. There are so many people claiming to be solidity kings it's hard to tell who actually is. 1 little oversight can easy cost you millions. IMO you can't bootcamp skills like that. The only thing that makes you actually good is experience.
- Stevvo 4y agoTwo things really helped me. First was the series "Ethereum from scratch" by Matt Thomas on YouTube. Second was gitcoin.co. I would pick up random bounties on there, often slightly beyond my skill level so that I would learn faster. You quickly build relevant skills and just as importantly you are building working relationships with companies and peers whilst getting paid to write open source software. To start out I would take on the issues that are entirely writing tests; it's low stakes so you're not going to break the product and you learn as much as if you were writing the code that you are writing tests for.
- akudha 4y agoAre you working in the blockchain space now? If yes, can you share how your experience is like? Type of projects, pay, opportunities etc
- Stevvo 4y agoI've been out of it for a couple of years. Not because I disliked it, just had other opportunities come up. I expect some things are very different today and some the same. Pay was great, it has only gone up since. Projects are people are extremely varied; some of the most talented people on the planet working on compelling ideas to scams and more general time wasters. Sometimes all together in the same company.
- exdsq 4y agoPrinceton have a MOOC where you build a basic blockchain from scratch, maybe on EDx. I recommend that course but can’t find it on my phone right now!
- high_byte 4y agoethereum.org excellent source for all sorts of information for all skill levels. great place to start your journey down the rabbit hole.
- quickthrower2 4y agoIf you look at the web3 docs and solidity docs, that gets you 95% of the way! An course can be nice to ease into it.
- quickthrower2 4y agoI just did a udemy course. Built some side projects. Realised that while technically interesting I can’t think of anything genuinely useful to build in it that isn’t gambling or just a more expensive and slow version of using postgresql.
- noch 4y agohttps://cryptocurrencyclass.github.io/ https://cryptocurrencyclass.github.io/ UC Berkeley DeFi Mooc https://youtube.com/channel/UCB67PxhB5LAWEbI4etQS7aw https://youtube.com/channel/UCB67PxhB5LAWEbI4etQS7aw Smart contract security auditing https://secureum.substack.com/archive https://secureum.substack.com/archive Tim Roughgarden, Foundations of Blockchains https://youtube.com/playlist?list=PLEGCF-WLh2RLOHv_xUGLqRts_9JxrckiA https://youtube.com/playlist?list=PLEGCF-WLh2RLOHv_xUGLqRts_... https://github.com/ethereumbook/ethereumbook https://github.com/ethereumbook/ethereumbook
- loandigger 4y agoFrom a traditional Dev perspective, blockchain programming can seem really weird. No decimals, no patches or point upgrades to deployed smart contracts (for the most part anyway), constructor event only gets called once during deploy, code implicitly has "owners" with specific execution rights, etc. But this is what I have found to be the strangest part: On most worldwide public blockchains, your programs are deployed to run on servers supplied by other people. They expect to be compensated for supplying this CPU power. Your programs are charged gas and mining fees when they execute. This is usually paid for by the person initiating the transaction with your program. This produces two weird side effects: 1) Your development environment (e.g. hardhat, ganache) will "charge" you the same fees, even when you are running entirely on your own laptop. Many times when you hit the deploy button, your own laptop will puke because your dev wallet doesn't have enough coin in it to pay the compile fees. ON YOUR OWN MACHINE! 2) When optimizing your code, you no longer refactor to improve speed or code maintainability, but mainly to reduce the fees charged when executing. Solidity even has a "price sheet" of fees for operations like addition, subtraction or allocating memory. This new way of thinking can seem strange to experienced devs because of all the easy fixes you plainly see that have to be left in the code base. Counter-intuitive.
- dgellow 4y ago> 2) When optimizing your code, you no longer refactor to improve speed or code maintainability, but mainly to reduce the fees charged when executing. Solidity even has a "price sheet" of fees for operations like addition, subtraction or allocating memory. This new way of thinking can seem strange to experienced devs because of all the easy fixes you plainly see that have to be left in the code base. Counter-intuitive. That makes me think of the game Shenzhen I/O: each component cost money, each executed line of code draw power, you have to optimize your circuit to match your assigned power and price goals.
- deepGem 4y agoAnother side effect is that you have to now think of separating the expensive parts of the code from the non expensive parts because that code has to be offloaded from the blockchain itself into side chains or something else. Security is another aspect that has to be brutally evaluated, even at the OPCODE level. This is really strange. TL;DR it's almost like writing assembly level code with a 1000% emphasis on security, despite writing code in a high level language.
- dqpb 4y agoBefore committing all your time to solidity, I recommend taking at least a quick look at Algorand as an alternative. https://developer.algorand.org/ https://developer.algorand.org/
- ncmncm 4y agoFind some grifters who need a coder to get going. The coding itself is like anything else. Make sure you are paid in actual dollars or euros.
- shahroz_hk 4y agoWell, some of the resources that I've used are: DApp University(youtube) Solidity Documentation Eat the blocks (youtube) Patrick Collins (youtube) Mastering Solidity (Udemy) Cryptozombies.io (E-learning website)
- recvonline 4y agoMany great recommendations already. What I found the hardest was to know _which_ tech stack to learn. Are focussing on Ethereum, Bitcoin, Polkadot etc. Want to work on the chain itself, on an application that communicates with different chains, Smart contracts etc. I would approach it from; Which company or product do you find interesting and want to work for? Then I would read the Required section in the job description and start learning these skills. Parity for example has great tutorials for their Substrate framework and this alone is probably a great starting point to venture out and learn concepts you come across you don’t know yet.