profile-pic
Vetted Talent

Deepak Singh

Vetted Talent

A seasoned software engineer with expertise in cloud-native development, data transformation, and blockchain technologies. I've worked with companies such as the London Stock Exchange Group, HCL Software, and Accenture, focusing on Java development, blockchain deployments, and smart contracts. My expertise includes AWS, Hyperledger Fabric, Ethereum, Docker, Kubernetes, and Python.

  • Role

    Sr/Lead Blockchain Development Engineer

  • Years of Experience

    5 years

Skillsets

  • AWS - 3 Years
  • hyperledger fabric - 3 Years
  • Solidity - 1 Years
  • Smart Contracts - 2 Years
  • Docker - 3 Years
  • Blockchain - 3 Years

Vetted For

12Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Senior / Lead Blockchain Development Engineer (Hybrid, Bangalore)AI Screening
  • 64%
    icon-arrow-down
  • Skills assessed :Blockchain, Decentralized Identifier, Hyperledger Aries, Self-sovereign identity, W3C Standards, AWS, Python, Team Collaboration, Vendor Management, Good Team Player, Problem Solving Attitude, Strong Attention to Detail
  • Score: 58/90

Professional Summary

5Years
  • Apr, 2023 - Present2 yr 5 months

    Senior Software Engineer

    London Stock Exchange Group(LSEG)
  • Nov, 2021 - Apr, 20231 yr 5 months

    Senior Software Engineer - I

    HCL Software
  • Sep, 2018 - Oct, 20213 yr 1 month

    Senior Application Development Analyst

    Accenture Solutions Pvt. Ltd.

Applications & Tools Known

  • icon-tool

    Kubernetes

  • icon-tool

    GKE

  • icon-tool

    EKS

  • icon-tool

    Docker

  • icon-tool

    Ansible

  • icon-tool

    Helm

  • icon-tool

    Jmeter

  • icon-tool

    Selenium

  • icon-tool

    Solidity

  • icon-tool

    Hyperledger Fabric

  • icon-tool

    Python

  • icon-tool

    Java

  • icon-tool

    Ethereum

  • icon-tool

    Apache JMeter

  • icon-tool

    AWS (Amazon Web Services)

Work History

5Years

Senior Software Engineer

London Stock Exchange Group(LSEG)
Apr, 2023 - Present2 yr 5 months

    Project 1: WORLD CHECK ONE(WC1):

    • Working as a Java Developer for World-Check under Data and Analytics Division of LSEG. World-Check is an essential screening platform, created to support your due diligence needs in the fight against financial crime, bribery, and corruption. World-Check serves the know your customer (KYC) and third-party screening needs of large firms, and helps businesses comply with anti-money laundering and countering financing of terrorism legislation. It is a risk mitigation tool. We have more than 30 microservices in production and Reporting-service and Auditing service being core to product, my primary role is to work on adding new features, maintaining and enhancing existing ones in Reporting, Auditing and Templating services of WC1. Worked on addition of new feature to expose the generation of reports to client through APIs.
    • Working on Auditing service, which is responsible for capturing any client events and storing it for auditing purposes for them.
    • Working on Templating-Service in XSLT to convert data to the defined formats.
    • Skills Used: Java, Spring JPA, Spring Data, Spring Batch, Spring Messaging, Spring Integration, SQL, XSLT, AWS(ECS, SQS, Aurora, Cloudwatch)

Senior Software Engineer - I

