What advice would you offer other technologists or developers interested in getting started working on blockchain?
My advice is two-fold.
First, start now. There’s so much to learn. Begin by exploring and understanding the theory behind DLTs; then get your hands dirty with as many examples as you can find. There is a lot of learning involved with the technologies incorporated within Fabric. After working primarily with Java and a few other languages sprinkled in for 18 years, I found YAML files, Golang, and Docker all to be eye-openers.
Second, be patient. Be prepared to do a lot of reading, coding, and experimenting. Even if you have been told by an “expert” in the field that what you are trying to accomplish won’t work, still give it a shot. What you learn along the way is invaluable.
This technology is continuously evolving, and what works in one version may not work in the next. I’ve mostly seen positive outcomes from experimentation. Don’t be tempted to throw your hands up in disgust. Okay, maybe once or twice… but persistence is a virtue!
Give a bit of background on what you’re working on, and let us know what was it that made you want to get into blockchain?
I was a latecomer to blockchain and DLT. About a year ago, I started working on a simple AngularJS UI by interacting with Spring REST, and in turn calling Ethereum APIs for a proof of concept (POC) at the Federal Reserve Bank of Boston.
Upon completion of our initial POC, we began looking at Hyperledger Fabric v0.6. That’s when I knew there was no turning back. I very much liked working with v0.6 and the documentation served as a solid foundation for me to enhance my understanding of the underlying technologies. Now, with v1.0, I am continuing to expand my skillset.
At the Boston Fed, we’re getting our hands dirty experimenting with DLT to determine applicability, potential benefits, and risks. What better way to learn about the technology than exploring it first hand?
What project in Hyperledger are you working on? Any new developments to share? Can you sum up your experience with Hyperledger?
The Hyperledger umbrella has so many great sub-projects – I just wish there were more hours in the day to explore them all, reminiscent of the Jakarta Apache days. I have predominantly been working with Fabric sub-umbrella Fabric Core, the Fabric Java SDK, and the Fabric Node SDK, as well as briefly looking into Hyperledger Composer, Hyperledger Blockchain Explorer, and Hyperledger Fabric-SDK-Go.
I am grateful that the documentation has been well maintained. Hyperledger’s YouTube channel has also been incredibly helpful, especially in regards to the v1.0 chaincode deployment strategy.
As Hyperledger’s incubated projects start maturing and hit 1.0s and beyond, what are the most interesting technologies, apps, or use cases coming out as a result from your perspective?
I see a lot of good implementations that don’t necessarily have a great use case, but from my perspective that is fine. Low-risk, low-use projects using DLT can help develop skills. Then, when there is a need for a mission-critical application, the learning curve isn’t so steep.
I’ve also seen many great third-party applications used in their infancy for Blockchain monitoring, streamlined Blockchain genesis, and Fabric APIs that are less cumbersome and easier to understand than some under the Hyperledger umbrella.
What is the best piece of developer advice you’ve ever received?
Don’t over-engineer to solve a problem. With the wonderful world of dynamic class loading, abstraction, aspecting, and more, it’s easy to develop an overwrought, complex solution for a simple problem.
What technology could you not live without?
If I had to limit it to one technology, I’d say software in general. I don’t know what I’d do with my life if I didn’t write software. Actually, I might be a photographer, but I probably wouldn’t get paid very well because I’m no Ansel Adams!