Building Great Blockchain Software, Smart Contract Scaling and Elixir

QuantLayer
40 min readAug 16, 2018

--

Here’s a transcript of QuantLayer Crypto Podcast #4.

We were lucky enough to be joined by Ben DiFrancesco of ScopeLift, a software consultancy based in Philly. We talked to Ben about the elixir programming language, how he finds clients, and what software is like it big versus smaller companies.

We also discussed the current state of crypto with the early internet, get Ben’s thoughts on the current scaling debate for smart contract platforms and how big companies might benefit from crypto wide adoption. This was a great mix of topics and if you have any interest in software development or crypto, you will enjoy this one.

The episode in its entirety can be listened to here:

QuantLayer is a software consultancy based in Brooklyn, New York. All opinions expressed by podcast guests are solely their own opinions and do not reflect the opinions of QuantLayer. The information presented should not be construed as investment advice. Guests may maintain positions in assets mentioned in the podcast.

Vikram: Hey everyone. You have Vikram here from QuantLayer with Faizaan also known as the wizard.

Faizaan: Hey everyone.

Vikram: We are joined with Ben DiFrancesco of ScopeLift. Hi Ben! How are you?

Ben: Hey Vikram, hey Faizaan! I’m doing well, thanks for having me!

Vikram: Thanks for coming on, really excited to talk today. Why don’t we start off with just a bit your background, so you’re based out in Philly?

Ben: Yes, that’s right! Born and raised in Philly as they say or the suburbs of Philly. I went to school down in Atlanta at Georgia Tech and I actually studied more traditional engineering. Then I moved back up here afterwards. I worked for a major aerospace company for a while out of school but I was doing more of the programming side so my whole career has pretty much been in software development in one form or another.

After a few years working for a big engineering company I kind of realized I liked doing software development. I just didn’t like working for a big engineering company. When worked for a smaller company for a while and then decided to start my own consultancy which is ScopeLift so, been doing that for a few years now.

Vikram: Awesome! That’s really interesting. What are some of the major differences you’ve seen between big software company and smaller software company?

Ben: Yes, so actually working for that big aerospace company, the thing about that was that I was doing software development but the software that we were developing wasn’t the product that the company was interested in, right? It was a very management top-heavy company to start with, very bureaucratic.

The product was aircraft not software and so we… The part of the company that worked on software and in particular I was working on internal tools that were used by mechanical and aerospace engineers. We were kind of an afterthought you know, things like best practices around software development that sort of thing. Nobody really cared about that and what people cared about was like, “Can you just get us enough of what we need to work and keep aircraft moving on the lines, the production lines?” You know as someone who is interested in kind of the craft of software engineering, that was pretty frustrating for me.

Moving on to a smaller company was a big change. The company I actually went to work with was a publishing company. A traditional publishing company but they recognized that they needed to go digital. Me and one other person, one other technical person kind of got to head up that effort which was really interesting and exciting. That’s been the biggest difference for me like seeing a big company where software wasn’t the product and therefore kind of worrying about quality of software wasn’t at the top of the list.

Vikram: Got it. You can bring a lot more value there too since they’re not digital first so you can bring your skill set to that.

Ben: Yes, absolutely. I mean and there were frustrating things moving to that small publishing company as well, right? Because… Like I said it’s very small company, less than 20 employees when I joined. You kind of understand how these traditional outlets get disrupted when paradigm shifts change like this because even with such a small company, getting people to think about the challenges and the differences of publishing digitally which is such a huge challenge. I can’t even imagine what it would be like at a larger institution that had been for example publishing newspapers for a long time. That was a whole another learning experience in the industry as well.

Vikram: Got it. How were you able to get people to think about stuff digitally and see that point of view?

Ben: You know it’s a great question. It kind of emphasizes the necessity of soft skills amongst engineers. A lot of it honestly just comes down to patience and real kind of empathy with the person that you’re communicating with. Just being able to kind of break things down and convey things by analogy or by example because the person that you’re talking to or the people that you’re trying to convince at a certain path is the way to go. They just don’t have a deep understanding of the tech. You have to figure out a way to help them make what you believe is the right decision despite that limitation.

I think that kind of experience and practice actually served me very well moving into running a consultancy as well.

Vikram: Yes. That makes a lot of sense. Because I imagine that you know depending on the kind of client that you’re going to be working with, you can bring that your skill set to them with respect to what you’re talking about with respect to empathy and helping them understand why the technical aspect of whatever they’re doing is both.

Ben: Yes, absolutely. I mean some days I get cynical about this. I really think like there’s just no hope for companies that don’t have as a core competency moving forward. Because it’s really like the business decisions are so intertwined very often with the trade-offs at sometimes very low technical levels that if you don’t have that understanding it’s just really difficult to make good decisions.

The flip side of that though is that’s where, as an engineer and as a consultant in particular, you have the opportunity to provide huge value. If you’re not just technically capable but also capable of understanding a business and a market and the challenges that come along with that business and then applying and communicating those trade-offs that are involved with the technology to the people who need to make business decisions. I mean that is where you bring real value as an engineer beyond any pure technical skill.

It’s taken me a long time in my career to kind of understand that, to get better at that but I think that’s probably the number one lesson I’ve learned from you know kind of four plus years consulting at this point.

Vikram: Yes, that’s great. We should definitely come back to that. Because I think there’s a lot of similarities and analogies that can be made within the crypto and blockchain space. Ben and I met through… so Ben puts out an awesome email which I check every morning, the Daily Crypto Report. We’ll have a link to how to sign up for that and the show notes and everything.