HCL Software
Nov, 2021 - Apr, 20231 yr 5 months

    Projects:

    Project 1: Integration Platform(ITX/HIP):

    • Working as a cloud-native developer for IBM Transformation Extender(ITX)/HCL Integration Platform(HIP). HIP is basically a tool for any to any data transformation and it enables organization to integrate industry-based customer, supplier and business partner transactions across the enterprise. It helps automate complex transformation and validation of data between a range of different formats and standards.
    • Setting up ReadWriteMany(RWX) storage on the the GKE using Rook-Ceph.
    • Responsible for carrying out Chaos Engineering experiments on the k8s deployment using Litmus, an open source Chaos Engineering platform.
    • Skills Used: Kubernetes, GKE, EKS, Docker, Shell Scripting, Java.

    Project 2: HIP-Adapters:

    • Also working as a Java developer for one of the component of the product (hip-adapters) which is a comprehensive collection of communication, database, messaging, and utility adapters available for the HCL Integration Platform (HIP) and IBM Transformation Extender (ITX) products, as well as for third-party applications and web services.
    • It is Adapter Factory, and these adapters are used to retrieve and route data.
    • Skills Used: Java

    Project 3: Unica-HIP:

    • Also solely responsible for collaborating with Unica team in order to develop and maintain helm charts to integrate different releases of Unica with HIP releases for Kubernetes deployment.
    • Unica is a suite of marketing products and Unica-HIP is an out of the box low code, fast and flexible framework to seamlessly integrate 3rd party touchpoints and martech applications with Unica.
    • Skills Used: Kubernetes, GCP, Docker, Shell Scripting

Senior Application Development Analyst

Accenture Solutions Pvt. Ltd.
Sep, 2018 - Oct, 20213 yr 1 month

    Project 1: hyperledger/bevel: https://github.com/hyperledger/bevel#contributors-

    • Have significant contribution in Hyperledger Bevel, an open source automation framework under Linux Foundation in Hyperledger for rapidly and consistently deploying production-ready DLT platforms. Bevel makes use of Ansible, Helm, and Kubernetes to deploy production Blockchain networks. It supports Hyperledger Fabric, R3 Corda, Quorum, Hyperledger Indy and Hyperledger Besu. Specifically, it makes use of Ansible for configuration of the network and uses
    • Helm charts as instructions for deploying the necessary components to Kubernetes.
    • Skills Used: AWS managed EKS, Docker, Ansible, Shell Scripting, Java, R3-Corda, Hyperledger Fabric

    Project 2: Supplychain management of hardware:

    • A full-fledged largest Blockchain consortium in the hardware supply chain industry for 9 companies. Have done performance testing of client-side application of nine nodes on Azure Managed Blockchain and found out the optimum limit of transaction that could be processed. Also entrusted for creation of automation scripts for testing the entire flow which drastically reduced the time for sanity testing from 3 days to just couple of hours.
    • Skills Used: Quorum, Solidity, Jmeter, Selenium

    Project 3: Transport Management:

    • Developed Smart contract for client-side application for management and tracking of vehicles buying and approval process in a consortium of Govt. Authority, Dealer, Bank, Insurance Company and integrated API with blockchain application for reporting of entire chain.
    • Skills used: Java, R3-Corda, Spring Boot, MySql

    Project 4: Bulk Cargo

    • Worked on R3 Corda DLT platform, developed smart contracts for client-side application and APIs for a number of participants in the consortium of shipping process.
    • Skills used: R3-Corda, Spring Boot

    Project 5: Deployment of Blockchain Assets

    • Worked on AWS instance to deploy end to end a couple of Blockchain assets being developed by Capability in multiple platforms.

Education

  • M.Tech (CSE)

    NIT, Rourkela (2018)
  • B.Tech (CSE)

    Bengal college of Engineering and Technology, Durgapur (2015)

AI-interview Questions & Answers

Could you help me understand more about your background by giving a brief introduction to your solar? Hi. Hi. Uh, my name is Deepak Kumar, and, uh, I completed my MTech from an IT outlet. And then after that, I joined Accenture as a blockchain developer. I worked there as, as a blockchain developer mostly in looking into, uh, and, uh, hyperlocal fabric. I worked on, uh, block chain accelerator framework app, uh, which is right now called Bevel, uh, which is an open source in the Linux Foundation under hyper laser hyper laser project. So I have kind of significant amount of contribution in this project, which is an open source. Uh, after that, I worked on Kubernetes thing. So, basically, in my 2nd company, I worked on, uh, I spent time on Kubernetes. So I was a, uh, Kubernetes engineer there. Uh, I worked on Java and other stuffs. Uh, right now, I'm working in London Stock Exchange Group as a senior software engineer. And, uh, here, uh, I'm mostly going to Spring Spring and, uh, Spring frameworks and then AWS side and, uh, uh, Docker and other things.

