Frustrations of learning programming/web development

Hi guys…

Thought I’d post here since I don’t really know where it belongs. I’m on ‘basic algorithm scripting, JS’ on FCC atm and its so difficult…Almost every challenge leaves me in tears as I spend hours and hours understanding how to solve it.I’m 24, started programming 2 months ago to get a job…Still feels like I should be better at this…I feel so stupid. Sorry!

Learning anything new is hard. Learning web development and programming turned out to be extremely hard. But it shouldn’t be – after all, isn’t Java Script (PHP, Python, what have you) just another language? I’ve always been good with languages. Hey, I’m even writing short stories in English, which is not my native language. I did very well in French and Spanish. I was decent enough in my own native language. So, why is learning programming and web development sounds like a tremendous challenge?

It could be because I’m a girl. No offence, ladies, but I must have been brainwashed in my formative years to believe in male brain’s superiority to ours. “Programming is an excellent job for boys”, - I can almost hear myself saying. Obviously, this is no excuse anymore – it’s 2017 and a woman has almost made it to the White House recently!

It also could be due to lots and lots of maths involved. At school, I wasn’t a huge fan of STEM subjects: I was more of a social studies kinda girl. Since then, I guess I have labelled myself as a ‘humanities person’ dismissing the possibility of ever learning anything technical. Despite the above fact, I managed to get a drivers licence a year ago. I am a competent computer user. I know how to use kitchen appliances. So, excuse #2 doesn’t stand a chance either.

Recently I’m more and more inclined to believe that I’m just not smart enough. My IQ is too low to grasp the programming principles in a few days and then start building amazing apps and earn millions of dollars. On the contrary, creating a simple portfolio page took me a couple of weeks, and some FreeCodeCamp challenges leave me frustrated for days. Without amazing apps and flowing cash, I started questioning the reasons behind this, which understandably point to myself.

“Something must be wrong with me”, - I keep thinking. I promised myself to commit to programming every day until I reach perfection (or, confident knowledge at least). The whole reason why I started on this rough track was to secure myself some employment which is quite difficult to find for an immigrant like me. Surprisingly, I found myself beyond curious of Computer Science subjects and highly motivated to tackle the difficulties, which I haven’t experienced in a long time.

Every day I sit in front of the computer and try to learn something new. I try to solve something, I get stuck, I feel crushed and demotivated. I go to sleep with a sense of failure and determined to do things differently because somehow what I’m doing is not enough: it all seems wrong. I am, to tell the truth, a perfectionist and have somewhat unrealistic expectations of my own imperfect self. To make things worse, the subject that I’m studying is, in fact, hard, especially at the beginning. The goal of becoming a programmer and a web developer will take a lot of time and there are no guarantees in the end. Neither there are any immediate results which I could harvest and enjoy in the meantime.

So, folks, here I am, doing something hard and frustrating. I know that life is hard. No one promised ‘a walk in the park’ kind of life in another country, or anywhere, to that matter. However, I’m overwhelmed with negative emotions trying to learn programming/web development…

Thank you for listening!

31 Likes

Hi Sonicakes,

First, your struggles have nothing to do with your intelligence or your gender. freeCodeCamp is very much about independent, project-based learning. This is a very effective, but very challenging, form of learning. It often has big leaps which require a lot of reading of different sources to completely understand… and even then one may not completely understand it! I struggle at times and I’ve had quite a bit of experience with different coding and scripting languages.

My advice would be to relax and just enjoy the learning. Go as slowly as you need to. It’s not a race. I started off trying to rush through all of the tasks and projects, wanting to get my certificates as quickly as possible. But that just made me frustrated and made me doubt my abilities, and my intelligence as well. Now I just try and enjoy the projects. If I don’t understand how to do one part I start with the parts I do understand. Then I just break it up into smaller tasks to do one by one. And if I don’t know the answer I look up each of those little tasks in the FCC forums, StackOverflow, Google search… any place I might find an answer.

To be honest, often I don’t 100% understand what I’ve done even after I’ve done it! But all of this knowledge builds gradually, and it’s only after we’ve built a decent ‘library’ of knowledge that we can look back and say “Ah, now I understand that first task!”

Hang in there. Work slowly but steadily towards your goals. Don’t feel ashamed if you need to consult with other resources online - that’s the whole point of freeCodeCamp. And if you have any problems, or need any explanations of concepts, you can always ask in the forum. I’ve found people very helpful and friendly here.

Best regards,
Ali

26 Likes

This will be a multi-part response to your post:

FIRST: Have you tried video tutorials at

or watching some youtube videos, or a classroom-type instruction setting? In a community college or something?

