Where to get started with coding or data science
I recently had a friend tell me they started with Python coding because they wanted to start a career in Application Development or Data Science. They asked for my thoughts on this approach. This post is my reply.
Let me start with my thoughts on Python. If you don’t yet know what you want to do with programming, I think it is an excellent choice. Python is used in many different industries for many different things. Python was the first language I learned and even though I never got paid to work in it, I was able to make a few useful things for myself and it gave me a good foundation to later move to Ruby and Javascript which I now get paid for.
One of the most difficult skills to develop while learning to code is learning to take a problem the way a human understands it, and to break it down into steps that a computer can follow. You will learn how to do this no matter what programming language you choose.
It is easy to switch programming languages later. Because the actual language doesn’t have that many words or constructs.
It might be more important to find a local meetup with people who are excited enough about whatever language you choose to meet during an evening or on the weekend to discuss their craft. Finding the kind of people who would gladly help a newbie are the kinds of people you eventually want to work with. Which is also more important than what language you use.
So I would suggest you keep learning Python for now, and when you find either something specific you want to build or a specific group of people you want to geek out with, switch to whatever language is best for that.
If you are trying to choose between Application Development and Data Science. Here are my thoughts, maybe they will help in your decision. Keep in mind, I think data science is really really cool, but I have no experience with it myself. I am a web developer.
Application Developent
- You are telling a computer EXACTLY what to do. (Take what this user typed and save it there). If this sounds boring, it’s not. The problem solving has an addictive nature. The hours in my day literally fly by when I code.
- Fairly interactive. Lots of people skills required to understand what people need you to build
- You do not need a degree for this. A degree might even be a waste of time and money. But if you have the freedom to pursue a degree anyways it would never hurt.
- You can freelance or work for a company. I have chosen to work for a company in my current season.
- It will take you less time to get to the point where you can get a job as an Application Developer than a Data Scientist.
Data Science
- You don’t know exactly what you want the computer to do you just have a goal in mind, like “Recommend songs the user would like”, then you train the computer (kind of like training a dog) to look through data and learn how to do the right thing. Your thoughts might go like this: “I do not know what song to recommend this user, but go look through what they liked in the past and find others who liked the same things, see if that gives you good guesses about what they like, also look at the tempo of the music they liked and try to predict what they will like from that. Then just choose whatever you (the computer) can see is giving you the most accurate guesses.” In the end, you the data scientist, don’t even know or care why the computer recommended once specific song, you just care about the math behind how it weighed different options and that it came up with a good suggestion.
- I don’t know how interactive this is. I think you might work on the exact same well-defined problem looking for a solution for quite a while without needing to check in with people, which may or may not be ideal depending how extroverted you are.
- You will need to study advanced math, specifically, statistics to do this well.
- You probably need a degree for this.
- This will probably be working for a company, I have not heard of people freelancing as data scientists. Partly because practicing it takes time to really understand a very specific domain, like “What is it about Music that makes people like it” or where I work, our data scientists are working on “What is it about a sales email that cause people to hit reply”.