Okay. In designing a blockchain based authentication system, how would you ensure secure communication between hosted microservices? Based authentic system, how do you ensure secure community hosted microservice services? So while designing blockchain based authentication system, um, so in that case, I would um, if there is a requirement to, uh, for the blockchain based system to get authenticated using the microservice or or or if it wants to, um, interact with the AWS, um, and microservices which are being hosted in AWS, uh, I would be, uh, creating some sort of, uh, maybe, uh, active directory in the AWS where I would be storing the keys being generated from the AWS blockchain system. And, uh, once, uh, those microservices gets verified, uh, or it, uh, or it it might it should have a separate services, which handles those things, and it will get, uh, whenever there is another system on to communicate with that microservice, it would first fetch the keys from the active directory. And, um, these, uh, keys are being randomly generated, or or maybe it is the hash based system, which the blockchain system would store in the, uh, AWS in in the active directory system. And from there, the, um, uh, one of the microservices which handles this part will pick up that and then verify the hash. And by that way, it will, uh, get, uh, the the system will work like this, and it the the one the the one who want to communicate with Microsoft will get verified through this. There can be, uh, separate ways to do that. Uh, but right now, this is the one thing which is coming to my mind. Other ways, there can be other one thing that is coming to me. Let's say there is a blockchain system, and all the, uh, microservices, kind of or maybe, uh, every moment there is a hash of the particular, um, person, stores the hash in the system. So now that hash and the microservice will get in touch with the blockchain, pitch the hash, and verifies it. Uh, if it is successful, hash matches, then it should allow the person or other services which want to interact with this microservice. It has a kind of detail, so we will have to come up with the particular design. But right now, this is coming to my

Why would be the best what would be the best strategy to handle data synchronizing between a hyperledger private blockchain and a half public 30 minute network? To handle data synchronization between hyperled and private box I think, um, this can be handled, this uh, synchronization between the hybrid and private blockchain and. Uh, this can be done, uh, maybe in in between some like, whenever there is a transaction or after some interval of time, hybrid private blockchain, uh, will, uh, fetch the data from the Ethereum network. And then it does some kind of algorithm to verify the authenticity of the data, and then it stores in the blocks. Otherwise, um, what do I do in private box? Network. Whether the data is synchronized or not. I think this is

Okay. How do you integrate a Node. Js paged RESTful service with the other chain code? For transcription, how would you integrate Node. Js based service with that? So we would be, uh, running a Node. Js, uh, based, um, RESTful service. So and, uh, we will have the third party library, which will invoke the chain code of the Hyperledger. And, uh, when once that, uh, basically, that, uh, library, which is being provided by Hyperledger, uh, will help us to, uh, fetch the, uh, chain code. And, uh, once we have the chain code, we can go through it. And, uh, and 1 by 1, we can verify the transactions, whatever the transaction we have in the chain code. Or, uh, otherwise, uh, otherwise, we can also do one thing. We can expose a rest API through node, uh, which will, uh, basically, uh, call the hyperledger chain code. My chain code, basically, the the block and the, basically, the, um, the code that is there. So that will call the chain, uh, chain code, and then, uh, it will have the logic which is inside that. And that's basically the chain code, which will have a have a logic to verify the transactions that, like, it is valid or not. For example, there is 1 transaction, um, which happened, and let's say we want that whenever there is a, uh, let let's say there is a transition between a and b, and he has some amount in his wallet if he want to transfer that to b. So we must check first that whether a contains those things or not. So those things will be written in the chain code. So in the rest nodes, we just rest them. We just can expose a API, which we'll call the chain code, and that chain code will run on the