It’s basically, how about in your word so, how would you describe what the Daily Crypto Report is?

Ben: Yes. The site where you can go to sign up for that is, coinrecap.io and that’d be awesome if you guys could throw a link to that in the show notes. The basic idea with that product it’s kind of like a product/side project that I built in conjunction with another friend of mine who is a freelancer.

The idea behind that product is just that well first of all, the crypto markets as we know change very quickly. They’re these big volatile swings in prices on a day to day or even hour to hour basis. I think a lot of time and energy is maybe I’d say wasted focusing too much on these price changes.

I think kind of the main goal is just a sort of at a very high level or a simple level. It’s just to convey that information, summarize the useful kind of trends in the crypto market on a daily basis just give you that snapshot each morning so you can kind of move on with your life. You can kind of stay plugged in but not be checking CoinMarketCap.com like every eight minutes or something like that.

Vikram: Right. We have all done.

Ben: Right, exactly. I mean unless you’re actively day trading there’s really no reason to be doing that but I know I fall into that trap. It’s like nothing that I’m going to learn by hitting refresh is going to change any action so why am I still on this website refreshing every five minutes, I have no idea. It kind of grew out of that desired to get out of that pathological behavior.

We’re also working on some features to kind of expand it beyond just sort of prices and market trends and move more toward giving like a daily snapshot or a recap of the crypto landscape as a whole. We have some things that we’re trying to… we’re working on baking in for example as a little preview. Things like sentiment analysis based on social media inputs as well as kind of finding automated scalable ways to extract news. Basically the key pieces of news from things like again social media feeds and kind of include those, summarize those in the newsletters.

Those are a couple things that we’re working on now. It’s just moving towards being able to provide again this daily snapshot of the market in an automated way or of the whole kind of space so that you can stay informed without that kind of constant checking of Reddit and Coin Market Cap and Twitter and all the other places where this news is constantly breaking a hundred telegram channels all that sort of things.

Vikram: Yes. That makes a ton of sense. When I traded full time you know we had a subscription to Bloomberg and there’s a function on Bloomberg just called Most, M-O-S-T. You just hit Most and you could see the top movers of the prior day and then you know the top gainers and the top losers basically of the prior day.

One thing I saw at the bottom of your crypto report that you have a version of that which I think is really helpful. Because if you’re not following the space too closely but you still want to know what’s going on, super helpful.

Ben: Yes. What we did with that and actually it’s interesting because kind of a naive implementation of that is just to kind of like look at it and say, “Well what changed by the highest percentage over this past period of time?” but the crypto market is so insane. I mean you have coins that pump up and down on a daily basis because of market manipulation. You have coins with you know extremely small market caps or very low daily volume.

We actually take like four or five different factors into account and we weight them in different ways in order to extract those notable gainers and notable losers. It’s not just looking at a naive percent change. I’m glad you find that helpful. I know, I personally find that section helpful as well because I actually learn about a lot of new project that way as well.

Vikram: Yes. Often a coin and even stocks do this too. It’ll move 20% before it has you know the 3X, 4X move over the rest of the year. If you ever catch those early especially with rising volume and these other metrics that you look at imagine that will bring you know a lot of value to people.

Ben: Yes, I hope so. I’ll tell you my personal opinion on the crypto world is I am not… like I do not try to time… you know I don’t have that trading background that you have Vikram so, I don’t try to time markets or make any kind of predictions about what’s going to do what.

In my opinion I’m in the hurdle camp at the whole camp you know. Just buy a few good coins and kind of write it out long term and you know maybe re-balance occasionally, very, very simplistic kind of strategy. I think long term if you’re writing, if this crypto wave is going to be as big as some of us think it is then. You’re writing that way if you’re going to do fine and you’re probably trying to optimize it you might just shoot yourself in the foot. At least I know I would I’m not sophisticated enough to make this kind of day-to-day decisions.

Vikram: Yes. How did you get into the space?

Ben: It’s a good question. I stumbled on Bitcoin. Probably, I think it was 2013. Trying to remember if it was late 2012 or 2013. I don’t know what it was maybe like a hacker news post or something on Reddit or I don’t even remember where I initially found it. You know I was a software engineer. I was immediately drawn to it and fascinated by it because it solved to this problem of digital scarcity basically some.

I was just fascinated by the fact that someone had found a pretty elegant simple way actually to introduce this concept of digital scarcity into the world. I started following the projects from that point on. Unfortunately, I didn’t buy or mine a whole bunch of it. That would have been like they’re really sprinting to do it right, but I didn’t do that. I did follow it and from a technical perspective and kind of the emerging Altcoin scene that kind of came out afterwards. You know, initially those were all just kind of source forks of Bitcoins code and then we saw some were more novel ideas starting to be developed.

It’s been kind of crazy for me because for years like you literally couldn’t pay someone to listen to you talk about Bitcoin like no one cared outside of a small like group of nerds. People literally tried to do that by the way. People would be like, “I will give you Bitcoin if you just like sit down and learn about it for a few minutes and listen to it.” Like people try to drive adoption that way and really no one cared.

Then almost like out of nowhere you know, there was a phase actually a few years ago where there was some interest from Silicon Valley VCs. That’s from companies like Coinbase and stuff got funded.

