Blockchain Developer

Blockchain Developer

Job Profile

The 21st century has witnessed tremendous alterations in industrial processes and production technologies ushering in an era of digital transformation which implements digital alternatives to almost all possible processes that yield a product of use.

 

Even if you are not particularly familiar with the technology, you must have heard the word “Blockchain” and believe it to be synonymous to “Bitcoin”? Well, most beginners have to face the same thought juncture. Are you also familiar with the word “Ethereum”? It is the runner-up to Bitcoin in terms of absolute fiat value today.

 

So you also must know that Bitcoin can be equated to around 3000USD today (maybe more when you are reading this!) and Ether (the currency of Ethereum) is at 184.82 USD. USD is a fiat currency. INR is also one. There are 251 more.

 

Blockchain is not all about Bitcoin but Bitcoin is all about blockchain. Blockchain is a technology and Bitcoin is an application and the first one, hence the confusion.

 

Blockchain involves intricate digital technology and cloud networking implemented through plain vanilla coding! The programming / scripting technology is complex but the math is simple. Just permutations and combinations.

 

Howeverthis is neither about Bitcoin nor Ethereum. This is about the technology “blockchain” which was originally circulated through a publication in 1998 by Nick Szabo on "bit gold", which was one of the precursors of Bitcoin! It fact it is conversial that
Szabo is Satoshi Nakamoto, the inventor of Bitcoin (2008), although he has repeatedly denied this. A primordial concept of DLT is believed to have been proposed by Wei Dai of Microsoft Corporation in the year 1998 as well.

 

So, “blockchain” is also called DLT which stands for distributed ledger technology. This is a method of storing huge amounts of data (think exabytes to zetabytes: 1018 bytes / 10 6 GB or more) digitally in the form of blk.dat files (a special type of document).

Now, these files are chained together to form a long expandable series of numbers called “hash” (something like this: 0xfe88c94d860f01a17f961bf4bdfb6e0c6cd10d05ca1240c58553). Every file is hashed to create a unique idenfier (a number) and these hashes are appended together to form the chain. 

 

Now, the challenge is to discover a new number everytime for a new file and this needs huge computing power. In a year, Bitcoin blocks consume the same amount the electrical energy as Switzerland!

 

Blockchain is implemented through DAPPs (a kind of software). DAPPs are full stacks of code sets developed / borrowed by any company (operating in various domains such as healthcare, manufacturing, automotives, finance, law etc.) which intends to implement blockchain related technology to be used in their own business to cater to business needs as for an example, a startup focusing on storing health data of every subscriber on a blockchain to be used by hospitals / healthcare centers etc. This will be done via a DAPP. Now, talking of cryptocurrencies, currency that is listed on an exchange also uses a similar DAPP architecture to build its blockchain.

 

So how is “Bitcoin” and “Ethereum” linked to blockchain technology?

These are digital currencies, means you can buy an amount of Bitcoins (BTC) or Ethereum (ETH) (with any fiat currency) and transfer them to someone, even across the world, in minutes. As of now, Bitcoin is the slowest as most alphanumeric combinations of identifiers for the Bitcoin chain are already used up and finding a new one without matching any of the earlier ones is extremely difficult.

 

These transactions are encrypted (again with a similar alphanumeric keycode) and added to form a new block say consisting of 500 such transactions. You can imagine how long the keycode / identifier of a single block becomes eventually. Thereafter, this single block is added to the previous blocks forming the chain. The first block or the genesis block for the Bitcoin chain was introduced by Satoshi Nakamoto on January 3, 2009 and this chain has continued ever since.

 

Why is this system considered decentralized?

Because, anybody with any computing apparatus (called miners) from anywhere in the world can number these blocks (called block mining) and earn, but this requires huge infrastructural costs so now mining pools have emerged which aggregate computing powers of various miners and share it through cloud to cut down costs, time, efforts. 80% of Bitcoin mining is done in China. China has the largest pools in the world. India is at 2%.

 

Now how do you earn through mining?

For every block that is mined, 12.5 bitcoins (BTC) are earned by whoever mines the block. (1 Bitcoin block = 12.5 Bitcoins) Ethereum similarly gives 3. Additionally, individuals get a transaction fee that is coupled to every single transaction. Bitcoin has a different chain of blocks, Ethereum has a different chain and so have other alternative coins (altcoins) that are being developed or any other chain used to load any type of data not just currency transactions.

 

Block mining is an industry which is knotted to cryptocurrencies only. As you can understand, blockchain is the technology that is used to create such coin systems to bring the world closer together, nothing else and since these coins have an intrinsic commercial value, creating blocks is a way to earn as 1 block = y coins = x USD. Bitcoin, or any other coin for that matter, is not a technology. It’s not a company. It’s your money, held in a digital form.

 

