How can you go from zero programming skills to a job in technology or analytics?
If you’re interested in learning these skills, whether for fun or for a career change, what’s the best way to go about it?
Countless lists of the best online courses exist, but how can you forge your own learning path with all of the noise?
I personally never thought I’d learn any practical skills around programming, data analysis, machine learning, or technology in general. As a finance major, I always assumed I’d be the “business guy.” Yet somehow, I taught myself Python and SQL, and found myself working in analytics at Jet.com, using one of these languages everyday.
Why Python and SQL, you might ask?
Python is the fastest growing programming language out there, and for good reason. It has an insane number of libraries that you can use for machine learning applications, data analysis, visualization, web apps, API integrations, and much more. Plus, it’s one of the easier languages to pick up and learn. As for SQL, databases power technology companies, and SQL allows you to better understand, explore, and make use of the troves of collected data.
Below, I outline the path I took in learning these languages that brought me into analytics. To be clear, this path was incredibly challenging; I spent countless evenings feeling frustrated and confused. Many nights I wanted to just throw in the towel and settle for being the business guy.
But your motivation remains the key to pushing forward through the obstacles you’ll inevitably face. Whether you want to move into a data analysis or data science type role, or just want to have a better grasp on programming and technology for the fun of it (which it does become fun!), you have to figure out how to stay motivated and disciplined if you want to actually learn these skills. For me, setting aside specific amounts of time almost every day (about 90 minutes to 2 hours) to learn or practice immediately after I got home from work allowed me to develop consistent habits and hammer home concepts I found confusing.
Here’s the path that I took; hopefully it can help you get started on your own.
This is one of the best courses I’ve ever taken, period. It’s self-directed and challenging, but Zed provides you with enough detail and guidance to start to actually begin programming in Python. He makes programming feel accessible, and the material gives you the confidence week after week to actually feel as if you can effectively learn Python.
Mode Analytics provides an awesome introduction to Python and includes tutorials on one of its most powerful data structures: the Pandas DataFrame. This is perfect for learning the basics of data analysis once you have the fundamentals of Python down.
The other Mode Analytics tutorial on SQL is fantastic too. You can learn all of the key concepts and create a strong SQL foundation here. They even have their own SQL editor and data you can play around with.
In conjunction with Mode Analytics, W3 Schools can help answer any SQL question you ever have as you go make your way through the tutorials.
Diving Right Into Machine Learning
Before I fully had a strong grasp of Python, I took a shot and applied for Udacity’s self-driving car nanodegree. I knew it was completely over my head, but I thought, why not try?
It’s easier to motivate yourself to learn Python and machine learning when you’re fascinated by the practical applications.
I had about a month before the class began, so I took as many classes around data science and machine learning as possible.
Here were the best freeintroductorycourses I found that were incredibly helpful:
While not free, I’d also highly recommend checking out the Grokking Deep Learning book. It provides extremely clear and relatable examples on the fundamentals of machine learning.
TensorFlow, developed by Google, is an open source library for machine learning that can be written in Python. It’s incredibly powerful, and absolutely worth becoming familiar with. Check out the MNIST exercise for a fantastic introduction to the framework.
I found the Stanford CS231 class to be a useful resource too; it covers convolutional neural networks (what we use for image or facial recognition software) extensively, which I read would be incredibly helpful for the self-driving car nanodegree. If you’re interested at all in using machine learning with images or video, you won’t find much better than this course.
I’m not going to talk about it too much since there are already great write ups of the course here and here. What I will say is that, to my own shock, despite being the most challenging course I’ve ever taken, I was able to understand most of the content. Armed with the right base knowledge, you’d be surprised at how deep your understanding of a complex topic can be.
Continued Analytics and Data Science Learning
After diving intensely into machine learning for a few months, it was helpful to take a step back and reinforce my understanding of practical analytics and data science principles.
I started with Data Science, Deep Learning, & Machine Learning with Python, a fantastic course on Udemy. While touching upon machine learning, it completely covers principles in analytics, data science, and statistics, particularly around different data mining techniques and practical scenarios to deploy them.
The book Data Science For Business, also explains incredibly well the HOW and WHY certain models work when solving problems in a specific context; it hammers into you an analytical framework and mindset that can be applied to any situation revolving around data problems. It’s the best resource I found that connects different analytical approaches to specific business situations and problems.
Of course, if you’re interested in pursuing a career in analytics or data science, you should always be honing old skills or adding new skills into your toolkit. FreeCodeCamp and Hackernoon publish informative articles and tutorials on all things data science and software engineering. My favorite article recently was a well-written tutorial on writing your own blockchain.
You want to know the best way to continue learning though? Build something. Anything. Explore a dataset. Find a practical problem that you or your company faces, and try to solve it.
Even if you don’t have access to high-quality data at your company, there are plenty of open source datasets that you can play around and practice with. I bet you’ll learn just as much, if not more, working on your own data projects than taking any course or reading any book.
Finally, meeting and learning from people who have the skills you want to acquire is hugely beneficial. I highly recommend using Meetup to find groups of analytics or software professionals in your area. Many of these groups have free tutorial or study sessions, and you’ll meet plenty of insanely smart people who can provide tips and tricks to accelerate your learnings.
In New York City, some of the groups that have helped me tremendously are:
If I said that the United States operates on the principles of individual freedom, and gives the utmost importance to protecting those core freedoms, you’d probably agree right? And that these freedoms and this system helped to create the most powerful country in the world, correct? This fundamental system is called liberalism, and from Wikipedia, it can be defined as: “..a political philosophy or worldview founded on ideas of liberty and equality.”
This system promotes values we’ve always known: freedom of speech, freedom of the press, ability to vote in democratic elections, and the right to choose how to live your own life. And I’m assuming if you’re reading this, you probably love liberalism. It’s helped to create and enforce the modern democracies implemented across the Western World, and is the perfect companion to capitalism, which has helped create modern medicine, our complex food supply chain system, and Google.
Yuval Noah Harari, author of the best-selling books Homo Sapiens and Homo Deus, helps us to understand liberalism through the lens of what he calls humanism. Essentially, we moved from worshipping Gods to worshipping humans. Humanism states that nothing has a higher value than the life and individual freedom of a human; in the context of liberalism, that’s why it says that the vote of the individual matters, and that the customer is always right. Humanism decrees your freedoms and your unique contributions to society as sacred. The ideology of humanism, and in turn, liberalism, has allowed us to flourish exponentially in the 21st century.
But what happens if the dual system of liberalism and humanism changes? When would the ideals of personal freedom and human importance become secondary? A complete change in Western ideology isn’t as crazy as it sounds. Just because something has been one way for as long as you’ve been alive, doesn’t mean it will continue on in that way in perpetuity. I’m curious to understand and explore how these ideals of placing the highest importance on human lives and freedom could potentially change over time. I borrowed many of the ideas here that Harari describes in Homo Deus, but attempt to explore it through my own lens. As a caveat, I’m not necessarily saying that what’s described below is going to happen with certainty, but rather want us to seriously consider what the Western World could look like 50 years from now. Today, liberalism and our democratic principles face threats from developments in biology, economics, and of course, technology.
In Homo Deus, Harari discusses that the end of liberalism could be near due to breakthroughs in biology disproving our firmly held notions of the self and free will. In order for liberalism and our principles of freedom to hold, humans have to have the ability to make free choices. Without free choices, who cares about freedom?
But in reality this freedom is an illusion. We all feel like we’re free, and feel like we are a unique self, but science says otherwise. From our studies of the brain, psychology, and human cognition, we’ve concluded that the brain itself is just another piece of organic matter run by biochemical processes. And the self? As the British philosopher Alan Watts points out in The Wisdom of Insecurity, there is no true self: just a stream of consciousness always changing and in flux, with nothing rooted to a physical “self.” In this case, the self is the static, unique “I” that we refer to.
I’ll admit, this is the most difficult concept for me to grasp, but it makes sense. True, us humans barely know anything about the brain. We’re just brains studying brains. However, we’ve yet to find any evidence that points to a static self, and if the brain is just a house for a string of biochemical processes, run by physics and cause and effect, essentially everything we’ve ever done or will do couldn’t have been or be any other way. This idea is known as determinism – where all events or states of being move in a sequence caused by the prior state, all the way back to the beginning of the universe.
Discussing determinism within the context of natural selection will hopefully make this clearer (that is, if you believe in natural selection). Over millions of years, animals have evolved to become more robust and adept at surviving. Elephants that have a desire to find food, or that can reach food on higher branches with abnormally long trunks will survive, and pass on their genes to their offspring. Tiny, lazy elephants will most likely not survive and starve, thus not passing on their genes to future generations of small, lazy elephants. These genes determine the survival of the animals. The genes, through biochemical processes, “instruct” the elephants what to do and allow the fittest ones to survive. If elephants truly had free will, natural selection wouldn’t hold true. It wouldn’t matter if you had the longest trunk if you didn’t ‘feel’ like having to reach high up to eat. In this way, the theory of natural selection enables us to recognize the presence of the cause and effect chains that determinism describes.
So why is all of this important to liberalism? It is important because if our free choices aren’t absolutely free, and physics declares our future actions to be determined, then science throws a massive wrench into the foundation of liberalism and our society: the value of freedom. How can we flourish in our current democratic system if our fundamental beliefs about freedom don’t hold true? Does a physical lack of free will mean that our day to day perceptions of control are not worth acknowledging and preserving?
There are two schools of thought on this matter: one describes that a widespread belief in determinism will ensure that people will always excuse their selfishness as “not my fault”, and cause them to act immorally. Professor Kathleen Vohs, then at the University of Utah, ran studies that showed that people with a stronger belief in determinism were more likely to cheat, steal, or become lazy on the job. They simply deviated from their long-held morals, feeling that they couldn’t be held accountable for their actions.
On the opposite side, Sam Harris, a prominent philosopher and writer, believes that if we view deterministic decisions made by other people, we’ll be able to respond more rationally and without anger or vengeance. If someone wronged us, we understand that they couldn’t have acted any other way, and will respond with compassion rather than anger. As an extreme example, he states that if a widespread belief in determinism held during 9/11, our government’s response would have been more rational and calculated, instead of knee-jerk and emotional.
Regardless of which (if either) school of thought becomes mainstream, we shouldn’t expect a radical change from our principles of liberalism in the near future because of the science behind determinism. As Harari says, “Science has no ability to refute or corroborate the ethical judgements [ideologies] make.” Maybe in the next 10 – 20 years as our understanding of the brain deepens, we’ll start gradually removing our blind belief in the certainty of free will and embedding it into our current ideologies and systems. However, a deterministic view of life could still maintain this liberal notion of freedom: not freedom of the will, but freedom to uncover your deterministic future.
Okay, so we’ve found that there’s a strong scientific case against human free will and the individual self. This revelation, if painted intelligently by politicians, business people, or scientists, could topple our liberalism ideology: but I’m not so sure. The drastic economic changes on our horizon are more likely to throw the ideals of freedom and individuality that compose liberalism out the window, creating a new, foreign ideology in its wake.
We’ve all heard about the rise of the machines and how a sentient AI will replace hundreds of millions of jobs that humans are currently good at. Even Elon Musk is worried about this. Some of the first jobs to go could be truck drivers and taxi drivers replaced by autonomous vehicles. But other professions that previously required years of work to master, like law and medicine, could become obsolete in 15 years when algorithms can perform a large portion of the job significantly better than us.
I’m not talking about a superintelligence posited by technologists and philosophers like Nick Bostrom, but rather incredibly sophisticated algorithms that can scan enormous amount of data, find patterns, and make recommendations in a day that would take a group of humans years to accomplish. Even now, computer scientists are starting to lose their grasp on how the algorithms they originally built actually work. They’re black boxes. If we can’t even understand how these algorithms work, how are we supposed to be better than them at our jobs – whether skilled or unskilled?
Economics will begin to undermine the foundations of liberalism when our algorithms start to perform our jobs more effectively than we can. Again, liberalism places the utmost importance on individual liberties, freedoms, and human life. Liberalism holds these values in particular because capitalism and the free-market work better in a society where individuals can participate both as a producer and a consumer of value.
But what does that mean for liberalism when a major portion of the population loses their ability to provide economic value and simply cannot do a job better than an algorithm? A capitalistic society enables individual freedoms – paradoxically, with mass job loss, it could end up limiting our freedoms and diminishing opportunities for millions.
To alleviate scenarios like this, the idea of a universal basic income (UBI) has been posited, and already seriously studied by countries like Finland, the Netherlands, and Canada. Essentially, every adult in the US would get a set amount of money per month from the government, and would be able to pursue any occupation they wanted without fear of going hungry or losing their home. UBI works in allowing people to live comfortably, and potentially even a happier existence, with the ability to pursue passions rather than occupations simply for the cash.
On one hand, a UBI would strengthen the pillars of liberalism, allowing millions the freedom to pursue whatever type of life they’d like. It has the potential to be a useful tool to recuperate freedoms lost to mass job automation. However, the gap between the unemployable and the economic producers (the owners of the algorithms) will continue to widen. When such a small portion of the population controls the actual economic output, how does liberalism respond? How can we run democratic elections and preserve the freedom of all individuals when algorithms and a tiny percent of humans account for most, if not all, of the economic value and output?
Smarter and more sophisticated algorithms absolutely have the potential to displace millions of people from their jobs and the economy overall. An algorithm that can drive a car more safely, digest thousands of legal documents in a few hours, or even design a visually appealing website will force us to reconsider what we humans can truly be better at. But what if we consider an algorithm that can not only perform job functions better than you, but can understand and know you better than you? This isn’t to say that the algorithm is conscious: rather, as Harari describes, “..intelligence is decoupling from consciousness.”
As a side note, here, I think that consciousness refers to the ability to recognize an experience as it is being experienced. The flow of consciousness is the ability to continuously have awareness of our desires, senses, and experiences in the immediate present. Obviously, computers don’t have this capability. They receive specific inputs and produce specific outputs without experiencing or feeling anything. We humans do the same, but recognize and “see” our present experience of processing that input and producing output. But, we don’t have a strong scientific understanding of what consciousness is, so we could actually just be incredibly sophisticated algorithms, lacking any type of “mind.”
Back to computer algorithms: Our pace of technological advancement is so huge that in the near future, all of our decisions, both large and small, can and most likely will be decided by an algorithm.
You might think ‘That’s impossible, how could an algorithm actually know me and my deepest desires, wants and emotions?’ Well, in truth, we’re already seeing algorithms assisting us in making decisions. Just look at Amazon’s recommendations. Everyone has a unique home page where Amazon’s algorithms chooses what to display to you. And not surprisingly, it works quite well. They only show us a fraction of the millions of items for sale, yet the algorithms know us so well (already!) that we don’t really care.
This might seem trivial, but imagine this level of granularity in personal recommendations even 10 years ago. It would be unheard of. Now, think about what this type of technology could look like 20 years into the future. Algorithms telling you what job to take, or where to live, or even who to marry. All of our decisions that we make as free individuals could already be decided for us by all-powerful algorithms. If algorithms can read your biometric signals and understand how you actually feel and help make decisions for you on that basis, then are you truly making decisions for yourself?
And if the ability to make decisions for yourself as a unique individual disappear, what does that mean for our foundation of liberalism and freedom? Harari notes that, “Liberalism will collapse on the day the system knows me better than I know myself. Which is less difficult than it may sound, given that most people don’t really know themselves well.”
I wanted to explore these ideas not to conclude that the current underpinnings of our society dictated by liberalism are going to disappear, but rather to understand that the system isn’t infallible like most of us believe, and to examine ways that technology and science could potentially change how we view our own lives and other humans as a whole. We shouldn’t take for granted that the values and fundamentals of the society that we live in now will continue on forever.
Especially with the rate of technological advancement in the 21st century, it’s important to start asking and digging into the right questions about where we’re going and how we should arrange our political, economic, and social structures before we reach a tipping point.
The good news is: we have options. It’s definitely possible that algorithms could surpass us in overall intelligence and transform our liberal and democratic society, but alternative routes exist. Tim Urban from the site Wait But Why discusses one possible alternate route revolving around Brain-Machine Interfaces (warning: it’s incredibly long but well worth it).
Another option: do we want to create “superhumans” and keep pace with the computers? Can we modify the brain biologically beyond recognition to create different states of mind and consciousness? I’m sure plenty of other futures exist where our liberal-based society continues thriving, or other scenarios we haven’t even thought of yet. The point is to start thinking about these questions now and not expect business as usual;we can help to shape advancements in biology, economics, and technology to create future impacts we’d hope to see ourselves.
As the great Ancient Roman philosopher Seneca mused, “So it is: we are not given a short life but we make it short, and we are not ill-supplied but wasteful of it.” Of course, our perception of the shortness of life can’t be discussed without understanding our perception of time. After reading his works, I wanted to know: where does my time go, and why does it feel like I can never grasp and truly comprehend it?
Especially once I graduated college, I felt like the days melted together. I’d wake up, excited to face the challenges of the day, and after the blink of an eye, back in the same bed, alarm set for the next day. June started. Then it was February. A few months ago, summer plans dominated conversation. Now it’s over and Halloween stores cover every street corner. Why is my perception of time speeding up? Seneca has to be wrong – life does feel short! As a byproduct of this feeling, it’s difficult to distinguish one day from another. How is my day today different than my day 2 weeks ago?
An answer to this question eventually showed itself. Reminiscing with a close college friend the other day, his freshman year roommate popped into the conversation. Ah, freshman year. That time of your life when you’re finally an adult and on fending for yourself. Clearly though – that specific time in your life.
As a student, for 18 years, you chunk your life experiences together by grade. “Oh yeah, my 3rd grade teacher was amazing.” “I totally had a crush on that girl in 8th grade.” “I made the football team my sophomore year of high school.” This chunking of time and experiences allowed me to remember exactly when events happened, and I could recall specific events, thoughts, or desires by who my roommate at the time was, or what classes I was taking, or if I was even old enough to legally drive. My brain had the ability to easily find desired memories by searching by grade. Once you graduate college, easily defined, consistent periods of time disappear. There is no ‘sophomore year’ of life. Remembering specific events become more difficult because you don’t have an easy category to search by.
This lack of a chunking framework for memories or events makes time feel as if it’s flowing by faster as you get older and further away from those grade years. What are the ramifications or consequences of this? How can we manipulate our perception of time so we both remember desired or important events, and maximize our time we do have so it doesn’t feel as if it’s sand slipping through our fingers?
One major tool you can use is to simply be aware of this phenomenon. Recognize how fast your weeks go by; look at how quickly the river of time flows by when you’re with a loved one; take a moment to be aware of the actual moment, the visuals around you, your immediate feelings and senses. Take stock of what’s happening now. We can’t live grade to grade anymore, or recall fond memories by what grade we were in, but we can live consciously in the present and be aware of how we spend our most important currency: time.