Still very limited to just like the techie world and has really just almost been out of nowhere in the last, I would say like nine months like not even a full year but like sometime in 2017 where it just as we know blew up on the scene. There was this huge like wave of hype and of course the big price bubble, the Bitcoin ran up to 20K and all that kind of stuff. It was just a weird thing for me to follow this thing for like four years and no one cares about it. Then all of a sudden it’s like people are emailing you out of the blue asking you like how much Bitcoin to buy and it’s just like, “Please don’t. I’m not getting investment unless you know”.

Vikram: You run a consultancy, your background is in software. What are some… you know the trading stuff certainly is really interesting, but what are some areas do you think are particularly interesting given your background and what you know ScopeLifts in three years, in five years you know where do you see things heading?

Ben: Yes, that’s a great question. I think you know I found Bitcoin fascinating from the perspective of digital scarcity being introduced in the world. The thing that I think took that really took my interest from, “Oh, this is a fascinating project to… Wow, I actually think this may change the world,” was when I first saw the concept behind Ethereum and really grok what smart contracts were all about.

Because I’m a developer, a software engineer, and so I know what it means to be able to program something. When I realized that you were going to actually be able to program on the blockchain, you’re going to be able to move money around and do all these kinds of things with immutable, auditable, cryptographically enforced and provable properties that a blockchain has you’re going to be able to program that. That this was going to be a really big deal and had the potential to disrupt a lot of things and not you know, Bitcoin always seemed like it would end up being a useful form of like digital cash. That’s Ethereum and smart contracts in general made me just realize, “This is going to do even more than we think.”

I think smart contracts are really exciting. I’m not saying that Ethereum itself is definitely a hundred percent going to be a smart contracts platform winner or anything like that. Just the fact that you can program these things and do these noble things with the properties that blockchains have, I think it’s a bigger deal than most people are understanding right now. That’s probably what I’m most excited about which is the opportunity to build things that just weren’t possible before public commission-less blockchains came into existence.

That’s kind of what I’m exploring now and most excited about and what I hope I’m doing as a consultant in a few years or even sooner and I think that’s where the potential to most change the world is.

Vikram: Yes. You know Faizaan and I always talk about some interesting use cases of blockchain and crypto. Are there some particular areas within blockchain and crypto that you think are particularly suited for it?

Ben: It’s a really good question. I think it’s a question that you know you get a lot, right. Where people who are maybe rightly so because I think there has been a lot of hype. People who are rightly a bit skeptical about these platforms say, “What’s the real use case here like what are we actually going to do with this?” I think it’s a fair question. I think it’s one that’s hard to answer. Because part of the answer is we’re going to do things that we haven’t even thought of yet and that we don’t even realize are possible because we’re not thinking about the world as it could be once these things are adopted, right?

The obvious kind of parallel that everyone draws is the Internet, right? You can look at the Internet in the 90s and you can think of simple things like, you could put a newspaper on the internet. You can think of simple things like even e-commerce right. Okay, maybe I can see people buying things, certain things over the Internet. From your perspective in 1990, that makes a lot of sense.

Things like Twitter, things like Uber, Airbnb, Snapchat, all these weird things that have kind of evolved social media in general, Facebook and all the impacts that that has had. Those are not things you could have predicted or foreseen in the 90s. Because you were thinking about the world as it was and not what was possible. Once that infrastructure was built out, once the Internet and broadband networks and mobile networks were built out, once everyone had a smartphone packed with sensors in their pocket, right? It takes years for us to build these things up.

What I think you could have realized in the 90s and what I think you can realize right now is that something fundamentally new was being introduced in the Internet. The fact that you had this kind of peer-to-peer permission-less way to communicate and disseminate information, that was new. How exactly that was going to play out changing the world? What the specific use cases would look like? You couldn’t have predicted, but you could predict that it was going to change things.

I think kind of really broad picture answer which may seem a little bit like a cop-out is that, I’m not sure what the use cases that are really going to be big are. I think we have something new here which is this distributed peer-to-peer permission-less programmable form of money and digital assets. We’re going to figure out really interesting unique things to do with those. That’s kind of a really broad-high-in-the-sky answer to that question.

I think that you can think of more practical answers too. I mean I think we already see one pretty clear use case emerging which is kind of the store of value and or digital cash use case. Money basically, I think that Bitcoin has positioned itself pretty well to be a sound form of decentralized money. I think that, that and of itself is an interesting use case.

There are a lot of other really simple things that you can start to think of that you can build right now today with Ethereum and smart contracts that just weren’t possible or weren’t economically feasible prior to these platforms existing. I think the really interesting stuff is going to be the stuff that you haven’t even considered yet, because we’re not thinking about what is going to be possible once these things are built out and scaling and more widely adopted.

Faizaan: There’s a couple of things that you brought up that I thought were interesting when comparing Bitcoin or blockchain to the Internet. One of them was about mobile networks and broadband and the infrastructure being in place really enabling a lot of what we’ve seen over the last five, ten, 15 years.

Ben: Yes.

Faizaan: One analogy that you see thrown around pretty often is comparing the state of the blockchain Ecosystem now to the internet around the first.com era, where a lot of the people had a lot of the ideas of what they wanted to do. You could argue the infrastructure, the cost to actually deliver on some of those things wasn’t there yet. Looking at transaction costs or scaling issues that you’re seeing on Ethereum, what are your thoughts in terms of the readiness of the infrastructure of the blockchain Ecosystem now? How that might compare to how the Internet played out?

