How I failed at learning JavaScript and Python and what I learned from it

in #steemit7 years ago

StockSnap_F02M1ISFWV.jpg

When I was 17 years old I was in a big need of money. I was making something from YouTube by promoting music for artists that weren't so known, but it wasn't enough for all the things I needed to pay for my last two years in high school.

I never had any kind of natural talent for anything besides video games, so I had no idea what I could do, online, to make some money. At that time YouTube was the standard thing, mainly because I did not know you could make money in other ways.

After doing some research and asking some people, I discovered that making websites and selling them online, to other people, could get you a lot of money. I wasn't impressed until some people told me you could make around $500 easily if you knew how to create, how to sell and how to maintain websites. For me, $500 a month was a huge amount of money, so I instantly got excited.

I spent some more time searching for the things I needed to learn, and eventually I met a guy who was working as a web designer and developer, and asked him for advice. He told me all I needed to know, and told me to learn HTML, CSS and finally PHP. He told me I could also learn JavaScript, but PHP was more important to create WordPress themes.

I listened to his advice, I learned HTML and CSS, spent one year practicing, learning how to build a static website, using shapes and images. I was actually becoming good at something I never knew I could do, and that felt great. It felt even better when I learned some JavaScript, some jQuery and finally, Bootstrap. I also tried PHP, but I just hated it.

However, I failed at web design for a few very stupid reasons. First, a financial problem. In order for me to sell websites I needed a portfolio, and my plan back then was the sell enough websites on ThemeForest to build a portfolio, and then maybe get a few clients.

The only problem I did not see coming was that on ThemeForest you need to host the website yourself in order to have a live preview for your customers to see before buying your product. I had no money to keep a website on a host, no matter how cheap it was, because all the money I had back then went into buying things for high school.

The second reason I failed was because I wasn't really aware of all the things I didn't know. I knew how to build a decent responsive website, but I had no idea how to do anything else. When I sent something to ThemeForest and they rejected me, I was confused, I didn't really know what I did wrong.

StockSnap_DWX9IVVCCX.jpg

I asked for some advice, and did some research. I found I wasn't even close to being a good web designer or developer. I was only at the beginning. I realized I spent more than a year trying to learn something, and I wasn't able to even make $10 from what I was able to do at the moment. Everyone I tried to work for asked me for a portfolio, and I couldn't show them anything because I did not have anything good enough.

So I just gave up. After trying for so long, I wasn't able to do anything with HTML, CSS and JavaScript, so I just gave up. I deleted everything I had on my computer about web design and development, and I kept trying to make videos on YouTube and learn Photoshop.

A few months later I had a few problems with my computer, really big problems, and I lost the majority of my files. I initially thought the problem was because of a hardware failure, but then I realized it wasn't. It was something related to my Windows, a stupid update that resulted in me loosing everything.

At that time I was curious about Linux, and since I was so mad about what happened to me on Windows, I decided to try something else. I tried using Ubuntu, and I did that for a few weeks, then tried Linux Mint, then tried Elementary OS (at the time it was free), and all kind of versions of Linux. After a while I just kept using Ubuntu because it offered me everything I needed to just work.

So I avoided using Windows for around 6 to 8 months, time in which I learned a few things about Python. I found it was a nice and easy to learn programming language that was extremely easy to read and write.

I got in love with its simplicity, so I started learning how to code in Python. I spent a while learning, created a few small applications, and when I finally got close to learning about Object Oriented Programming, and about Classes in Python, the worst thing that could happen at that time, happened - my YouTube channel got canceled.

Apparently an artist with 100 subscribers did not appreciated me promoting his song on my channel with over 10.000 subscribers, so he made a few copyright claims and my channel got deleted.

The main problem was that YouTube, at the time, was the only source of income I had. I was receiving a stupidly low amount of money for the work I was putting into finding nice songs, creating videos and uploading them, but at least I was getting something at the end of each month.

I was so desperate to get money that I had to quit Python, knowing that I wouldn't be able to make any money with it for a long period of time without knowing how to code really well, and I started learning again, what I started learning a long time ago, when I was 14 years old - graphic design.

After working as a graphic designer for a while I wanted to go back to Python, and I did. Sadly, my computer was, and still is so old, it cannot run newer versions of Linux, so I was stuck with old versions, that are slowly loosing any kind of support.

I tried learning for a while, but it was harder this time. I had to do multiple things, and Python slowly became a distraction. I forced myself to read about it and practice for at least two hours a day, but then I got to Object Oriented Programming and to classes in Python, at which point I stopped learning at all.

I needed way more time to understand those things, since I'm not a very smart person, and because working as a graphic designer did not go so well, I had to stop everything related to Python and focus on my work in order to get paid better. I started learning a few advanced things in Photoshop, I started learning Illustrator and finally, a little InDesign. Then things got just a little bit better.

I still regret the fact that I stopped coding. I mostly regret not sticking with web design and development. I had some knowledge in that field, and now that I think about it, I could've become a very good web developer or designer if I would've kept working.

StockSnap_W0RUS6FWBJ.jpg

This post is called "How I failed at learning JavaScript and Python and what I learned from it" because JavaScript and Python were the two programming languages I wanted to learn, and I failed at both of them. However, there are a few things I learned from that experience that will help me in the future, and that may also help you.

One thing is not giving up no matter what. Right now I could be making a lot of money creating websites, but I gave up on that a long time ago, because instead of trying harder to learn what I had to learn in order to make more money, I decided it is not worth my time, that I can't learn all those hard concepts and that I was never gonna make anything.

