Hey all! Last month we had an interesting and enlightening call with Shadab, who is presently a Full-stack developer working in React, who previously has worked for 2 years in the R&D department of a Multi-National Corp as a Blockchain Research Analyst. The crux of this discussion was Shadab's opinion that beginners shouldn't focus on blockchain while starting to learn programming. Here's a short summary of the same.
Shadab has completed his bachelors in Mechanical Engineering. During senior year of college, he realized that a job in the Mechanical sector wasn't something that he would pursue long term, and was introduced to the world of tech through an internship that he did at a startup. Through a growing interest in cryptocurrencies and tech, Shadab started mining cryptocurrencies himself, and eventually built projects around it.
He eventually started working in the R&D department of TCS (Tata Consultancy Services) as a Blockchain Researcher, where he made use of Hyperledger Fabric and the Ethereum Network to build Proof of Concept projects.
What is Smart Contract Development?
There are several layers in any software. A frontend layer, which may use HTML, CSS and JS to build and display a UI, and a backend layer involving a server for processing transactions and a database for persisting data. Smart Contracts are just an addition to these layers. For a complete app, all layers have to be involved.
Smart Contracts, unlike other software layers, are very flexible. They may not need a separate frontend and backend. Business logic can be coded in the smart contracts and deployed into the respective network directly.
On Smart Contracts:
Smart contracts have an inbuilt system of authentication. You supply your public key, and sign a secret with your private key, to prove your identity. Smart Contracts run on blockchain nodes, meaning any machine which is part of the blockchain can execute your code. You pay the nodes a gas fee to have your code executed. To store data on the blockchain, you similarly pay gas fees to have your data/variables appended to the blockchain.
Why not Learn it as a Beginner?
While Shadab gained a lot of expertise in the field of blockchain, he advices young developers to skip the trend. In TCS, Shadab worked with clients from the automotive industry who wanted to integrate Blockchain with manufacturing. In this process, he realized that the value proposition of blockchain technologies was low, because of the low value generation as compared to the investment needed to run and maintain a smart contract.
His observation was that the interest in these technologies has been because of the hype itself.
Owing to this hype, students and new-comers to technology are not yet accustomed with the underlying technologies themselves. Web3 App development is similar to other software development. UI and UX still matters. Building projects by the traditional ways is how one truly understands the true meaning and use of decentralized systems.
Shadab also stresses on the fact that Blockchain is still in a very adolescent stage, where it's not mature enough to handle the complexities of real world problems.
You can check the complete conversation on YouTube. In case you want to attend future spaces (which we hold every 3rd weekend now), follow me on Twitter for updates.