# How I Became a Data Scientist

I first became a Python Developer

**I enrolled college as a physics major**

I started college at the age of 17 at Stevens Institute of Technology in Hoboken, NJ. I graduated high school in three years and had not gotten a chance to take Calc 1 or any AP courses. I enrolled as a physics major, hoping to minor in philosophy and ultimately pursue a career in theoretical physics. In retrospect, I probably should have thought that decision through more than I did, but I was exhilarated and inspired after reading *Parallel Worlds *by Michio Kaku and Stephen Hawking’s *A Brief History of Time *that I was determined to study quantitative and theoretical physics.

My first semester at Stevens consisted of: Calculus 1, Mechanics, Chemistry, Chemistry Lab, Computer Science, and an English course.

The math required for mechanics, my first physics course as a physics major, consisted primarily of calculus — a course I was taking concurrently.

**I struggled learning Matlab**

In addition, the computer science course, taught in Matlab, used calculus and physics problems as homework assignments. This course was my first exposure to computer programming, and I was expected to perform matrix multiplication, calculate the braking distance using the acceleration of gravity, and plot surface area plots in Matlab.

**I didn’t think computer science was for me**

I was in over my head to say the least. I was distracted, confused, frustrated, and overwhelmed. I had convinced myself that programming was not for me. I was concerned that I had not picked the right major, and that I would not succeed.

**I became a math major**

Before the beginning of my second semester at Stevens, I decided to switch my major to math. I was confident in my mathematical abilities and I truly loved solving math problems. A friend of mine cautioned me, telling me I should wait until I pass Calc 2 before changing my major.

But even so, I believed in myself and took a chance. And my friend was correct, Calc 2 was difficult, but I passed the course, and I went on to earn a bachelor’s degree in applied mathematics.

**I wanted to bring math to philosophy**

I really enjoyed my mathematical studies, but at the same time, I was inspired by my courses in philosophy. That theoretical inclination was still in the back of my head, and I wasn’t necessarily sure if I wanted to pursue a graduate degree in math, so I decided to pursue graduate study in philosophy instead.

I hoped to bring a mathematical approach to answering philosophical problems, and included mathematical formulas in my philosophy papers.

In my undergraduate studies, I explained Plato’s tripartite theory of the soul as a point in three dimensional space, where x, y, and z represented the three parts of the soul. I also used set theory to shed light on Hume’s theory of causation.

As a graduate student, I examined the theory of belief updating as a Bayesian model of prediction, and the theory of mental representation as a computational model.

**I wanted to bring computer science to philosophy**

While at the CUNY Graduate Center, I was exposed to research that used Python programing and neural networks to further research in philosophy of mind and cognitive science. I wanted to understand cognition and conscious experience by building computational models.

**I learned Python**

After not getting into a PhD program in philosophy, I decided to learn python. I felt that if I couldn’t study computational models from an academic perspective, I would build them from the ground up.

*Python for Everybody*** **on Coursera significantly changed my perspective on computer programming. With some dedication and persistence, I learned Python data structures. I learned how to code in a text editor and execute my code in the terminal. I learned how to document my code. I was introduced to parsing text using BeautifulSoup and I had my first crash course in SQLite.

I then learned Object Oriented Programming in Python. I learned how to structure my code into classes, methods, and attributes and how to instantiate object instances. The link for the book I read can be found here.

As I learned Python, I would first write new code as a for loop, then I would write it as a function, and finally, I would write it as a method of a class with object attributes.

I then took the following courses on Coursera: *Data Analysis with Python*, *Data Visualization with Python*, and *Applied Machine Learning in Python*.

I learned numpy, pandas, matplotlib, seaborn, scipy, and scikit-learn.

I learned how to fit a linear regression model, a logistic regression model, support vector machines, and decision trees.

**I learned SQL**

I took a *SQL Essential Training* course on LinkedIn Learning, which covered Standard SQL, as well as SQLite. I then decided to learn MySQL, and took the following two courses: *MySQL Essential Training*** **and *MySQL Advanced Topics***.**

I learned how to join tables, create views, write stored procedures and stored functions, and create triggers.

In order to learn MS SQL Server, I took *Microsoft SQL Server 2019 Essential Training* on LinkedIn Learning. I learned T-SQL and how to write CTE’s.

**I’m currently learning Java**

Using the textbook *Think Java*, I’m teaching myself Java.

Becoming a Python developer, learning object oriented programing, database design, machine learning, and computer science fundamentals, I’ve changed my mind: **I think computer science is for me.**

**I wanted to be a data scientist, and now I am one.**