DEV Community

loading...

It is hard.

Opeyemi Stephen
A trusted voice,a cool head and an undaunted initiative in messy situations. Currently getting my butt whooped by JavaScript.
・1 min read

I started coding sometime in February. I was in a really bad place, depressed and almost suicidal. I tried to find purpose in my previous career, Structural Engineering but it just wasn't for me.

I met my mentor through a mutual friend and he put me on the right path.

I don't know if I am going to be a good developer. I find myself forgetting things and feeling like there is so much to catch up on and study on and it makes me feel like I am not doing enough.

I cannot seem to understand JavaScript and how to apply it. Been studying JavaScript since march and it just seems like I am moving around in circles. I get the hang of it right away when I study and then I forget the next day.

Coding is hard!!!!

But with the right experience and mentorship...I will touch the clouds.

Discussion (24)

Collapse
mykezero profile image
Mykezero

Coding is hard. Not in that learning syntax is hard, but in that, it is a continual process of learning. If I started over and I had taken the same learning path as you and the same amount of time spent, we would both be in the same place.

I think one key aspect of learning programming is having a project that you look forward to making progress on. I believe that's what gave me the focus and drive to really learn to program. Otherwise, I would have to sit down and read articles on various programming topics which would be really boring.

Eventually, over time, you will build your fundamental programming foundation which will hold up every other concept you will need to learn. In my first job, I knew nothing about databases, services, frameworks, or the front end: I only knew my core programming language well.

As far as learning how to apply JavaScript? Build some simple things like calculators, to-do lists, and others like them. I've also been a fan of scraping web pages for useful information. One time, I built a video link scraper for Bing. One could do the same for scraping links/descriptions from google:

https://www.google.com/search?q=programming+trends

With a quick adjustment to that query string and a little research into how to fire an HTTP request to get the information, you could build your own programming trends feed.

But I do believe working on things you find useful and that brings forth that energy and enthusiasm in you are what will keep you wanting to learn to program. And one day, with time, everything will just click and the world of programming will seem less scary.

Collapse
resourcefulmind profile image
Opeyemi Stephen Author

Thank you, Mike. I love your take on building the fundamental programming foundation. There shouldn't be any rush...I will put that into consideration.

Collapse
danstockham profile image
Dan Stockham • Edited

In my experience, my first serious language when I started learning software development was JavaScript. I'm in a much better place now and have succeeded. However, if I had to do it all over again I would of chose a much more mature language like Ruby or C#.

Like what Swann Polydor, JavaScript is an anarchic system that any beginner trying to build anything real-world is going to be caught with their head spinning and more than likely: a.) give up and assume they're not cut out to be a dev or b.) get through out but pick up a lot of bad habits while learning.

But I won't pull anyone's leg here, code is hard even with these mature languages.

Collapse
resourcefulmind profile image
Opeyemi Stephen Author

It sure is Dan...I feel a lot much better talking about these things with "strangers" who understand and actually know what the experience feels like.

I have spoken to a few friends I have but they do not really understand so all they say is "You'll be fine".

Collapse
danstockham profile image
Dan Stockham

Software Development is a pursuit done in solitude majority of time. A lot discovery is done by oneself while working on your own ideas. Yes, it does propel ones career when you do your work with others, or on a team. However, the learning process really comes down to the individual.

The encouragement from friends even in passing acknowledgement I wouldn't discredit. You have to take the support you can get no matter how small it is

Collapse
thefern profile image
Fernando B 🚀

I'd recommend going through fcc curriculum freecodecamp.org/learn go through the javascript portion there as it is well thought out. Whatever you learn you have to apply it into projects else you'll quickly forget. After you do a few dozen projects you'll start to see patterns which will help you complete future projects quicker.

On another note if you ever feel like you need to talk to someone please reach out to someone.

Collapse
resourcefulmind profile image
Opeyemi Stephen Author

Thank you so much. I will be sure to reach out if I need to talk to someone. This is the best community I have ever joined

Collapse
darkwiiplayer profile image
DarkWiiPlayer

Learning programming takes time. You can "learn a language" quickly, but the important part is to build a good mental model of countless patterns and systems, which will just take time no matter how you go about it. We've all been at that point and I still remember the moment when I realized I don't need to compare variables to true or false in an if condition :D

Collapse
danieluhl profile image
Typing Turtle