FCC may be super hard for absolute beginners. Especially, if you don’t have prior experience with programming. I say try other learning methods, maybe you’ll find something else that will click with you. Then come back to FCC again.


SECOND: Other than the obvious reason of “getting employment and making million$”, why do you want to learn web programming/development? Do you have another reason for wanting to do this?

If “getting a job” isn’t your (primary or only?) goal, would you still want to continue learning web programming/development? Or would you rather do something else that you like?

And if you finally “got a job” as a web developer/programmer, would you stop feeling miserable? or will it just continue or maybe even become a bigger problem – more misery.

In other words, are you finding any joy or satisfaction, or feeling of accomplishment doing this type of activity? (forget employment for a while)

Do you really want to do this? (back to my first question)


THIRD: A little aside… I have a 19-yr old daughter. I thought she’ll grow up wanting to be an engineer or web dev/programmer, like Dad. But nope… she doesn’t have any interest in it. Not one tiny bit!

She also doesn’t like math or diff equations or calculus, but she’ll eventually get B+ or A’s on it at end of school year – because she’ll put in the hard work. But she doesn’t enjoy it. She’s got no interest in web design or electronics, so I guess she won’t be carrying the family business either.

Do I consider her a failure or dumb? HECK NO!

She is smart. I hate to admit it, but she’s smarter than me at that same age! She’s oozing with talent, more than me and my wife combined. She can memorize hours worth of her lines, and songs when she acts in a play or sing in a musical. She can play the piano, sight-read a piece of music and play very well. She’s a gifted writer and speaker, (even presented and talked at a TEDx conference about body positivity and acceptance, way before it was a thing). She’s in forensics, speech, debate, and winning or placing a spot. She can even speak some spanish. None of these things I experienced or know how to do!

The closest thing she had come to “web design” is running and writing her own articles on her own blog site (that’s how she got noticed and invited to the TEDx conference). She did get into photography and likes it (but only when using mom and dad’s prosumer level camera.) One time she needs to do a compilation and edit videos and after just a few minutes of instructions from me, she said thanks, took off running and can comfortably use Premiere Pro video editing software and finished her video project.

But CODING? She doesn’t have any interest in it. I’ve offered to teach her, introduce her, nope… no interest in it. She did update and customize the WordPress theme of her blog (on her own initiative)… I would consider that a small “win”, and say that’s the closest she’s come to “coding.”

Why am I saying this? I’ve come to accept that my own daughter will not get into coding. Not because she’s not smart - it’s because her interest doesn’t lie in it. She won’t be going to San Fran and work in a startup or be part of the Silicon Valley culture there. Those were my dreams, not hers. She has her own strengths and what she wants to do, and that’s where she’s heading. I can probably force her to go in that direction, but she won’t be happy and she’ll just get angry at me. So I’m not forcing her. Based on her own talents, she’ll find her own place in the world. I have no doubt she will, and she’ll be good at it too.

So to you, don’t think of yourself as dumb because you can’t code. Or you don’t get this coding because “youre a girl.” My goodness, you can speak 3 languages. That’s not a sign of a dumb person. So don’t think like that. I think you need to step back, and evaluate and understand your strengths, talents and interests, and what you really want to do. If money is out of the question, what would you rather do? Will it still be coding? Find your real interest and cultivate that.

PS: If you finally find that thing (or things) that you’re good at, and that you also like to do, money will follow.

22 Likes

Yes, there are a lot of concepts to understand almost simultanously, especially at the beggining - but later we just build on foundation of our previous experience. And how one builds experience? You just described those feelings perfectly. I’m sure that you’re learning a lot everyday. It’s just so hard to track progress in this period of time when we don’t have visible results - but the truth is that we learn a lot when we struggle with some problems.

I wanted to feel that I’m on the right track during my learning process, so my solution was to create a Trello board to track my progress and to set goals, maybe this would be helpful for you too. It looks like on the image below, I created few columns, first one is called “Everyday and Recurring”, second one “All goals”, third is “Goals in progress”, fourth “Achived Goals”, and the last one for “Finished Projects”.

When I find some interesting material, article, youtube playlist or ebook, I just add this as a card so I won’t forget about this. You could for example create card at the end of a day with a short note about what you’ve learnt during this day. If you feel that it’s something that is imortant to remember, you can set this card as recurring in for example weekly intervals.

At the and you can take a look at your board and see all projects that you finished, all things that you learnd, all your goals in one place - it helps a lot when you feel demotivated.

