The 3 Steps in the Cycle of Technological Abstraction
Published 10/6/2017
In today's episode, we discuss the cycle of abstraction, and how you can use abstraction to create new and unique value.
Today's episode is brought to you by Linode.
Linode provides superfast SSD based Linux servers in the cloud starting at $5 a month. Linode is offering Developer Tea listeners $20 worth of credit if you use the code DEVELOPERTEA2017 at checkout. Head over to spec.fm/linode to learn more about what Linode has to offer to Developer Tea listeners!
Transcript (Generated by OpenAI Whisper)
I get the question, what should I build very often? And sometimes the answer is build something that interests you. This is especially true if you're a developer and you don't have a lot of things in your portfolio. But that's not really what we're addressing in today's episode. Instead, I want to address the idea of what should I build if I want to start a business or if I want to create a valuable technology property in the world. My name is Jonathan Cutrelly. You're listening to Developer Tea. My goal on this show is to help you become a better developer. And I do that by asking questions. I do that by provoking thought. I really believe in this socratic method where I ask questions so that you can find good answers for yourself. I ask questions that leads you to becoming a better developer. I don't believe in being prescriptive and that goes for today's episode. I'm not going to give you specific ideas on what you can build. Of course, we can generate specific ideas with the framework, but ultimately it's only a way of thinking and a way of interrogating your own mind to discover and create things that I could never prescribe for you to create. That's what it means to become a better developer, to become a better thinker on your own. And that's my hope for this show. So in today's episode, I'm actually going to talk to you about a cycle that generates ideas and creates intellectual property, creates technology that is valuable. And this concept is very simply called the cycle of abstraction, the cycle of abstraction. And the cycle has three parts and then it has one kind of extra part that we'll talk about towards the end of the episode. So we're going to start by talking about the first two parts that we're going to talk about today's sponsor and then we'll go into the last one and a half parts at the end of the episode. So the first step in this cycle is learning. Now, we're not talking about machine learning. We're talking about human learning, you as a person understanding a particular domain. Now what is what is a domain? For example, if you were going to go and sell postcards, this is a contrived example, obviously, but if you use sold postcards, then you need to learn about all the various aspects of selling a postcard, right? Recognizing the pricing structures, the kind of people that are going to buy them, what that transaction looks like, the delivery mechanism for actually getting the postcard from you to the person, really learning everything you can about that business model or about that value delivery, value exchange model. Now, for the sake of a mental exercise, you don't always have to think in terms of selling a given thing. You may think in terms of fixing something, you may think in terms of exchanging somebody's attention for something, right? There's a lot of different value exchanges, but you have to recognize that this starts at the very beginning. Value recognition is from the very first step. You can't create value out of nothing, the value has to come from somewhere. Of course, there's minor exceptions here and there. Like if you're creating a piece of art, then you're not really certain exactly where that value is coming from. You could make an argument that the value is coming from your own personal expression, that you're deriving a communications to other people through your own expression, but ultimately, most businesses, which is what we're talking about in today's episode, most IP, most businesses, most software as a services, those exist because somebody identified a specific value delivery mechanism that didn't have good technology supporting it. Okay? Let me say that again in a simpler or shorter manner. Most successful tech products are wrapping around something that previously wasn't supported by tech. But that previously already existed. Now don't hear me incorrectly here. We're not saying that nothing new is going to happen as a result of technology. That's not the plan. We're not saying that technology isn't going to create new and exciting business opportunities. What we are saying is that technology is not going to create new values in people overnight. So for example, if we want to rewind and look at a historical perspective, let's say that you wanted to get into the transportation business. It's the early 1900s and most people are being transported by horse and carriage. Learning about this particular value exchange might lead you to believe that the thing that people really want is faster horses. This is a famous quote from Henry Ford that if you were to ask people what they wanted at that time, they would say faster horses. And obviously this wasn't the case. The real value delivery here wasn't about how good of a horse you could find, but rather it was about the transportation itself. So the method or the mechanism of transportation didn't really matter all that much. So this is this first step in the cycle. You have to learn and try to uncover the core of what is valuable to a given audience. That's step one. Step two in this cycle is optimization, optimization, understanding how to remove all of the extra, remove the costly pieces of that process. How do we remove the low impact steps in the process? Learning that is 98% valuable and you have to spend another 50% of your effort to get that last 2% is that last 2% really actually effective. Do people care about the difference between the 98% and the 100%. So the process of optimization may also increase the quality of the experience for the end user. So it's not only about a trade off of investment and quality, it may also be about increasing quality while simultaneously optimizing the process of delivering that value. Now again, recognize that this is not going through the process of implementing this in a technological space. This is still identifying areas where extra effort is being spent where it doesn't need to be spent, but not actually taking this concept and implementing it with technology. So we're going to talk about that third step right after we talk about today's sponsor, Linode. If you're thinking about starting a software as a service business or if you're just looking to do your side project or if you already have a company that has scale needs and you need multiple servers, you need them to be highly available. Linode can meet all of those needs. They offer services starting at $5 a month and they go all the way up to high level, high bandwidth, high memory servers and we're talking about 16 gigabytes of RAM on these servers for only $60 a month. The prices are incredibly good for the RAM that you're getting. But as we're talking about in today's episode, the value delivery that Linode has is not just about giving you a Linux server. There's plenty of services that provide Linux servers, but Linode has extra services that make them even more valuable on top of the fact that they're giving you an excellent price. They also have things like 24, 7 customer support. They have built-in services like LongView, which tells you about the performance of your server over time. You can also take those servers. You can do a bunch of 1 gigabyte or 2 gigabyte of RAM servers that are serving a web application and network them together using something called node balancer, which will route your requests where they are best suited to go. It's a very capable system, a very capable ecosystem, and you can get started with it for $5 a month. I don't know of anything else that costs $5 a month, to be honest. That's worth this much. Go and check it out. Spec.fm slash Linode. On top of all this, Linode is going to provide you with $20 worth of credit when you check out using the code Developer Tea2017. $20 worth of credit on that $5 gigabyte plan is a whole quarter's worth, a four months worth of service. Go and check it out. Spec.fm slash Linode. Thank you again to Linode for continuing to sponsor Developer Tea. Before we move on, since we recorded this episode, Linode has actually increased the speed of their internal network. This is the first episode since this increase, but the internal speed for Linode's services, all of their internal network. In other words, from one Linode server to another, which is what you would be using for that load balancing, node balancer service that Linode provides, that service is running now on a 200 gigabits internal network. If you've been listening to Developer Tea for very long at all, you know that that number used to be 40 gigabits. That means there's a five times a five X increase here in speed between those servers. Thank you again to Linode for continuing to deliver value to customers for the same amount of money that they're paying more value than yesterday. And for continuing to support Developer Tea, thank you to Linode. And we're talking about the cycle of innovation, the cycle of abstraction when it comes to creating a business and creating value and generating ideas that could be viable in the market. This cycle, you can identify how the cycle is followed in almost every major technological business. In other words, a business that has innovated and become better as a result of technology. And today's technology is largely software, which puts you in a really good position to build businesses that matter, to build businesses that are creating new value in the world. So we started with step one, which is learning, understanding the space, understanding the value that could be delivered. And perhaps, and we didn't mention this in step one, but perhaps this is actually pioneering a new area of value, right? Because there is some value that hasn't been established in a traditional business model that can't be innovated on yet because it doesn't exist yet. So that first stage of learning is really learning about humans, learning about what humans currently want, and also what they might want in the future, right? This is where invention may happen. In inventive ideas may occur in that first stage of the cycle. The second stage of the cycle is to optimize. Optimization simply means cutting the places that are actually wasteful, wasting your efforts, wasting your resources, wasting time. All of these things can be optimized. And if you're actually taking steps that don't provide enough value to justify those steps, this is where those get cut. And we already said that optimization might also increase the amount of value that you can provide to your customers or to your users. Now, if there's a collision in your brain about optimizing something that hasn't even been tested on the market yet, then you're thinking in the right direction. If you're working in that step one, if you're working with an inventive idea, something that's brand new, then this optimization process really requires some testing too, right? So test and optimize is really maybe a better way of defining that step too in the cycle. But overall, the point of that cycle, the output of that cycle is optimization. An optimized way of thinking about whatever it is that you learned in step one. And then the third step, and this is perhaps the most important and the most expensive stage, is the abstraction. And is such a key concept in software development. Everything that we build from and build towards is on a continuum of abstraction. We abstract from base level elements that we pull out of the ground. If you think about it that way, we have metal and we have silicon and we have electrical charges, all these things are kind of physical. And we abstract into the digital space. And we're not going to walk through every single step of abstraction. But understanding that we have languages that are built on top of other languages, we have frameworks that are built on top of languages. And we have a series of networked abstractions that work together to provide us with another kind of base floor to work from. And we've talked in the past extensively about trusting abstractions, finding abstractions that you can trust to become a more effective developer. But now we're talking about creating an abstraction, right? So in step one, we had this concept of figuring out something that's valuable, whether that's learning about something that's already valuable in the world or inventing a new and valuable thing in the world. And then step two is optimizing, figuring out how to effectively accomplish that value with the least amount of waste, the least cost. Third is taking that optimized output from step two and creating an abstraction that removes the necessity of performing that operation manually. In other words, this is kind of the quintessential definition of automation. Abstracting the domain-specific knowledge that you learned and that you optimized in those first two steps, abstracting that into a process that a machine can perform for you. And what this means is you can continue to refine and find new ways of providing value to people while your abstraction continues to carry the responsibility of delivering the value of this idea. And we aren't going to get into the ethical discussion of this concept in today's episode because this process of abstraction is really something that can be used for good or for ill. So we aren't going to discuss whether this is going to displace jobs, but rather I want to inspire you to understand this cycle of abstraction so that you can carry the responsibility of doing something good with it in the world. There is a huge opportunity to solve big problems together, to do things that humans do well together and teach machines how to do things that machines can do well. I talk about this a little bit more extensively with Kevin Kelly on an interview that I did with him about a month ago or so. So go and listen to that interview. If you're interested, Kevin is kind of in a thwartative voice on the future of machines, on the future of artificial intelligence. And he has an optimistic view, which is what I would like to pass forward to you today. There's so much that we can do with the cycle. If we rely on using the cycle to find and multiply value, find and reduce waste and ultimately to provide us as humans with a new layer of abstraction that we can work from. We can become more productive as individuals and we can become more productive as a society and solve bigger and more expansive problems together. Thank you so much for listening to today's episode of Developer Tea. I know it was a little bit different and a little bit more business focused and perhaps a little bit more theoretical than you're used to when listening to the show. But I hope you enjoyed the thinking process and I hope that you have taken notes that this is going to inspire you to go and start something go through the cycle for yourself. Thank you so much for listening. Thank you again to today's sponsor, Leno. Leno can help you go through this cycle. They provide you with tools that you can use at a very low cost to get something up and in a networked environment on an excellent server, really high quality hardware that they run. Just tons of things that are worth your money at Leno. And it's only $5 a month. Go and check it out. Spec.fm slash Leno. Use the code Developer Tea 2017 at checkout for $20 worth of credit. Thank you so much for listening. If you have enjoyed this episode and you won't want to miss out on future episodes of Developer Tea, make sure you subscribe and whatever podcasting app you use. Thanks again and until next time, enjoy your tea.