Thanks for speaking up, I totally agree. For me it never gets easier but I think I've become accustomed to the difficulty and actually start enjoying it sometimes. I get excited when things aren't working because I know I'm about to discover something new!

Collapse
dansilcox profile image
Dan Silcox

Hang in there - I’ve been a developer for 15 years and still sometimes feel like I don’t know what I’m doing! But other times when everything ‘goes right’ it is a great feeling! Feelings are temporary but the learning and the joy of creating stuff is much longer term! :)

We all learn in different ways and at different paces - maybe try a style/format/setting you’ve never done before - if you’ve always done websites, do a simple hello world api, or if there’s something you have never done but always wanted to try, see if you can find a good YouTube code-along or something and just give it a whirl - worst case it goes in your list of unfinished projects, either way you learn something new :)

Kudos to you for reaching out rather than just sitting silently in your frustration though - that’s half the battle sometimes...

Collapse
_bkern profile image
Barry

What exactly are you doing with Javascript? It can be such a giant thing to focus on that might be the issues. The language itself is not too broad but I am confused if you are trying to learn all the frameworks and tooling that comes along with it at the same time? Don't try to learn Angular, Vue, and React etc. Pick one. Start simple. Build little things and then expand and repeat. My two cents: stay away from something trying to start you with the works like (framework, build tool, linting, typescript, some fancy css library, graphql, rest, animation, some reactive library, a neat form library, advanced state management). Start small, start simple, make ugly and poorly coded stuff at first. Later on you can add on and do better.

Collapse
mugzzm profile image
Mugambi

Personally, I'm happy that my coding journey never started with javascript. I'd suggest start with a bit of structured programming with java/c++, i found that these languages helped me understand concepts in programming better, before i plunged myself into the chaotic world, that is Js.
Despite all that, the only way to make it through, is to always be building.
And with google, and the most supportive of communities out here, you'll find how exciting your coding journey will be .

Collapse
kamilliano profile image
kamilliano

Sorry to hear that, it is always hard at whatever stage of life you are.

I started with Javascript and took me ages to get it around my head. Then I started to learn C and I was so much happier, then Python.

I would tinker with some javascript to make your pages more dynamic and interactive but I would not go too crazy over it. I mostly did jQuery to tag various HTML parts and having that layer on top of Javascript made my life much easier.

Coding is not easy, but what is more difficult is problem-solving and understanding the problem that you are trying to solve.

I am more visual person so sometimes I just try to draw the problem first and try to determine what elements need to talk to each other and how. Whether there are functions in your code, of parts of a large system the principles are very similar.

If you find it hard, remember you are either learning a vast amount of stuff or don't fully understand the principles yet. On the other hand, if it was dead easy for you, you would get bored and you would get depressed as well.

Remember to give yourself some rest as well so your 'head' cpu is not at 100% all the time. Otherwise, you gonna keep feeling like crap and the whole experience is going to leave a negative sentiment with you.

Good luck.

Collapse
resourcefulmind profile image
Opeyemi Stephen Author

I find your comment very comforting and insightful as well.

Getting to understand the principles...got it!

Collapse
aoussiadmehdi profile image
Mehdi Aoussiad

It's never going to be easy. Keep that in mind. But practice, passion, commitment, and hard work, will make the perfect.
So, never ever give up!
Another point, you don't have to remember everything in programming because there is something called Google(the best developers friend).
Practice makes perfect.

Collapse
resourcefulmind profile image
Opeyemi Stephen Author

Commitment, Hardwork, Google, and Practice!

Thank You, Mehdi.

Collapse
v6 profile image
🦄N B🛡

The best advice I can give you is to choose one thing and stick with it for a while.

It took me a lot of time and sadness to learn this.

Collapse
resourcefulmind profile image
Opeyemi Stephen Author

Thank you so much, NB, I will be sure to give this a try

Collapse
resourcefulmind profile image
Opeyemi Stephen Author

Thank you Swann, I will stick with JavaScript and make sure to update you on my progress. Any ideas on how to study effectively?

Collapse
jesterxl profile image
Jesse Warden

Keep going, you're on the right path. 💪🏼

resourcefulmind profile image
Opeyemi Stephen Author

I love the sound of this...is it okay to build already-built projects just to say learn the workings? I always feel like I am copying someone else's work when I do that

Collapse
pomfrit123 profile image
***

I can help you, just ask me anything.