So I just gave up when I shouldn't have. It was almost the same with Python. I got, multiple times, to certain points where I gave up because I did not understand certain subjects, like Object Oriented Programming, and Classes.

I realize now how far I could've gotten if I didn't give up. I realize I could be developing software and make tons of money from that. I don't regret writing this, I don't regret being where I am right now, but I do regret not having another skill just because I gave up in the past.

Another thing I learned from this is that I approached programming the wrong way. I believed that programming is all about the programming language, and that once you know that, you're good to go.

However, programming is not about a programming language. That's only a tool you can use. Programming is about problem solving, is about creating.

One last thing I learned is that you could spend years reading about programming, but if you don't actually code, if you don't actually create something, you'll fail.

I realize now, that I spent too much time reading and trying to learn something from websites and e-books, than actually coding and creating something. That made me want to quit when I encountered things I could not understand.

Now that I know those things I will give another chance to programming, in the future. I'm working to get a new computer right now, and maybe even a laptop. I want to start coding once I get those, because right now I need to focus on working for money.

However, I won't do the mistakes I did in the past. First, I will not give up just because I don't understand something. I'll keep at it until I get it, no matter how much time it will take. That's one of the main things you need to do when learning how to code - not give up.

Second, I'll stop thinking about money, and I'll focus on learning for the sake of learning. I want to learn how to code because I find it interesting. That should be my main reason. Money is a poor motivator. And if you want to learn how to code, you should do the same - learn because you want to, not because of money.

And finally, I will start learning how to code by actually creating little things, not by reading and watching others code. You could be the best at remembering all the theoretical things about programming, but it's worthless if you can't actually code and create something. That's what I'll do to learn how to code in the future, and that's what you should also do. Focus more on creating, because theory is good, but it won't get you a job.

Sort:  

Hi Raikuhen, thanks for sharing your experience. I have much less programming experience, but have also failed many times.

I've been meaning to write some Python code to scrape a website and compile the data into a searchable database, but with my level of skill and available free time, it will probably never happen. :)

Since it sounds like you want to start learning Python again, let me propose something a little crazy to you in the spirit of Steemit:

What if you took on this project for me as a way to learn Python and build something with it (as you described the best way to learn)? The crazy part of my proposal is that I would pay with STEEM or SBD (or some other crypto if you'd prefer, but doing it with STEEM would be cool).

By all means, you can ignore me or decline my offer, but I'd like to see what kinds of economies we can build within Steemit and your post made me think it might work in this case.

Also, if the code works, it will actually be a pretty useful tool for you to use as well.

If you're interested, let me know. We can discuss details on steemit.chat or discord if you want.

Thank you very much for your comment and for your answer.

I would be happy to help, but sadly, I have a lot of things going on right now, and it's hard to keep up xD I work pretty much all day, since 8 in the morning till almost 10 PM, and I really don't have any time to do something else.

That's the main reason I stopped learning Python a while ago and why even tho I want to learn it, I can't, because I know it would be a distraction if I don't have enough time at my disposal to focus on learning.

But thank you again very much for your comment and offer :)

No problem. Good luck with everything else. See you around steemit!

Out of curiosity, what kind of idea did you have in mind for your scraper?

Not trying to subvert your invitation to @raikuhen or anything, but I may be interested in contributing if I can, depending on what it involves. I do web development as my full-time so I have some expertise, but I also enjoy opportunities to expand my knowledge as well and if I can do it in a way that contributes back to the community, even better :)

Of course I also understand if you'd like to keep it private. Let me know what you think.

Hi xerdo, so I'm not sure about the feasibility of the project, but I would like to scrape the data from this website: http://www.equityswing.com

It's basically just a stream of "block trades" (which I could explain further if needed).

It requires a login, but it's free. Currently, it's a very useful site, but the search functions and ability to analyze the data is lacking.

If you're interested in discussing further, we could use steemit.chat, discord, telegram, etc.

Thanks for your interest!

Well, I don't know much about it but it sounds like it could be fun. Hit me up on discord my username is xerdo#0333

I don't have much time to look into it right this moment but I'll probably have some time this weekend to poke around a little bit on the site to at least get an idea.

Thanks, I sent you a friend request on discord.

I'm sure I or one of my programmer friends would be happy to teach you Python. I know one of them is talking about starting a YouTube/SteemQ channel and also setting up hands on guided tutorials. Besides all the other crazy projects we all do.

Wow, thank you very much for your kind offer! Sadly I can't and I really don't want to start learning Python right now, I have so many things to do, I don't want to make the mistake I made in the past.

I work since I wake up till almost 9 or 10 PM, so, sadly, learning Python would be a distraction right now, but I'd really love to learn it in the future after buying a new computer and making kind of a stable income.

But thank you again for your offer, and if one of your friends starts a YouTube channel teaching Python, please let me know, i'd be happy to subscribe to it for the future :)

In case you're looking for some other resources, personally I think coding challenges are a great way to learn (top 10 list of some good sites), but there are also some good sites dedicated to just learning - Codeacademy is the main one I know of.

Personally I think learning even in small doses is helpful even if you don't have a lot of time, so long as you can do it at least semi-regularly. Just a thought :)

Yeah I think those are good too from @xerdo and more interactive use of python. You sound like you need also some reflexive memory (practice memory) or are a kinetic learner (learn by doing learning style.) You should continue working and get stable. Also I would instead of going crazy with python.... slowly learn it... just regularly take 30 minutes and then stop at 30... or similar... there are also ways to practice python over the internet... that has been part of our test video shoots we have done.