It’s not a coincidence that 4/5 of the largest companies in the world were founded by programmers, as are many of the next generation billion dollar companies. Programming teaches you to engineer from the abstract and that can influence how you think about engineering companies and value creation. As more programmers start companies we’ve seen how they’ve taken principles from software engineering and have applied them to engineering startups, business models, and organizations.
Typically the first program you ever write is the ‘Hello World’ program. In its simplest form a ‘Hello World’ program simply types “Hello World” to your screen. Here’s a ‘Hello World’ program in for a HTML webpage:
<HTML><HEAD><TITLE>Hello World in HTML</TITLE></HEAD><BODY><CENTER><H1>Hello World!</H1></CENTER></BODY></HTML>
And here’s a ‘Hello World’ program for the Java programming language:
public class Main {public static void main(String[] args) {System.out.println("Hello, World!");}}
Not all are this basic. Here’s one for the iPhone. As ‘Hello World’ programs are intended to be proof of concept programs, not all programs need to literally print ‘Hello World’: here’s one for Artificial Intelligence.
Despite their simplicity, ‘Hello World’ programs serve a few purposes: (1) They help you understand the structure and syntax of a language, stripped of extraneous complexity; (2) The program is so simple that it should work, which may not happen if there are other issues or assumptions that you haven’t accounted for; (3) The program is a proof of concept which gives you a basic running framework to build more complex programs.
The main idea of a ‘Hello World’ program is to start by solving a simple toy problem. If you can solve the simple problem, then this serves as the foundation to solve a harder problem and you build your programs up from there. As a first time programmer, you quickly discover that even toy problems can get complicated because it’s difficult to understand and appreciate all the challenges you’re going to face until you start to sink your teeth into the problem.
Silicon Valley wisdom like ‘Do things that don’t scale’, ‘Move fast and break things’ and ‘Minimally Viable Products’ all come from a programming culture of learn as you go. And you don’t have to be a programmer to use these principles. In the late 1970’s Deng Xiaoping communicated his reforms for China by saying that they’ll “cross the river by touching stones.” While China rapid development has it’s faults, this guiding principle lifted drove the fastest period of economic growth in the history of human kind.
Many programmers carry this ‘Hello World’ wisdom when they build and organize their companies. They start with a simple problem first knowing that they’ll learn from this experience and if they nail it, then they can use this to scale up to solve a more complex problem. This is fundamentally different than how big corporations typically attack a problem. This is why startups can run lean and fast. They favor function over form and backfill when necessary.
Because these toy problems and their solutions seem so insignificant, the best ideas in their early form paradoxically look like bad ideas. Paul Graham, a programmer himself, was one of the first ones to recognize this paradox. This is another reason why it’s hard for large corporations to learn these lessons: small solutions don’t generate profit.
Large corporations are not the only ones to suffer from this paradox. Many investors, even those with years of successful experience, have often failed to see how small solutions to insignificant problems can scale up to become big companies. Many great investors turned down investing in eBay because it started out as an unsecured marketplace to sell trinkets; and Y-Combinator similarly thought Airbnb was a bad idea, but liked the founders so much they accepted them anyways.
The extra advantage of a small solution to a seemingly innocuous problem is that, by definition, you’re operating in a small market which means there’s little competition and it’s easy to monopolize.
Another idea that Paul Graham has written about is ‘Do things that don’t scale’, which also derives its wisdom from the ‘Hello World’ methodology. An important part of ‘Hello World’ is that it gives you a sanity check on your assumptions and lets you better understand the problem domain. A common pitfall of of programmers is to over engineer a solution, only to find that you were solving the wrong problem and none of the code you wrote will be used.
Writing code to solve a simple problem and then rewriting it later once you better understand the problem domain can be much more efficient than a top down approach that assumes complete understanding of the problem domain in the beginning.
Similarly in business, we can over engineer business models and organizational structures because we try to start big when we should be starting small. When we’re big and fail it hurts. It’s much easier to fail when you’re small, in fact it gives you an opportunity to iterate quickly.
Computer science is the new literacy and its lessons can stretch far beyond actual programming. Those who learn to code learn to engineer in the abstract and these principles extend far beyond software. It can also influence how we build organizations and business models that ultimately shape society. Those who have learned these lessons will be the ones who are in a better position to be tomorrows leaders. This is why Girls Who Code and Hour of Code are so important. Learning to code can give you an important asset and it shouldn’t just be in the hands of a few. A hundred years ago these programs may have been called ‘Girls Who Read’ and ‘Hour of Reading’ and today we recognize just how obviously important reading is. It’s the same with programming.
Hacker Noon is how hackers start their afternoons. We’re a part of the @AMIfamily. We are now accepting submissions and happy to discuss advertising &sponsorship opportunities.
To learn more, read our about page, like/message us on Facebook, or simply, tweet/DM @HackerNoon.
If you enjoyed this story, we recommend reading our latest tech stories and trending tech stories. Until next time, don’t take the realities of the world for granted!