EDIT: Ok, currently I’m trying to improve my English a little bit, so every occasion is good for me now to write something :stuck_out_tongue: I wrote a separate blog post with a more detailed explanation of my learning process at the moment. I hope that it would be useful for someone who is stuck or overwhelmed. Thanks, @sonicakes for starting this discussion and here is the link https://medium.com/@paweltargonski/how-i-organise-my-learning-process-b6205d3d8de7

13 Likes

Hi owel,

Thank you for your feedback.

First - no,I haven’t tried Udemy yet but already bookmarked it and going to try out very soon! I’m doing Lynda.com tutorials, I find them useful and they are part of my Study plan (ie no extra pay for Lynda.com ‘pro’ account). Also looking into Codeacademy and whatever free resources I can get my hands on. I am doing a degree in Arts-Web design online, so I’ve got some sort of ‘classroom’ setting. Bu there’s no degree for programming available through that system, hence programming learning on my own. Full time uni is out of the question (money!), besides I’ve already got a useless degree from my native country (wasn’t useless there BTW).

Second - I have to admit, getting employment is the main reason of learning to code. I’ve been struggling with finding a job (ANY job) for 2 years, I really tried something like cleaning jobs etc. but to no avail. I researched a little what’s in demand and coding/developing is what people do if everything else fails. Besides, looking into 25 years ahead, more and more jobs get automatised so I decided I need that technical knowledge. However, I’d rather code than clean hotels or work in a kitchen, as I don’t see how my physical health would allow it…And I still hope to utilise my brain somehow.
In saying that, I enjoy learning new things and find some level of satisfaction in making websites/finding solutions to problems through code. I hope it’s just the beginning that’s rough. I think I’d feel great if I had a job as a programmer and would do my best to grow and develop my skills.

Third - your daughter sounds like a cool person. You must be really proud! I’m glad she is so talented in many ways.

Yes languages are great but unfortunately pretty useless in my situation :slight_smile:

Thank you for your advice and insight!

1 Like

Hi Aldek,

I agree that gender and intelligence are no issue here. It’s just how my train of thoughts went…Trying to find reasons ‘why’ nothing happens after only a tiny period of time.

I understand about trying to rush into completing tasks and certificates, I should really slow down. I’m probably worrying too much to doing it as fast as I can.

Thank you for your response and advice!

1 Like

If your background/strength is more in the Arts/Web Design, have you checked out doing something like UX/UI Design to get into this web development field?

UX - User Experience, UI - User Interface

Some bit of info:
https://careerfoundry.com/en/blog/ux-design/what-does-a-ux-designer-actually-do/

So basically, you’ll be telling coders what to do in designing this app or website, hahahaha.

Honestly, I know someone (about same age as you, maybe older… my daughter’s Equestrian instructor) who landed a job as a UX/UI designer… now making good money, working in a healthcare company, doing in-house apps.

3 Likes

Hi paweltar,

Thank you for your advice!

This board sound like something I could use. How did you make it? Are there any guides/templates/intructions how to set it up or just creating HTML page with CSS and JS?

Cheers

Good idea. I really want to gain skills in both - I want to say I’m a Designer as well as a Developer so my chances of employment are higher. Don’t know if that’s achievable in real life but I’ll try my best!

Sorry, I didn’t paste the link :slight_smile: No need for coding, you just create profile on Trello https://trello.com/ and then you can create private or public boards and use them to organise your progress however you like. For me, it is very helpful and I use this everyday.

2 Likes

###Great Post
you are very honest
###Stick With It
you’re english is fantastic as a second language but programming languages are logic and math combined with the wording and syntax. maybe you need to take some math courses. but i think you said you have been at it for two months…1.5 for me…it is going to take a while to train our brains to do this. 10000 hours they say to “master” a skill. something to think about.
###I Am New Too
when I first got here nothing made sense. now i can read someone else’s code and understand it. so in that way you are right about languages
###Reinforce
I like to write down my own notes even if I am doing a video or web tutorial. It gives me something to read again and it reinforces the information in my little brain. it really works.
###Millions of $$$
I think to myself that I will create the next Google once I learn enough on Free Code Camp. While money is a motivating factor for me, I have other reasons for doing this…like it is FUN and gets my afore mentioned little brain to work. In reality I would be happy making what I was before I quit my old job to do this full time. I just like writing code and designing.
###Don’t Compare
Bad habit. I see a cool site that I and think - I can’t do that. I suck. This is not good. Tell yourself something positive. Like I learned this and this today and made this. I’m a badass.
###You Tube
Watch tutorials. Find good ones. If you want bad ones Watch my Channel
#Good Luck

5 Likes

Thank you! I’m going to try it as well and see how it goes :slight_smile:

Hi benjaminadk,

Thank you for you response!