Most other companies (operating in industrial sectors other than cryptocurrency as is discussed in the following sections) have their blocks pre-mined or already generated and hence the amount of data that can be stored is pre-determined. This is not the case with cryptocurrencies, the amount of data although is pre-determined as we do not have infinite computing power as of now! Except Ethereum, all other cryptocurrencies follow an ex post facto method meaning the blocks are generated after the transactions are initiated.

Some common cryptocurrencies are Bitcoin, Ethereum, Litecoin, Ripple, Komodo etc.

 

Moving on. Blockchain has applications across across various other industrial sectors too as for examples, manufacturing (AI/ML), automotives, financial services, law, healthcare, real estate, banking etc. Remember DAPP? Regress a few paras back to rekindle your mind! Every company has to code its own DAPP / borrow DAPP templates from repositories available across the world and start creating a chain to store data to satisfy respective business needs depending on what type of data they want to store.

  1. Say for an example, blockchain may also be used to generate unique identifiers (alphanumeric strings) for crores of images in order to train a computer or robot in learning from experience such as identifying an image or speaking / understanding a human language etc. This is another use for quantum computing as such an “identifier generation system” would require huge computing capacities.

 

  1. Have you ever tried to find all the prime numbers possible till infinity writing a code in Perl or any other scripting language? Your machine will immediately crash and generate too much heat and ultimately fail. Such simple calculations are made possible with quantum computersSimilarly, in the case of blockchain, powerful computers are required which will only be used for creating blocks and no other task.

 

 

  1. Likewise, blockchain technology can be used in the healthcare industry to store a patient’s disease histories or clinical profiles across numerous hospitals, healthcare centres, medical facilities and various disease areas. Ease of access can be defined considering the business type or needs i.e. a patient / physician / researchers / health tech software developers can access the data stored in the blockchain.

 

  1. Law is another thrust area where blockchain can be implemented. This will do away with lawyers if you think! Any legislative document or legal contracts (called smart contracts) can be registered onto a blockchain network and the possible outcomes can be triggered automatically when say suppose a date expires or a clause is not met etc. Such contracts may be between two parties / firms / franchisor-franchisee etc.

 

 

  1. Blockchain is already active for transportation enablers such as Uber or Ola. Uber now runs on blockchain by connecting drivers and passengers directly via the advanced Chandra–Toueg consensus algorithm of blockchain.

 

To our benefit, at any point in timeany particular data point / hash or any particular contract can be tracked and revisited to reconsider or refer to. This facility of regression is an inherent property of blockchain technology and has immense advantages considering the several impediments that may arise during the course of a business.

 

 

Now, all of this and the simple math requires tremendous LOE (level of effort) on the part of software architects and developers for creating the software capable of making these blocks. You can either be a coder to design & develop the algorithm for blockchain software (for all industrial sectors utilizing this technology including cryptocurrencies) or construct a block miner / join a mining pool (for cryptocurrencies only; Bitcoin mining is not a lucrative option considering the huge investments that you have to make to set up a miner but other currencies are still on the rise).

 

 

Now, an important thing to note here is that blockchain is “distributed” but cryptocurrencies are “decentralized”. This means when a company has its own blockchain to store any type of data, the blocks on the chain can be generated (not mined) by select employees of that company or key accounts (mostly they are all pre-mined as already discussed) but cryptocurrency blocks can be generated (mined in exchange for money) by anyone anywhere in the world.

 

Key Roles and Responsibilities:

As a Blockchain Solutions Architect, you will have one or more of the following responsibilities or similar tasks:

  1. You will participate in design, coding / development and implementation of blockchain based applications (distributed systems and web services), specializing in Hyperledger Fabric SDK or REST, Ethereum blockchain frameworks or similar related digital instruments (software).

You will design and develop blockchain software architecture and solutions, with supporting diagrams, and documentation.

  1. You will participate in algorithm design, data structures, problem solving, and complexity analysis while building highly-scaled blockchain architecture, application services, enterprise software or cloud computing networks.
  2. You will use a number of programming / scripting languages, software, templates as well as technical instruments such as Ethereum, Hyperledger, Solidity, C++/C, Java, Python, Node.js, Go etc.
  3. You will write / deploy smart contracts for blockchain frameworks such as Hyperledger Fabric, Hyperledger Sawtooth, Ethereum, and Corda. A smart contract (aka cryptocontracts) is a piece of code stored in a blockchain network. The smart contract is stored on every computer operating in the same blockchain network. So all computers will execute the code and get the same result.
  4. You will devise strategies. You will engage with Solution Architects, Account Managers, Professional Services, and Partners to define a blockchain engagement strategy for operational territories and key accounts of your company – how blockchain can be applied to key functional areas for the benefit of a business.
  5. You will ensure concept evangelism. You will be providing global thought leadership for blockchain that benefits your customers through the use of your company’s DAPPs (decentralized applications)
  6. You will design customer solutions. You will collaborate with field sales, presales, training and support teams to help your customers & key accounts learn and use your blockchain based services.
  7. You will contribute to external publications such as database blogs, whitepapers and reference architectures, as well as internal training of Solution Architects, Professional Services Consultants, and Technical Account Managers.