Scenario with high read and write throughput, how do you optimize the MongoDB device in used by a blockchain application and with high read and write output? Given a scenario with high read and write output, how would you optimize a MongoDB database and use MAM blockchain application? Uh, I, uh, think, uh, for for, um, for high read and write scenarios, if we have a MongoDB database, uh, then we think I think we can in the read, uh, scenario, we can keep, uh, basically, we have to shard the database. We could we should we have to keep multiple databases. And, uh, maybe, uh, there should be multiple databases which is distributed, uh, basically, the copy of the same database, and there should be 1 database under, uh, so so what will happen? Whenever there is a read operation that can be read from any of the distributed, uh, shard or basically shard database, uh, copy of the database. And whenever there's a write application, then it would go and write, uh, so that will follow a master slave architecture. So master will first block the, uh, other, uh, copies of database so that no other no other can read write the data, and it will block. And this and at the same time, another can also not read at that time. And it will update the instant, uh, the database in all the, uh, copies of the databases. So and, uh, yeah, by that this way, we will and blockchain application will always, um, this application. And we will be putting, uh, um, maybe a load balancer in front of MongoDB, and that will direct to whenever there is a blockchain is want to read the data, it will direct to different, uh, maybe randomly choose the reader instance. And whenever it used to it want to write it at that time, uh

I think, uh, the key consider consideration that we want to take into picture while designing Microsoft was is that intact with the authorized blockchain. So maybe, uh, we want to keep, uh, first of all, we want to see the size of, so so maybe if we see, the things will be how we are deploying the microservices. Okay? So if it is deploying on the particular VM, virtual machines, in that case, uh, I think we don't need much, uh, thing because we can, at the same time, deploy the dockerized blockchain nodes over the one instance where the microservice is running. But if the microservices are, deployed as a, uh, as a, uh, as a as a dockerized application itself, and, uh, maybe let's say it is deployed in Kubernetes cluster. So maybe we can look into Kubernetes side where we want to deploy all the microservices there. And, uh, at the same time, the blockchain nodes are also running in the cluster. So, uh, actually, I would I would suggest here, uh, to deploy it on the Kubernetes cluster because that will handle all the things gracefully. Uh, but, uh, while the considerations mainly are that whether these are all able to interact with or not, you know, the blockchain nodes and which microservice is going to interact with which nodes. Those things has to be taken into picture. Then, um, yeah, like that, we have to take this thing into considerations.

Yeah. So I think here, we are checking if error not equal to nil. So if it is no no error is there, then we are saying shim. Error failed to get state for the key. That is actually wrong. Instead of that, we would be doing, uh, if not equal to nil. Okay. Then we will read the value inside that. Else, we will say that, uh, we will return that error failed to get the state of the key. So if part if error not equal to nil, then we should be placing whatever we have in the LC part. And whatever we have in the else part, it is value equal to nil. So if once, uh, um, and else if value equal to nil, value is nil, then shim dot error. So it should be error equal to equal to nil. Um, then we should return error. Then we will check for the value. No. Then we'll we'll say not found. Otherwise, we'll print the value.

This is being this error is caused because when we are checking the, uh, balance of the sender, if it is greater than value first of all, it should be greater than equal to value. If it is not, then it will throw error. So, uh, yeah, it will check if it is greater than value, then transformer exceeds balance. Otherwise, it will throw the error. We should be, uh, putting a logger statement just after the function, uh, to print, uh, to maybe to check the to to print the value of the sender amount or what whatever the balance the sender sender has. And after that also and we should be putting this. Uh, Yeah. We should be putting a debugger at the or or maybe before the driver, we should be logging it to, uh, the value of the amount that the sender has and then the value. By that, we can we will come come to know just before the just after the function starts and before this require statement.

Uh, this, uh, I would say to minimize the bundle of Python using less, using, uh, libraries. Using all this optimized version of the libraries, uh, so that it can be handled. Or maybe we could deploy, uh, the instances as a containerized image, and, uh, we can, so whenever there is a load, we we can increase the number of, uh, containerized image of the nodes. So by that, uh, we can handle that. So whenever there is a more demand, more operation, we can increase the number of, uh, uh, containers of the Python based

If you need a, uh, need to perform a complex signing of data from a post SQL database and among ODB collection within a browser. How would you ensure the most efficient.

Uh, I would so in order to troubleshoot a distributor, denial of service, attack and blockchains are only used while maintaining a new service. So I think, uh, in order to, uh, troubleshoot denial of service at a blockchain, which we can, uh, what what we can do is, like, we can, uh, hit the blockchain node, uh, and, uh, we see and then we will have to see that why this is denying the service.