Ben: Yes. I think it’s a pretty apt comparison, to be honest. I think that there are probably a bunch of pretty interesting consumer, especially like consumer and user facing applications that people are trying to build right now, that are probably going to be good ideas in about ten years, but are just too early and the tech isn’t ready for them yet, you know. Things I quote, I think it’s usually misattributed to Mark Twain, “History doesn’t repeat itself but it does rhyme,” right? It definitely won’t play out exactly the way that it did with the Internet but I think the general pattern is similar, which is that we have a bunch of ideas that don’t really work right now. Then very similar takes on those ideas will probably be viable in ten years.

If I, as an entrepreneur someone who’s interested in trying to build in this space, there are kind of two things that I think are worth focusing on. One is infrastructure you know. Anything that you can build out that can serve as kind of a slayer to help scale these things, help bring new capabilities to them, help make them more accessible for more users. That’s probably a worthwhile project.

The other thing that I look out when comparing to the early Internet are use cases that can be and will be adopted by power users or basically like nerds, for lack of a better word, like geeks. People who are willing to go through the pain because they’re just interested in it or fascinated by it. Actually a lot of things that exist today as kind of mainstream use cases were actually things that people like me and maybe you guys, I don’t know, we’re doing… when I was young and the Internet was this nascent thing right. Social media and all this kind of stuff like, there are echoes of these in-things like IRC channels and other things like that right?

There are all these precursors that were adopted by kind of power users, and geeks, and nerds and I think you can successfully build out things like that now too, right? Targeting developers, targeting you know real crypto heads of some kind of use case that those people are interested in. It’s probably always going to be niche. You’re probably not going to take over the world but you might be able to build something that looked successful and adopted by that kind of demographic. I think those are a couple things that you can look at.

Faizaan: Yes, that’s really good point. I just go back to… I bought my first mp3 player in the fifth grade and had 32 megabytes of memory and at the time everyone was like you can only put five songs in that.

Ben: Yes, exactly.

Faizaan: A handful of people that knew what an mp3. We’re trying to now figure out how to get a mini disc in there. I think that’s a good point.

Ben: I’m in the same boat. I had a 32 megabyte mp3 player literally. Before that, I actually had a one of those CD players that could play mp3 CDs so, instead of…

Faizaan: Was it a jukebox?

Ben: I think it might’ve been. Yes, it might have been. Then a few years later, Apple introduces the iPod and it like becomes completely mainstream things. Actually there’s like a flip side of that too, which is that you can look at…

If you want to think about things that might be viable use cases in five to ten years in the crypto world, look at things that kind of geeks and power users are doing now. The UX is totally broken and it’s way too complicated and it’s like this doesn’t work at all. No mainstream person is going to use this. Maybe in a few years when the tech has advanced, someone will introduce a version that is simply a variation on that theme but more usable and palatable from a mainstream perspective. That’s another way to kind of think of where things might go. Look at what the geeks and the Nerds are doing right now.

Vikram: Yes, that’s a good point. Another thing that brings to mind is just even how hardware wallets are set up. Takes a bit of effort to you know you got to order your wallet, you have to set up the seeds, you have to transfer your assets to them and then hold it in a certain way. There’s no clear good UX for that either. People always talk about within the investing space for crypto that custody is going to be a big important factor for institutions to get involved.

I know for a fact they’re not going to want to be doing this kind of stuff. There’s just too much risk. If you’re managing someone else’s assets you can’t be worrying about how you’re storing your crypto assets. You need to just confidence that the way it’s stored is fine. You don’t really need to know all the internals. That whole you know geek verse UX, geek verse good UX concept is definitely really interesting.

Ben: Yes. I think that’s a great example of something where, so you know the hardware wallet works with a secure element like a cryptographically secure piece of hardware that’s baked to those wallets, that contains the secret but it can never exit the hardware in theory. Actually like Apple has a secure element on the iPhone.

You could imagine that at some point down the road as crypto starts to gain adoption it becomes a more normal thing. That Apple might actually introduce a way for you to generate and store your seed key right on your phone with the secure element that’s already there through the iPhone. Maybe they’ll even like securely back it up for you via iCloud if you choose to hop into that or something like that.

If they were to do that, I mean, that could 10x the usability of a lot of these things overnight, but Apple isn’t going to do that right now because the number of people that care about it or would want it is so small. It’s like this flywheel that has to kind of get spinning, but when it does like all of a sudden some of these things can become significantly easier for people.

Vikram: Yes. It would be funny if Apple ends up creating the iPod of the crypto space.

Ben: Yes, I mean it’s interesting to think about what big companies will start doing things in crypto first. I know there’s already been some news that Facebook has started kind of like an exploratory research group that’s looking at crypto. I would be shocked if all of the big four or five tech companies you know Microsoft and Google, Amazon, Apple, if they all didn’t have some people looking at it, doing some research and playing around with it internally.

It’s interesting though to think about who, which big companies would benefit most from wide crypto adoption and actually from an incentives and kind of business model standpoint. Apple is better aligned than most I would say with Amazon being a close second. You know Apple doesn’t make money from harvesting your data for… it doesn’t centralize anything basically that’s not its goal. Its goal is not to provide some kind of centralized service. It wants to just sell you more hardware. Anything that makes that hardware more appealing to you, they’re happy to implement and put on the device. They’ve taken a pretty hard stance on things like privacy, standing up to the FBI, these kinds of things and it’s because they can, because their business model aligns with it.

From that standpoint, I think Apple aligns best. I don’t know if they have the kind of culture to adopt such an early and kind of radical technology. It’s not usually their thing to take something that’s in such an early stage and make it mainstream. They usually wait until something is like pretty much ready to go and then they just package it up in a really nice way. It’ll be super interesting to see how this kind of move towards decentralization gets addressed and adopted by the bigger companies.

