I am new to reddit, and after reading some posts of people expressing their frustration learning Python, I thought I would write about my own story on how learning Python helped save my life, and perhaps more importantly, gave my life meaning. I will try to be as brief as I can in my back story to keep this as relevant to Python as possible, but I feel it would be a disservice to leave it out completely, as my issues with mental health were a primary driver of the motivation I took advantage of to learn Python. I will post a more detailed description of my backstory later in addiciton
or something similar. Feel free to skip to the second *** to go straight to when I started learning python, however I suggest you read the whole post because honestly my whole story is relevant. If I hadn't gone through what I went through, I doubt I would have had the motivation to self-teach myself Python.
I grew up in a wealthy, extremely homogenous town within an hour of New York City. I went to a public school, but if you saw the way people dressed, it looked more like a private prep school. The vast majority of the kids in my school had parents who were millionaires. My parents were not. I was an only child, and I grew up in a small apartment on the "poor" side of town ("poor" meaning houses/ apartments went for < 750k). As you can imagine, the social structure of the school was entirely based off the wealth of your parents. So the game was rigged against me from the beginning. I had very few friends at a young age, and most people in my middle school probably would have described me as a "loser" or another synonymous term. I was very unhappy and became addicted to video games as a mean to escape my life. During high school, I finally started branching out to meet people from the surrounding towns, who were not nearly as pretentious as the people I grew up with. I made a lot of friends and started to have a legitimate social life. However, with this new social life came a lot of superficiality and drinking/drug using.
Until my senior year of high school, my grades were mediocre at best. Because I hated my social life at school, I hated school in general. But in my senior year, something changed. I won't detail it in this post, but will certainly get into it more in my next post in addiction
. I improved my grades and went to community college for my first year. I ended that year with a 3.9 GPA and an acceptance to one of the best colleges in my state. I transferred to that college and thought my life from there on out would be perfect. I was wrong.
I hated the social scene of my college. I found it to be very superficial and revolved almost entirely around drinking. Later I realized that while this was true for the people I was surrounding myself with, nobody forced me to surround myself with those people. I did it because I thought that this was the only way to enjoy college, and if I didn't, I would be missing out on the experience of my life. Man, what a load of BS I let myself believe. This expectation set me up for failure, and I blamed myself entirely. I thought I was worthless, a loser, and that all the mean things people said about me in my hometown back in middle school were true. I fell into a deep depression and eventually dropped out.
Towards the end of my time away at this state school, I saw a psychiatrist who prescribed me Adderall and Xanax to treat my depression and learning disabilities. In the beginning, they worked wonders, but they certainly didn't solve the underlying issues, they actually made them worse. After I dropped out, I began to rely on them completely. Before long, I was blacking out all the time as a result of the Xanax, and up for days at a time as a result of the Adderall. It was always one or the other, and I had to use the other to counter the negative effects of one.
For the next few years, I battled with addiction and depression to the point where I felt hopeless. I would get a week or two or three sober, then relapse. Somehow I managed to go back to a local college during this time, but my grades were mediocre, because I would miss a week of school every time I would relapse. Eventually I went away to rehab for four months. This is where I started to learn Python. I was very fortunate to have parents who loved me enough to spend the money to send me to a place for four months. I know not everyone has this privilege, and it is my goal to pay my parents back the money they spent on me.
The rehab I went to was basically in the middle of nowhere, and while I was inpatient the first month, the last three months I was in what was essentially a nicer version of a sober house. I worked part- time at a restaurant (~20 hours a week). I had computer access, and I found myself very bored during the first week or two, so I decided to learn something I had always wanted to learn: Programming. I bought a few courses off udemy.com
for ~$12/each (NEVER pay full price of a Udemy course. You can always get them discounted), and started learning. Pretty much anytime I wasn't working or going to AA meetings, I was programming. I essentially replaced my addiction to drugs with an addiction to learning. I really enjoyed it, but in hindsight, I overdid it, as any addict does. I came home after four months, and I fell back into old patterns, and relapsed just before I would have been 6 months sober. I will go into more detail about this in my posts in addiction
During my time in rehab, I completed 3 Udemy courses on Python, but honestly I only really learned the fundamentals. I've never been a very quick learner, as I have a processing disorder (I was always the last one to finish tests in school and it always took me longer to do assignments etc). I frequently got frustrated, and rarely took breaks. I would spend 4-8 hours a day practicing coding, but much of that time was obsessing over one thing that I couldn't figure out. This was a big part of why I burnt myself out. Later, I found that if I ran into a problem I couldn't figure out, and forced myself to take a break, 95% of the time I would figure it out within 10 minutes of coming back from a 15-20 minute break. The mind is funny like that.
Fast forward about 6 months and I was back in rehab, this time for only 30 days. I came home and luckily got an internship at a very small investment firm, where they used python to trade stocks algorithmically. There, I had a boss who was a very good programmer, and he gave me real projects to do that required me to think critically. He rarely gave me any help. Most of the time when I asked a question he would say "I know the answer, but you have to figure it out. It's the only way you'll learn". This frustrated me at the time, but looking back it was probably one of the best things anyone ever did for me. I developed resourcefulness and patience, two incredibly imperative skills for any programmer who wants to be worth his/her salt. During this time, I was taking a few classes at a local college to finally finish my degree, and I was working anywhere from 15-40 hours a week at this investment firm, unpaid. I honestly worked a bit too hard, I almost burnt myself out again, but I managed to get through it. I was very lucky in that my parents helped me financially during this time, which allowed me to focus more on school and work. I had a few relapses during this period, but they were short and mild, so it didn't throw me off track too badly.
Over this past summer I finished up my degree (I majored in Business) and started looking for jobs. I was sure to put as much of my accomplishments at the small investment firm that involved python on my resume as I could. Covid was (and is) still wreaking havoc on the economy, so I worked extra hard applying to jobs, making connections, and keeping my skills sharp. I honestly probably applied to over 2500 jobs. I only got maybe 3-4 interviews. I had one during the end of the summer that went to the final round, and I was sure I was going to get the job. I didn't. Instead, the company (according to a connection I had made within the company cold-emailing people) decided to hire people from India to save money. I definitely felt pretty hopeless at that point. But I didn't give up. Maybe a month later, I got an interview for a job at a major company as a Data Analyst. I had three rounds of interviews plus I had to send them examples of some of my Python projects. I didn't get my hopes up like I did last time, out of fear of being disappointed. To my surprise, I got the job. I had asked for a 50k salary. They gave me 60k base plus a 5k bonus contingent on my performance, plus great benefits.
I've been at this job for a little over a month, and I honestly love it. I find myself excited to go to work every day, and the people really like me because I am able to provide real value to the company. In my first month, I worked a lot on automation of otherwise very manual tasks (usually involving excel or emails). I would ask people how many hours per week they would generally spend on such a task and wrote it down. I recently did the math and realized that I have so far saved the company over 750 hours of work per year, and that’s a conservative estimate using a 48 week year (to account for holidays, vacation etc.) and the low end of their estimated range of hours per week. This frees the employees up to work on more value added (and frankly much more interesting) projects. My work there is just beginning, and there are a ton of projects I am really excited about.
### (Please go to the next ### if you have no interest in hearing anything non-Python related)
I can honestly say I am happy now. I have over 4 months sober, and I rarely have any cravings to use drugs anymore. I really think this is largely because I found purpose in my life. That said, I still attend AA meetings often because I know I have to keep my sobriety my first priority. Without it, I have nothing. I also know that life isn't going to be perfect every day. While I do consider myself happy today, I still have bad days. Such is life. I stopped expecting to feel good all the time. Life is not designed that way. Before, I was only "happy" if I had a substance in my system. Also, "happy" to me was a euphoric rush which felt good, but was never fulfilling. Now I define happiness differently. It doesn't mean I feel good all the time. It means that despite sometimes not feeling good, I can appreciate how lucky I am to be alive and how blessed I am to have been given a second chance. Getting out of the rut that I found myself in a few years ago was the hardest thing I have ever done, but it was 100% worth it. At the risk of sounding corny, I really do believe sometimes you have to fall down hard and struggle getting back up to appreciate your life.
Learning Python was part of my journey, and it wasn't easy at all. When I started, I had a lot of doubts that I could do it. I didn't think "people like me" would be successful at something like this. Again, I was wrong. While I am certainly not even close to an expert at Programming/Python, I am good enough to be hired at a large company and good enough to make a difference. I'm sure there are people on Reddit and elsewhere that could make me look like I started programming last week. But I try not to compare myself to others. I instead try to compare myself to who I was before, and who I want to be in the future. As I’ve said several times before, I will make another post with more details about my experience with addiction/depression and give my general tips for life there, but for now here are my general tips for learning Python:
- I suggest starting with the fundamentals. I used Jose Portilla's Udemy course for this and it was great. I will link it at the bottom along with some other resources.
- If you struggle motivating yourself to follow online courses, try figuring out a real project to do that can actually help you in everyday life. This could be automating something you do in your job, for school, or just something you think will be fun.
- Work Hard. Don't give up. But don't burn yourself out. Take frequent breaks, especially when you get frustrated.
- Ask for help. If you’re struggling with a specific problem, learnpython is great, along with Stackoverflow.com . People have helped me with many problems there.
- Trust the Process. Programming is a lot like learning an instrument in my opinion. At first it can be grueling and you won’t be able to do much for a while, but after you learn the fundamentals, it becomes incredibly enjoyable.
- Be consistent. This is extremely important. Try to set aside a time every day to practice. Even if it’s only 20-30 minutes.
There are many more tips that I have but those are the most important ones I can think of. Please feel free to follow me as I hope to be quite active on reddit in the future. If you have any questions, please message me. Whether it's about Python, Addiction, Depression, or whatever else. I'll do my best to answer everyone I can.