You’re right it takes more than a couple of months to master something. And yes, I should really stop comparing ,though it’s very tempting!

I’ve flicked through some of your videos, they are not ‘bad’ at all! Great job making videos at the first place! (something i’ve never tried myself).

Cheers

Hi there,

Thank you for the response. Yes, I’m fully aware of insufficient time period I’ve spent learning so far, I guess it’s just a post as I needed to ‘vent’. I will continue improving!

Cheers

thanks. if you need help with a project or have a question you can always see if i have a video on it - many of the videos show the code i use. or contact me here. i quit my job so i do this full time every day. i am always around. good luck again

2 Likes

Hi sonicakes,
I couldn’t help but reply to your post , I know how you feel, It was really hard to get started and still is hard to continue learning new things and retain the information, it’s definitely a challenge but I find persistence is the key for me and looking at the long term goal.

What helped me with the concept of algorithms was cs50, it’s a free course on edx. Although they begin the course by teaching you to code in C, what you learn is applicable to all computer languages.
What I took away from the course is that they are teaching you a way of thinking about and approaching problems to solve, they make it fun too. Even if you only do the first couple of lessons it will definitely get you in the right mindset.

If you need help with any of the basic concepts, pm me or if you really need I’d be happy to screenshare.

in x amount of time when you look back at when you first started and I bet you’ll be surprised at what you will have learned and are capable of.

3 Likes

Hello @sonicakes, and thanks for sharing your story and frustrations, let’s hope that they will be of help for many other new coders as well.

First of all, as a lot of others here suggested, stop comparing yourself to others.
Talent is and always will be beaten by constance and practice, no matter what field we’re talking about; so if you’re willing to bear the struggle that will comes along you’ll succeed. Period.

I just showed this quote:

started programming 2 months ago to get a job…Still feels like I should be better at this…

to one of my seniors in the office (20+ years of experience on the job), he laughed, then replied “Welcome to the club”.
This is just to say that no matter how many years of experience you have, you’ll always feel you could have done better.
But that’s a good thing, it will always keep you eager to do better, if you learn to embrace this feeling as one of your most precious tool instead as of one of your worst enemy.


About learning programming as learning a new language, or as you stated:

isn’t Java Script (PHP, Python, what have you) just another language? I’ve always been good with languages

What you (and all the new coders) often don’t realise is that programming is mainly not about learning to “speak” a language that a computer understands, but learn how to communicate to a computer.
The language to communicate with will come after.

Let me elaborate a bit more about this.

Computers are “pure” calculation logic. If I’d ask you to pass me the bread, and you have a loaf right in front of me and you, you’d know what I’m referring to. Turns out that machines don’t.
Once you figure it out how to properly communicate with the machines, learning a programming language becomes easier… and that’s why generally every programmer knows more than a language.

After a bit of practice you will start thinking “in machine” language, thus writing and coming up with solutions for codes and algorithms faster and easier.

Harward’s CS50, in it introduction to computer science semester goes over this concept in the first week.
Here you can find the video where they make a little experiment to show students this concept of “thinking in machine logic”.

Enjoy your coding journey and please don’t hesitate to ask any question if you have any.
Be confident that one year from now you’ll look back and you’ll see how much road you’ve made and how much you have grown, both as a programmer and as a person.

6 Likes

Hi Nazarja,

I’ll look into edx, since its a free course. Yeah I guess the challenge it to understand all those new concepts and I’m very new to it.

‘in x amount of time’ - I’ve heard something about 100 days of coding, maybe I should try the similar thing and compare my progress at day 1 to day 100 :slight_smile:

Cheers and thank you for feedback!

1 Like

Hi Marmiz,

Thank you for your reply.

Yep - comparing is like chewing nails. annoying habit I need to get rid of…Also perfectionism doesn’t help at all.

Will definitely look into CS50! You are right- I am yet to learn how to think ‘in machine’, write ‘in machine’ etc. All I do is assume that computer knows what I mean (and it doesn’t), this in turn I get confused as it’s obvious to me so why isn’t it obvious to computer as well?? I get angry at computer (which is pointless, and computer doesn’t really care). It will probably take a while to re-wire my brain to learn how to think in a different way, but it’s doable as proved by many.

I feel like all courses and tutorials for programming should start with some type of ‘machine thinking’ intro. To get into the right direction.

Cheers

The video I’ve linked start right when they proceed to experiment a make a PBJ sandwich algorithm where the class dictates the steps and 2 students + 1 assistant pretend to behave like computers.

It’s hilarious and funny and precisely illustrate the point I was making about learning to communicate to a computer.
Good also for a relaxing 20 minutes break :slight_smile:

1 Like