Vikram: As a person who’s an entrepreneur running your own company, the way we’ve thought about recently and we’re working on an alerting product and one of the things out there that it doesn’t seem to exist as just taking recurring payments for example. There is a technical reason that’s a very difficult problem. If you’re running a product company and you want to take recurring payments you can’t really do that with crypto right now.

Ben: Yes. Without ceding control to essentially having a third party involved in the system so it’s not a true like decentralized solution.

Vikram: From your perspective, are there things that you wish that you could do with crypto right now for your own business. You’re taking payments or anything else?

Ben: Yes, I mean certainly. I think that’s a great example of kind of one of the problems pieces of infrastructure that we haven’t solved yet. I’m trying to think. There were some things I wish you could do. I mean for some the perspective of being a developer certainly like the tooling and the resources that are available right now is still very nascent and lacking so I’d love to see that be built out.

I think Ethereum probably has the best developer environment in terms of smart contracts but even there… I mean when you come from a platform like you know developing for iOS for example, that certainly has its warts and its downsides, but it’s way more mature as a platform than say solidity and Ethereum smart contracting. Just that tooling from a technical developer standpoint would be awesome to have.

I think even just things like, MetaMask is awesome right. MetaMask, the browser extension in chrome, that allows you to kind of interact with Dapps. It’s awesome. It’s one of the fundamental pieces of infrastructure that’s being developed. It’s actually when you think about the UX from a normal user standpoint. Someone who doesn’t really understand what’s going on in crypto like that it’s actually, it’s really confusing. People don’t get it and you know asking people to sign-off on every transaction.

I actually that’s kind of an opinion that I sort of have which is that at some point I think we’re going to just trust our software to do a lot of the signing and stuff for us. At least for a large swath of use cases like obviously if you’re moving a big chunk of money, like you’re not going to just you know willy-nilly have your private keys stored in memory and signing-off on things anytime you click something.

I think for a lot of use cases where you’re going to involve a blockchain. You’re going to just trust some piece of software to manage your private keys. That’s actually another thing that I would mention, you know I come, a lot of the consulting I’ve done over the last few years…

Vikram: This has been mobile development?

Ben: That’s actually a real challenge right now as well. Dapps are primarily browser-based. We have things like MetaMask and other extensions or full-blown browsers that allow you to interact with the Ethereum, blockchain for example. If you want to deploy a native mobile app that interacts with the blockchain like the way that you do that and the way that you ask a user to manage their keys to their funds is completely… nobody has really figured that out yet. I mean there’s some different ways that you can handle it but if there’s no standardized interface or way that you can manage that.

There’s also just not clarity from Apple and Google around what’s permitted in the stores, the mobile app stores and what’s not. Yes, I mean those are a lot of kind of very developery centric things. I think that’s the phase that we’re at. Like we still need to just figure out these very basic infrastructure level things.

Vikram: That makes a ton of sense. You mentioned that your background is in mobile so, is that a native mobile, Android, iOS?

Ben: Primarily iOS actually, yes. Doing a lot of Objective-C and Swift development native apps for that platform for the last few years. That’s been a, you know certainly some web and that kind work as well but a lot of it’s been iOS apps.

Faizaan: Any particular domain focus or pretty open-ended?

Ben: Pretty open-ended. I mean as a consultancy, I like to work with early stage startups. I just feel like it’s more exciting, I can provide more value. I’ve worked with bigger companies as well and then in terms of domain, like in the Philly area we have a lot of healthcare. By the fact that I’m here, there’s been a lot of health care and pharma related stuff that I’ve done. Certainly you know I’ve have had clients all over the country and lots of different industries so.

Vikram: When we had emailed with you the other day, you mentioned that you had worked with the Elixir a bit. I think that’s powering your crypto report.

Ben: Yes. Coin Recap is built with Elixir. I’ve been playing with that for probably the last couple of years and have done a couple a little bit of clam work with it now as well which has been fun. Yes, I really like that Ecosystem and Elixir and the Phoenix framework are pretty cool to me.

I think that the fact that they’re built on top of this language and platform called Erlang, which has been around for a very long time, and has been solving like the problem of distributed computing for a very long time because it was developed for use on telephone switches, you know like 30 years ago. It’s a good combination of a whole bunch of new ideas but a bunch of proven systems and methods that have been battle tested. I’m really liking that language and platform.

Vikram: Yes. We really like it quite a bit too. I know Faizaan, he’s the one who got me interested in the Elixir a few years ago.

Faizaan: Yes. You know I had been a Ruby developer and I had some work that needed more real time stuff and dealing with concurrency. Ruby wasn’t going to cut it so I looked into the you Elixir ago you know those were the big three at the time.

Ben: Yes.

Faizaan: Basically dived into all three and just Elixir, the Ecosystem wasn’t that mature but I thought this is just great to work with and I think it’s going to get there. We made the decision to use Elixir for all of our internal work and back in 2014. Then luckily the Ecosystem did take-off and so we’ve most of our client work has also fortunately been Elixir in the last couple years.

Ben: That’s awesome. Yes, I mean I think that was a you know somewhat of a bold bet that you made at that point in time. I think a pretty smart one. It’s cool to hear that that’s paid off for you guys.

Vikram: Thanks!

Ben: Yes. I have a question for you guys having more experience in the Elixir, Ecosystem. Where do you think it is and what do you guys think is still lacking compared to much more mature Ecosystems like Ruby and Rails for example?