Core Competencies

  • You should have interests for Investigative Occupations. Investigative occupations involve working with ideas and quite a lot of thinking, often abstract or conceptual thinking. These involve learning about facts and figures; involve the use of data analysis, assessment of situations, decision making and problem-solving.
  • You should have interests for Conventional Occupations. Conventional occupations involve repetitive and routine tasks as well as fixed processes or procedures for getting things done. These occupations involve working more with data, systems, and procedures and less with ideas or creativity.          

Knowledge

  • You should have knowledge of Computers - computer hardware and software, computer programming, computer networks, computer and mobile applications.
  • You should have knowledge of Data and Information Security - various software, systems and processes to ensure security of data and systems in computer networks as well as in individual computers and systems. This includes developing and programming software and systems to protect data and ensure security.
  • You should have knowledge of English Language – about English grammar, words, spelling, sentence construction, using English to communicate with others, reading in English, etc.
  • You should have knowledge of distributed ledger technology (DLT) & related technologies such as Hyperledger Fabric, Node.js, Go, Composer, Ethereum, Solidity, Truffle, web3.js, Geth, Corda, NEO etc.
  • You should have knowledge of object or component oriented development software such as C++; jQuery; Oracle Java; Python; Perl; R; Microsoft Visual C#; Microsoft Visual C# .NET etc.
  • You may need knowledge of database management system software such as Apache Hadoop; MongoDB; MySQL; Teradata Database etc.
  • You should have substantive understanding and depth of applied Cryptography including elliptic curve (ECDSA) signature algorithms, Schnorr signatures, and Zero Knowledge Proofs.

Skills

  • You should have Computer (Software Development) Skills - in using programming / scripting languages such as C, C++, Python, Java, Ruby, Swift, Perl, LISP, SQL, Angular JS, Node JS and MATLAB; development tools such as GitHub, Bootstrap, Dreamweaver, Atom, etc.; operating systems such as Windows 10, Linux, Android, Ubuntu, Mac OS, DOS, Unix, etc.
  • You should have Programming Skills - in writing computer programs for various applications, installation of computer programs and troubleshooting of problems in computer programs or software.
  • You should have Systems Analysis Skills - Skills in determining how a system should work and how changes in conditions, operations, or the environment will affect outcomes.
  • You should have Systems Evaluation Skills - Skills in identifying measures or indicators of system performance and the actions needed to improve or correct performance, relative to the goals of the system.
  • You should have Active Learning Skills - Focused and continuous learning from various sources of information, observation and otherwise for application in getting work done.
  • You should have Technical Skills - using various technologies and technical methods to get things done or solve problems.
  • You should have Critical thinking Skills –analysis of complex situations, using logic and reasoning to understand the situations and take appropriate actions or make interpretations and inferences.
  • You should have Coordination Skills - working together with other people to get things done.
  • You should have Judgment and Decision Making Skills - considering pros and cons of various decision alternatives; considering costs and benefits; taking appropriate and suitable decisions.
  • You should have Quality Control Analysis Skills - conducting tests and inspections of products, services, or processes to evaluate quality or performance.

Ability

  • You should have Problem Solving Ability - analysis and understanding of problems, evaluating various options to solve the problems and using the best option to solve the problems.
  • You should have Inductive Reasoning Ability - The ability to combine pieces of information from various sources, concepts, and theories to form general rules or conclusions. For example, analysing various events or situations to come out with a set of rules or conclusions.
  • You should have Originality - The ability to come up with unusual or innovative ideas about a given topic or situation, or to develop creative ways to solve a problem.
  • You should have Verbal Reasoning Ability - The ability to think and reason with words; the ability to reason out ideas expressed in words.
  • You should have Deductive Reasoning Ability - apply general rules and common logic to specific problems to produce answers that are logical and make sense. For example, understanding the reasons behind an event or a situation using general rules and common logic.
  • You should have Selective Attention - The ability to concentrate on a task over a long period of time without being distracted.
  • You should have Speed of Closure - The ability to quickly make sense of, combine, and organize information into meaningful patterns.

Personality

  • You are always or mostly careful about your actions and behavior.
  • You are always or mostly organized in your day-to-day life and activities.
  • You are always practical or in most situations.
  • You always feel secure in your surroundings and in most situations.
  • You are always calm or generally remain calm in most situations.
  • You can always act independently or could do so in most situations.

Career Path

Example from the Field

Manju Mohan is the CEO and Co-Founder of Ionixx Technologies, a tech company. Mohan holds a Bachelor’s degree in Computer Science and Economics from the University of Western Ontario (Canada) and a Master’s degree in Instructional Design from San Francisco State University. She is skilled in User Experience Design and well versed in Blockchain technology. She currently resides in Irvine, California.

Download the Career Card here