An unlikely career in high tech started with 10 lines of HTML

They were fairly typical lines you’d find in an HTML file, a backbone for future web pages yet to come:
<!DOCTYPE html>
<html>
<head>
<title>First web page</title>
</head>
<body>
<p> Hello World </p>
</body>
</html>
That was it. Just ten lines, one of them empty, but that was all it took to start a journey that took me into the wild world of web and education technology. I had no formal Computer Science background. Just a Visual Basic class in college and half of an introductory Python course on Coursera. A heavy semester of engineering classes made me rage-quit part way through learning Python, but this time was different. The feedback was immediate. I could see the web page changing before my eyes.
Two hours later, I was hooked on this Codecademy website, but I had to stop. I was finishing up my Environmental Engineering degree and taking one last graduate level class over the summer, a technical elective on Sustainable Engineering and Design. This was also my first month as a full-time Founder. At the time I figured learning web development in the evenings would help make our educational products more engaging. I would eventually be right, but the journey to get there would be far from easy.
Two months later, after finishing two hours of lessons every day. I had finished HTML / CSS, jQuery, and was in the middle of JavaScript when everything finally connected. I was in my den upstairs at my parents’ house in Florida. I looked up from the screen and saw a common thread going through Visual Basic, Python, and now also the web languages. It was like being able to understand the code that weaved the fabric of The Matrix. The same week, I started working on a project that would unify my budding curiosity about design, CSS, HTML, and JavaScipt into a tangible applet — a periodic table desktop widget for the Mac. This would become my first open-source project, and although rough around the edges, it worked, and worked well.
The feeling of building something useful through writing in some foreign computer language was exhilarating. The two programming classes I took before also provided a foundation for the strange syntax of JavaScript. JavaScript was hard. Even today, I would be handicapped by the semi-colons, curly braces, and parentheses if it weren’t for my text editor.
Python is a much easier language to write in. Even Visual Basic, a more strongly typed language, had easier loops and if-then statements compared to JavaScript. But there was something different about JavaScript, especially when combined with jQuery. The ability to immediately see the effects of your code, selecting HTML elements, dynamically changing colors, adding animations, generating electron configurations through an algorithm for Aufbau Principle. Then displaying them in HTML. The possibilities seemed endless!
Two years later, a whirlwind of technologies had found themselves into my brain like node.js, MongoDB, Angular.js, Docker and Bootstrap. Most of them before they were cool :) Luckily, I picked them up well enough to be able to design a functional, production-ready website with good content, struck a licensing deal with a billion-dollar publicly traded company, recruited the first 1000 users and was working with a small but growing team of founders and interns. At this point, it was necessary to take a break from programming to focus more on the business side. This turned out to be one of the best ways to improve my technical (and also non-technical) skills: talking to more users, customers, and partners.
The next three years involved moving to Silicon Valley to pursue a greater startup and technology career, raising money to support a small but ambitious team, and facing even greater challenges in the face of ever-changing technology and business growth. More customers came, and the product was getting better, but not fast enough. Recently, I went from a full-time founder to a moonlighting founder, but continue to work passionately on education and web technology.
The startup journey can take up an article of its own, but I want to focus on the Web Development journey first. By now, I’ve worked on applications large and small, from building Minimum Viable Prototypes (MVPs) and helping scale them up at smaller startups to deploying standalone modules in production for giant technology companies in Silicon Valley. Much of this is front-end, User Interface (UI) development with working knowledge of backend APIs and even sprinkles of infrastructure technologies like Docker.
Through this ongoing journey, I have gained an appreciation for Elon Musk’s belief that advancements in technology are more often limited by Engineering than by Science. In other words, good engineering is what drives great technology. Although my college years focused on Civil and Environmental Engineering, software has become my new favorite field of engineering, especially User Interfaces and cross-platform front-ends because of their delicate balance between art and science.
Similar to learning a new spoken language, it often takes at least two years of continuous practice to even gain a working knowledge of writing code, no matter the application. The difference between a human language and computer language is that the barrier to learning a second computer language after you’ve learned the first one is much lower. Learning JavaScript made me better at Python and several other general programming skills like reading new programming languages, reading documentation, and also becoming comfortable with learning an endless list of new frameworks like Angular, Express, React Native, Bootstrap... and the list goes on. By now, this “libraries and frameworks” list is approaching the number of Final Fantasy games published by Square Enix.
When you take the above analogy of how much easier it becomes to learn a new language, and you combine that with a mindset of learning new technologies that most software engineers are required to cultivate, you eventually gain the ability to know that no matter the technology problem, you now have a more complete set of tools to address it.
Getting this familiar with the technologies that power the Internet has also given me the opportunity to have a deeper look at the next wave of innovation that’s coming (this will be the content of other posts). However, getting to this point was anything but easy. Like anything worth doing, it takes consistent and often intense effort to become good with programming. It takes an even greater level of self-awareness and self-criticism to identify where your own blind spots are to unlock the next level of personal growth.
Finally, technology is a very broad field. Even within the context of software engineering, it takes some time to find your own strengths and interests. They may be in front end development, back end, systems programming, or data science. This brings me to a few things I’d like to share with you, especially if you’re a budding tech entrepreneur, engineer, or just curious about technology and the future.
1) Technology is a tool for solving real problems
Humans are tool builders. We always have been. It’s what has always given us an evolutionary advantage and become the dominant land-lubbing species on this planet! Starting with fire, to agriculture, to burning coal, to harnessing electricity, and now the Internet. Each subsequent innovation builds on previous knowledge and brings us better and better tools. These tools all have one thing in common: they solve a problem.
On a recent visit to my alma mater, the University of Florida (go gators!), I had the pleasure to listen to several graduating students working on engineering projects related to clean water. Hats off to them! These are the important problems in the world that good engineering can help solve. Engineers are tool-builders. Software is a tool. Software engineers should write software that solves real problems. It’s very easy to forget this fact even though it applies to all creative work.
2) How to overcome Builder’s Block
I’m convinced that all creative professions have their version of a trough in productivity and motivation. This often leads to crappy work or just an overall sinking feeling of dread when looking at the work you have ahead of you. In the world of startups and most new products, this is called the trough of sorrow. Authors call it writer’s block. Writing software has it too, and the best way to get past it is to learn something new.
This applies to just everyday life, too. It’s how you can change careers, become better at your field, and gain newfound motivation. I think it has to do with many people’s innate curiosity. As kids we often dream of exploration and ambitious pursuits. Learning something new and interesting often sparks that curiosity and sense of exploration.
For software, this could be picking up a new programming language (my order was Visual Basic → Python → JavaScript) or a major framework or library. For hardware, it’s often best to start by building your own computer. It’s much easier than you might think and there are websites like PC Part Picker that help make the process easier. As an added bonus, you save hundreds if not thousands of dollars in future upgrades because you don’t have to buy a new computer again. Just switch out the parts that you want to be faster or you need to replace in case they break.
Disclaimer: building IKEA furniture doesn’t count as “hardware engineering”.
3) Soft Science is just as important as Hard Science
In addition to eating healthy, taking short breaks, and getting enough sleep, it often helps to really try and get a solid understanding of your own body chemistry and psychology. Which foods help you be productive? Which foods boost your mental abilities and cognition and mood? I’ve gone back and forth with coffee, but recent evidence shows it’s mostly a good thing.
My doctor has also recommended taking a daily baby aspirin and a vitamin supplement, both of which have a positive effect on your health. When it comes to exercise, it’s understandable that few people can incorporate it into their routine. Going to the gym may or may not help you, but I like to stick to smaller amounts of high intensity exercise. Instead of going to the gym 3 hours a week, I usually do a combination of push-ups, weighted curls, and weighted lunges for 10 minutes a day. Even smaller amounts of high intensity exercise are shown to have tremendous benefits on health, mood, and cognition. Your brain is your most precious organ so take the best care of it that you possibly can.
Finding my own routine of foods and habits has gone a long way in boosting my productivity and overall satisfaction. Do not underestimate the importance of your mental health and happiness! If you are not doing something you feel is important, make it a priority to change. In addition to healthy habits, being passionate about what you do is an enormous advantage. It’s what allows top athletes and entrepreneurs to perform at their best and put in endless hours into their training or business.
4) Satisfaction is more important than happiness
Too many people focus on short-term happiness over long-term satisfaction. Most of us only focus on the immediate present or near future, and spend very little time thinking about the long, long term. Decisions that can impact your life for years and decades. What do you want to do in a decade? That’s a more important question than what you want to eat for dinner tomorrow, but most people spend much more time thinking of dinner instead of important life choices.
We are used to thinking in 4-year chunks because most educational institutions are broken up in 3–5 years each. In reality, most great accomplishments take lifetimes (Plural! Multiple lifetimes!). Whether it’s a million-dollar Millienium Prize problem, a Nobel Prize, or revolutionizing an industry, almost every person who succeeds at these accomplishments sacrificed a great amount of short-term happiness for greater long-term satisfaction at having the opportunity to accomplish their dream.
When given the choice between something that will make us happy now versus something that will increase overall life satisfaction, most people choose to be happy now. Your challenge is to not follow the heard and think differently. And then act on it. Once I found out the growing evidence of social media to overall unhappiness and dissatisfaction, I quit using Facebook because it was dangerous to my life satisfaction. Messenger is now the only Facebook product I use to stay in touch with friends.
5) Outliers and the Power Law distribution drive the undercurrents of our world
There is no question in my mind that the power law distribution, often popularized as the Pareto Principle or 80/20 rule is even more common than the standard bell-curve distribution that most people think the world follows (in reality, they are two sides of the same coin, but we’ll save the statistics discussion for later). While superficial measurements like IQ, GPA, average salary and a few others are usually thought of as measured in bell curves, the really exciting stuff starts happening when you look at the right fringes of these bell curves.
What do people with the top 20% in IQ do with their lives? Do they contribute to 80% of society’s productivity? It won’t always be exact but there will still be a clear imbalance. This also applies to other topics like wealth distribution, professional athletes, actors, entrepreneurs and technology startups. In any Venture Capital portfolio, 90% of the returns (profits) are from just 10% of the startups. When you zoom out even more and look at the Venture Capital industry, a similar trend applies. The top 20% of VC firms account for 80% of the industry’s returns. Although this trend is more extreme in technology, it applies to too many fields to ignore.
The most interesting thing about this is that it’s not just random chance. If it was random chance, then you’d expect the VC firms to change each year. However, the same VC firms consistently outperform decade after decade, with only a few new funds that join the exclusive list of top funds once in a blue moon. This implies a certain level of expertise that can be learned and consistently practiced to become an outlier. So, how do you become an outlier? The best we can do is look at research, which says this outlier-level of expertise comes with experience and practice. In other words, hard work and dedication.
Malcolm Gladwell is known for popularizing the 10,000 hour rule from his book Outliers, but in reality, among all of the high performers that were in the original study, this was an average, so for half of them it was even longer. This means that you should be ready to contribute between 15,000-20,000 hours of consistent, dedicated practice in order to become an expert in a field. That’s about 10 years of full time effort. This is also why we should plan our life in chunks of decades, not 1–2 years.
The outlier effect and the Power Law distribution are very important concepts that will get their own article. We are just scratching the surface here and haven’t really gotten into its limitations and how to overcome them. So, if you choose to follow me on Medium for more distilled articles about technology, first of all, thank you! And second, please be patient with my rate of new articles because I’ll also be putting in my thousands of hours :)