Vikram: Okay. In terms of where it is. If looking at like Elixir 10–16 and even Phoenix from like 101, 102 you know 1–3 whatever. I feel like they’ve had done a very good job at focusing on giving developers more leverage. Like the stuff they work on, what they add to the language or at the framework level with adding channels or presence. Those sorts of things it allows a small team to build much more complicated features more quickly but also still have them be relatively maintainable and easy to reason about and testable.

The focus there has been very good. I feel like both the Elixir core team and the Phoenix team do a really good job of focusing on the things that will continue to give developers leverage.

Having helped on projects where people were unfamiliar with Elixir and came on board especially from the Ruby world, the whole OTP world is still a bit of a black box. I think to a lot of people as you really dive in and make an effort to understand it at the fundamental level.

You can get a web app going in Phoenix, if you’re any sort of a web developer you can get going in Phoenix very quickly and have a standard cred app going. You can even get channels running and probably with just a little bit of time investment a simple gen server. If you’re building complicated non-web projects that really leverage like the underlying Erlang architectures, I think the learning curve there is still tricky because a lot of the documentation and material doesn’t exist for that in Elixir.

It’s really the bigger systems are in Erlang land. Just the sort of tone of that Ecosystem is very different in the way things are written. The expectation of the developers in terms of the types of projects they probably have worked on, and the terminology that they’re familiar with, and the concepts are familiar with. I think being able to communicate more of those concepts to the audience that is actually coming into the Elixir, Phoenix space I think that go a long way for people to really be able to leverage what Elixir gives you over your Rails or some of these other frameworks.

That’s my view on that.

Ben: That makes a lot of sense and I agree. I wrote like a Twitter bot thing with OTP relatively simple. Still I agree things are pretty inscrutable when you get down to that level at this point. I think they’re getting there and I think like you mentioned, the core team both of Elixir and Phoenix seems very focused on like usability and developer friendliness. It’s almost like they took like this existing platform in Erlang and the Beam, the Virtual Machine and OTP. They recognized that this thing that already existed solved all these problems that we now have on the modern web. It just needed like to be much more approachable and friendly for developers. They’ve just been kind of like tackling one thing at a time. Making this already really robust ecosystem better to work with and better to understand, you know easier to understand for developers. At least that’s my perspective on it.

Faizaan: Yes, absolutely. The big thing I do like that they’re doing is even when they make things easy to work with, they don’t excessively obfuscate like the underlying implementation.

I find it’s generally easier to keep things maintainable or reason about by just jumping into the… I find the source code much more readable of most Elixir libraries than anything else I’ve worked with which is great long-term.

Ben: I agree. I agree that it’s much more readable than say Ruby right. You know, somewhere who had a background in Java and then moved to more typed languages like Objective-C and Swift like that was the thing, whenever I had to touch Ruby that was the thing that drove me crazy which was just like the magic that was involved. Now don’t get me wrong like Java and Objective-C both have enormous amounts of boilerplate and there’s frustrating things about that as well but you can generally like, my example is always like I you know I’m looking at a method that’s being called and I’m just like, “Where is this method defined? I need to see where this method is defined,” and there’s just like literally no good way to do that. It’s like go grab the source code and try to figure it out.

It’s like, that’s nuts to me right. In Elixir they’ve kind of made a good balance between keeping things like readable and friendly but not magic you know. Not like write this thing just does this thing you can’t figure out how it does it or why it doesn’t.

Faizaan: Some inscrutable macro…

Vikram: I have a question for both you guys, actually. What do you think about Elixirs use case in crypto? Do you think there’s some good use cases for it?

Ben: I think so. I know there’s actually one project out there I don’t know much about it but it’s called like Aternity, it’s like eternity with an A at the front. I think that that is a blockchain project that’s actually built in Erlang and/or Elixir. I think that that’s interesting.

I also think that that just generally there are some concepts in the blockchain world like you know the fact that things are immutable and you know what not that map pretty cleanly to like functional paradigms, which you know like serve as a functional language. I think that there’s some advantage there. I think just more broadly speaking like Elixir and the Beam and Erlang that it’s built on top of are kind of optimized to solve these problems that we have now, which is you know like really, really robust up times, and scalability, and concurrency, and real time and I think a lot of those properties are great for interacting with blockchain stuff as well. Yes, I think it’s a pretty good fit.

Faizaan: I would echo the same thing. I don’t have anything to add to that. As of Elixir also lets you get up and running quickly which I think with how fast moving the spaces, I think it adds a little bit of leverage too, if you have a smaller team trying to get off the ground.

Ben: Yes, I agree with that. The Swift team, you know with the Swift is the more recently developed programming language from Apple for developing iOS applications and other kinds of applications like Mac, OS and that kind of thing. The Swift team has this idea of disclosing complexity as it’s needed so, things can be really simple but then progressively you can disclose more and more complexity as it’s needed to the developer. I think Elixir actually does a good job of that same principle as well.

Vikram: Then so we’d love to hear a little more about ScopeLift and you know how you run projects typically? What kind of projects do you work on, you know how long are they in time, and how you manage them typically?

Ben: Sure, yes. My take is always that I’m, you know it’s a very small company. I just have a handful of people that I work with on a regular basis, all on a 1099 basis so I don’t have any full-time employees or anything. My take is that, that’s kind of being small and flexible is sort of my superpower.

I can come in to a client and we can kind of turn into whatever they need so to speak. Which is to say that if a client really needs like comprehensive technical guidance, they need consulting in terms of how the technical aspects are going to affect their business. Even you know things like you know I’ve helped clients figure out marketing and growth strategies as well. We can do all that kind of thing.

Then the other end of the spectrum is just like a client that just needs like developer firepower. Like, “Hey, we need some additional help. Like banging out this code for a well-defined project. We have an existing set of structures and a team and we just want you to plug into that team and help us out.” We can do that too.

Certainly I tend to prefer the former so I much to work with smaller companies, early-stage companies help define and set processes. A lot of times on a number of occasions what I’ve done is I have helped companies establish like their initial MVP. With the expectation that we’re going to hand this off to an internal tech team, maybe one that doesn’t even exist yet. That’s another thing that I’ve done like helped early-stage companies build their MVP and hire their tech team. I think that’s a really a fun thing as well right. Like literally help hire the first technical people and hand the project off to them over time. Yes, there’s a lot of different approaches.

Vikram: Yes. Not to cut you off, but I think that’s a really good point. Because you know one thing that startup teams often worry about when working with consultancy is that, you know that person’s not full-time for whatever reason. They have the impression that full-time person will always be better than consultant. There are two different kind of roles, with the consultancy you can get a project up and going quickly. Then with the consultancy like yours like its ScopeLift where you help your clients find a actual development team. The hand-off is way more painless.

Ben: I think the big thing though to remember regardless of how you’re going to structure a project kind of. The number one thing that I’ve learned is so I don’t do flat rate projects. I only do like time and materials basis so either hourly or weekly rates, sometimes monthly if it’s a very long-term project. The thing about that is that at the end of the day you’re going to have something that you’ve delivered to your client whether and that’s going to be a piece of software, but also may be a set of processes helping them build out a team whatever. You’re going to deliver that to them and they’re going to get a bill for what you’ve delivered and in their head they’re either going to say, “Yes, what I got was worthless. This was a really good value,” or they’re going to say, “You know what am I paying for here?” right.

It’s your job as a consultant to do two things. One to deliver that value so you actually have to know your stuff and show up you know the tech and build the processes and do the stuff. Then also to communicate clearly to the client what it is you’ve done, why it’s important, what the challenges were and so kind of that agile isn’t way overused buzzword now but like the core principle of agile is just like short feedback loops and really close communication between the business side and the technical side. Like if you just apply those principles right. That can be like weekly or bi-weekly builds that you send to the client and you expect them to play with and test and provide feedback, so there’s no surprises.

Clear communication of issues when they arise so, “We estimated that it would probably take this long but now we’ve hit this thing that none of us anticipated and it’s going to take twice as long to overcome that challenge.” You have to do a really good job of making clear what that challenge is, why it’s going to take a long time so that when it does, the client isn’t shocked by the bill that they get at the end. They say well we didn’t know this was going to happen but I understand that it did, and they did a great job dealing with it and the final product that I got was good.

Really I think you know more than any other kind of specific set of tactics like that over-arching strategy of just communication, a feedback loops communication and clear demonstration of the value that’s being provided is like the most important thing when you’re consulting with [Inaudible] [39:38].

Vikram: Yes. How is the Philly scene, particularly around the Phillies startup scene? You mentioned on the enterprise side there’s a lot of healthcare clients, but what’s the startup scene like?

Ben: You know it’s pretty good. I mean it’s certainly not San Francisco or New York, but it’s a pretty healthy of a relatively small startup scene. I think you know small, it’s all relative right? I think it’s probably bigger than most cities in the United States but you know compared to those two coastal powers I would say it’s obviously much it’s like a probably an order of magnitude below or maybe two below either of those. There’s a lot of technical meetups, there’s quite a number of startups forming and raising money, there’s a couple of Philly area specific venture funds and investors that are pretty well-known.

There is a place called a Nerd Street so, North Third Street if you kind of think about what that looks like. It looks like Nerd so, like there’s a stretch of kind of companies and consultancies in that part of the city that you know there’s a decent community around.

I’m a member of a thing called Indy Hall which is kind of was literally one of the first co-working spaces in the country. This trend of co-working now has been around for a little while and you have huge companies like we work and stuff doing this a big, big scale. Indy Hall is this awesome co-working space that is really kind of pioneered the idea actually, really one of the firsts to do it. The people who started that have kind of watched this idea take off and it’s just an awesome community of people in tech but also in other industries as well. Just people who work for themselves or run small businesses, want to have a co-working space available to them so that’s pretty awesome.

It’s a pretty good scene, I like it. It’s nice too, because we’re two hours from New York. We’re three hours from DC, but we’re much cheaper than either of those places in terms of cost of living or cost of talent you know. My rates in Philly being that it’s a US-based senior level talent like my rates are kind of high for the Philly side, but when I work with San Francisco clients or New York clients, they think I’m cheap right. They think that ScopeLift provides cheap, which is great.

I mean that’s an advantage so and then you know with clients in New York I can hop on a train, go up be there for a day and come back in the evening right? It’s a nice thing as well. Conferences in New York and DC are real easy to get to which is great too. I think it’s an underrated city you know? It has a certain reputation that I think is overblown. I think it’s a good scene both from tech and just in general.

Vikram: Yes, that’s great. How do you typically find new clients?

Ben: You know that’s a great question. I feel like I could be a lot better at this whole idea of business development than I am the idea of like having [Inaudible] [41:58] and all this sort of thing, right? If I’m really smart I would probably like hire a sales or a marketing person to work with me and like understand this better. For the most part, it tends to just be word of mouth. It tends to be like you meet someone at a meet up or a conference or a past client gives a reference because they had a good experience.

When you’re first getting started, like when I started four years ago it was like, all about just like finding that first client, and kind of breaking in. At this point things are pretty steady, like I don’t have to work too hard to find new clients. If again if I were really smart and I wanted to kind of grow the consultancy, I would probably do a better job of like the whole pipeline and lead generation stuff. I have some friends who run bigger consultancies than I do. They have much more sophisticated, I’ll decide that I want to do that but to date I just kind of rely on kind of the typical word-of-mouth sort of thing.

Vikram: Word of mouth should never be underplayed too. It’s so powerful. Yes. You got a couple of [Inaudible] [42:49] your network is now exponentially bigger.

Ben: Yes. The other thing that I’ve learned over the years is like, you never know what contact you’re going to make that’s going to result in some kind of client opportunity right? The lesson there is to just go out and just like meet a bunch of people, be nice to everybody that you meet, help people when and where you can. Generally, like one out of a hundred of those is going to bounce back to you as some kind of opportunity. That’ll pay for it for everything else did you spend time on right. Just go to conferences, go to meet ups, talk to people, help people, participate in these online communities and different things like that. At least on the small scale it all tends to work itself out and benefit you.

Vikram: Yes and along the lines of helping people, I really loved your Crowdcast that you put on a couple weeks back on learning in the blockchain space. What are your plans for that?

Ben: Yes. Great question. Maybe I have too many projects going on here. That one is called the Build Blockchain Tech so, buildblockchain.tech is the URL for that one. We were talking earlier about like, what are the opportunities and what are the things that you can do in the blockchain space right? Right now might not be the moment to build the business that you have in mind because we don’t have this infrastructure that we need for consumers and that kind of thing.

There’s also, I think just a ton of hype and therefore noise and scams and a whole bunch of other bad stuff in the space right now because of how it has blown up over the past year. As a result, I feel like kind of like we were discussing earlier the resources that are out there for developers, and technologists, and entrepreneurs who are trying to get their arms around this technology is kind of lacking. I was thinking through like what are things that I want to pursue in the blockchain space right now. I know that I want to spend a bunch of my own time learning about this stuff. Just because I’m fascinated by it and because I think that there are going to be big opportunities in it in the future, if not already.

I kind of thought to myself well, if I’m going to be spending all this time learning this stuff why not share some of what I’m learning, and thinking about, and doing with other people. Use the fact that there is so much noise as an opportunity to cut through that noise and provide value to people by doing that right. By getting down on the weeds, by understanding the tech, getting to what’s really going on and then communicating that in clear kind of fashion.

That’s what I’m doing with the Build Blockchain Tech project or at least what I’m experimenting with. That webinar that I did on Crowdcast was kind of my first foray into that to try to gauge interest and get a little bit of an audience going. Have some other things in the works there as well maybe some email courses, some video tutorials and stuff like that. Probably for the time being, all this just going to be free stuff that I post up on the website and other places. Just because like I said I’m kind of, like, “I’m going to do this stuff anyway because I want to do it,” and so I might as well kind of share it out there with other people.

Vikram: Yes, yes. That’s great.

Ben: Yes.

Vikram: Well I guess we’re coming up on time. Anything else that you’d want to, any other projects you think you’d like to give a shout-out for, anything else you want to talk about?

Ben: Good question. Nothing really that I can think of. You guys covered a lot, we covered a lot of ground. Appreciate you guys having me on.

Vikram: Yes, thank you. Thanks for coming up.

Faizaan: Yes, thanks for joining us.

Vikram: We should do this again maybe in you know in six months or something like that.

Ben: I’d love to! That’d be great, yes! Definitely don’t hesitate to hit me up. I guess that may be one thing that I’ll plug is if you’re interested in any of this nonsense that I’ve been rambling on about for the last hour crypto and programming stuff and follow me on Twitter so it’s Ben DiFrancesco, just D-I-F-R-A-N-C-E-S-C-O is my handle, it’s just my name. Also I’m happy to chat with people. If you have any questions or whatever, no one should hesitate to reach out to me so my email is Ben@scopelift.co not com. Maybe one day I’ll pony up and buy the .com domain but we’re now Ben@scopelift.co. Really anybody listening, feel free to hit me up and chat. I always love to meet with and learn from fellow developers and the like.

Vikram: Great! Thanks a lot man!

Ben: Thanks! Really appreciate you guys. Thanks a lot. Have a good one.

Vikram: You too.

Topics:

  • Ben DiFrancesco’s background
  • The difference between a huge software company versus a small one
  • Things he learned as a consultant
  • How they met
  • How he came up with daily crypto report
  • The idea behind the product
  • Additional features he’s currently working on
  • His personal opinion on Crypto World
  • How he got involved in the crypto market
  • Why he finds bitcoin fascinating
  • His thoughts on the blockchain ecosystem
  • Where he sees things heading in 3 to 5 years
  • Component of coin recap: Elixir
  • Their take on Elixir compared to Ruby and Rose’s ecosystem
  • Elixir’s use cases in crypto
  • On Scopelift and how he manages it
  • His duties as a consultant
  • How he started
  • How he looks for clients
  • His plans for Build Blockchain Tech

Links:

Hey everyone, this is Vikram again. Thanks for listening to us. If you’re an exchange, a trader or working on a crypto project get in touch with us.
You can reach us on twitter at
https://twitter.com/quantlayer or email us
at
podcast@quantlayer.com.

--

--