When is it time to give up?

Hey everyone,

So I’m very new to coding, I have zero tech background but I know developers are going to be more and more need in the future so I wanted to get involved. I love challenges, I love learning, I don’t really considered myself below par when it comes to picking up things quickly but OH MY GOSH! I just got to creating a card counting system for BlackJack in Java again and I was so clueless when I got there… I felt like i had learned nothing so I went back to scratch all the way to square one with HTML 101. Erased every code and did it all over again. Took notes, made sure I was understanding everything but every time it gets to the little Mini projects, converting temperatures, the mad libs sentence structure, ect… all the things where you do your own… I become clueless. Well I got to the Card Counting again and I felt the exact same way. I was clueless. I finally looked at the solution which made sense but I NEVER would have come up with that on my own. Not in a million years. Everyone says anyone can learn to code… I feel like I’m ahead of the game when it comes to learning, memorization, math ect but this just doesn’t link together when its time for me to apply what I’ve learned… I feel like this just isn’t for me even though I like it. I absolutely SUCK! Did anyone else go through this? Did you study outside of free code camp? Read books? watch videos? I dunno I feel like I’m missing something really important like maybe a brain…Sorry for the rant, just wanted to hear thoughts. So discouraged…


Cross linking to “Fair warnings to starters”:


Similarly answered in another thread

TL;DR there are techniques you can learn to maximize your learning…


Hey no need to apologize about ranting. I think a good dose of venting one’s frustrations is healthy.

I can commiserate with what you’re going through. Thinking you have a decent, even strong grasp of something to then suddenly becoming unmoored by it.

Personally I’ve been trying to learn JS for the past ehhhhh maybe three months now off and on. So just recently I learned about the Codewars site. I signed up, ready to flex my new scripting muscles and…:boom:

Now I didn’t go whole hog, I started out with the lowest level exercises and it was like everything I’d learned so far went right out the window. I dove into my notes to hopefully spark some ideas but it was like my brain couldn’t connect point A with point B. Like you I looked up the solutions and was seriously questioning what the hell I’d been doing for the past few months lol.

What’s funny is that I had an idea of what I needed to do within a given exercise but no idea how to execute it. I was crushed. And now I’m going back to the very beginning and starting over.

I decided to do quadrupal duty on my my learning between FCC, Udemy, Codeacademy, and Codewars (doing just the bare bones fundamental challenges there). There’s a ton of overlap and a lot of repetition but I find it’s helping. It’s sort of like learning my times tables back in the day. Repetition and practice.

So now when I come back to a concept, like functions for example…I’ll write my notes, write down examples, break the logic of them down into my own words and then do a ludicrous amount of practice exercises just on that concept.

I want to be able to know the ins and outs of functions at the drop of a hat, or how to work with and manipulate an array, or an object. How to utilize them on the fly for any given situation. I want it to almost be like muscle memory. I think then that opens you up to crafting more creative solutions. Or hell, just a workable solution in general.

I hear you though and it’s disheartening to put a lot of time into something and then feel like you’ve come up short. But think of it this way, do you know more now than you did say a year ago? Three years ago? A month ago? I’d hazard a guess that yes you do. And how do you know all this new stuff? You learned it. So keep doing just that. And yeah, read books, watch tutorials, do a ridiculous amount of practice, and absolutely, 100%…take a break every so often. You’d be surprised how just stepping away and doing anything else for a bit helps when you’re hung up on a problem.


Learning takes time, especially when the topic is as difficult as programming. You’re doing the right thing, just keep at it.


This is how I view coding.

It’s a long slow ramp before everything starts to make sense and everything connects together in your brain.


If you enjoy coding, the time to give up is never.



That^ is your problem.

Here is your medicine: https://www.scientificamerican.com/article/the-secret-to-raising-smart-kids1/
(ok, so maybe you’re not raising a kid, but you’ll have to adjust your mindset here)

“society worships talent, and many people assume that possessing superior intelligence or ability—along with confidence in that ability—is a recipe for success. In fact, however, more than 35 years of scientific investigation suggests that an overemphasis on intellect or talent leaves people vulnerable to failure, fearful of challenges and unwilling to remedy their shortcomings.”

Work hard @DaveWave. Plain and simple. Work hard. Your intelligence is an asset, but it will never replace the work you need to put in. Use your intelligence to search for answers everywhere. Use your intelligence to try every solution and rule out things that don’t work. Use your intelligence to debate yourself into knowing you CAN do it. Use your intelligence to spur yourself into working harder, but never rest on your intelligence.


It’s never the time to give up because you shouldn’t give up.


Everyone goes through this. I stumble on this stuff over and over. I have been for over a year.

For me, coding is fun and it gives me another creative outlet. It’s challenging enough to keep my interest, and there are so many examples out there to look to for project ideas. And unlike a lot of creative mediums, I get to see how a person made something in code. Granted, the intricate stuff is over my head, but I can look at a website and then use my browser’s inspector to see how most of the things on the website were made. I can tell that the website didn’t appear out of thin air or in one single moment of inspiration. I can look at the code, see how something was created, see why it was created (mostly), and learn to replicate pieces of it to see if that code is something I want to incorporate with my own stuff.

It’s similar to my relationship with video games. When I was a kid, I played video games a lot—but I was really bad at video games. I enjoyed figuring out how the game world worked, how characters worked, etc., but I didn’t care about beating a game. I just wanted to play around and see what I could do.

I don’t know if you’re hoping this will turn into a job. That was a mistake I made when I first started learning on here. I thought it could allow me to make a career transition if I wanted, and that’s a lot of pressure to put on learning something new. It makes every setback, every stumped moment you have during your learned feel like this huge weight is being dropped onto your shoulders. And every stumble adds more and more weight. It’s an exhausting feeling. When I started to think of learning to code as a hobby, just a fun thing I could do on my own that’s just for me, I started enjoying learning a lot more. The stumbles also didn’t delay my learning as much because these stumbles stopped feeling like failures.

My advice is to just try to have fun with it and don’t put a lot of pressure on yourself. You’re learning something new that’s fairly challenging. You’re going to get stuck, things aren’t going to make sense sometimes, and you’re going to see amazing things written in code and wish you could do that already. If you’re doing it because you enjoy it, all these negatives will feel pretty small compared to those moments when you figure something out.

Everyone stumbles tons when learning to code. That’s just how it is. There can be a lot of value in this constant challenge, though.


You probably know this already, but it always helps to break the problem into smaller parts. Take your big block of code and see where you can break it down into smaller functions. Reduce complexity wherever you can.

Edit: Also, learning this stuff is like 95% perseverance. If you continue to put effort towards it, then you’ll eventually get there.


I finally looked at the solution which made sense but I NEVER would have come up with that on my own.

Yes, me too.


I love this. Thank you this definitely puts a new perspective on how I should view it!

1 Like

Glad I’m not the only one. Thank you for telling me!

Just to chime in with my $.02…

When to give up? That’s up to you. I think one of the dangerous arrogances of our time is the notion of “you can have everything” or “you can do it all.” I would rather say, “you can do just about anything if you want to work hard enough for it and are willing to do what it takes, and to give up what it takes.”

We can’t have everything. We can’t do everything. We can’t learn anything. Is coding something you really, really want? Then fight for it. How much time are you willing to devote? What are you willing to do? What are you willing to give up?

As to getting stuck and confused, we all do that. Learning to code is not linear. We all have stumbling blocks. The great jazz guitarist Wes Montgomery once said something like “Every great guitarist is someone who ran into some difficulty, wanted to give up, but decided not to give up.”

Whatever difficulty you are having, I guarantee there are many that have had the same difficulty. Some gave up. And some refused to give up and went on to be great coders.

What do you want? Do you want to become a great coder? Is it more important to learn Italian? Or drink beer with your friends? Do you have family commitments? I’m not saying that you can’t do any of those other things, but I think it’s important to be realistic and have an honest conversation with yourself. If you want to code well, it needs to become more than a hobby.

This takes years. It is not easy. As I always say, that is a good thing. If this were easy and could be accomplished in six months, everyone would do it and it would pay minimum wage. It is difficult and takes a long time - that is job security.

So, take a deep breath. Maybe even take a week off. And make a list of things you don’t understand. And start checking google (I’m partial to youtube videos) for explanations. Ask the forum. The more specific the question, the better the answers in both quality and quantity. I guarantee there is someone out there with a great explanation. And one day you’ll be able to return the favor.


The idea that you should “never give up” is a pop culture cliche and total nonsense. Unless you give something up, you can never change course. You shouldn’t be coding unless you actually enjoy it and have some aptitude for it (and those things usually go together). You might be missing out on another career which you would find much more rewarding. But you can only find that out for yourself.


Thank you!

A friend of mine that is training for a marathon said on Facebook the other day that he was beginning to drag and his motivation was flagging. I told him that over-training is a real thing and that he should be careful. Two posts later, somebody chimed in with “winners never quit, quitters never win” nonsense. It’s such a frustrating cultural meme, and in true professional environments, they plan for rest and/or changes of direction. At the Real Madrid training grounds, they have bedrooms for the players for God’s sake, and they’re the most successful soccer club in the world. The whole Lean Startup movement is based on the idea of the pivot - carefully assessing if what you’re building has a market and changing direction if it doesn’t.

To the OP - take care of yourself. See if you can change tack and learn a different way. Try a different language that might be easier to learn - Python or Ruby perhaps. Take pressure off yourself. There are other reasons for learning these skills than getting a job - for hobby purposes, for your current job, to build something for yourself, to start your own business.

Or change direction. Perhaps you know enough about code now to get another job in the tech industry other than actual coding itself. That’s a thing as well.

But whatever anybody tells you, there is nothing wrong in stopping something that isn’t working for you if you see no way to make it work…oh and by the way…when I come to the projects, I have the same reaction every single time. As a matter of fact, I’m waiting for the Beta version to see if it structured a bit better in order to scaffold my learning.

Keep the faith in yourself, but don’t feel bad about yourself.


Mathematically, it takes 10,000 hours to perfect any skill to the best of your ability. Don’t give up until you’ve put in 10,000 hours of continuous learning.

If you want to get to a level you can earn a comfortable living through coding and programming, believe me and go for it. If you put in 6hrs a day, it will take you 4 and half years of continuous learning, mentorship and practice.

If you want to learn for fun, then 3 months is enough.

It’s better to look at it through a prism of pessimism rather than a prism of optimism.

This is a process that will change who you’re, socially, financially and health wise. For that 10,000hrs, you will become an introvert and you must be smart with your fitness-sitting in front of your computer for 6hrs daily for 4 and half years will hurt your eyes and you will need a physical excise program to go with it.

By the end of the 4 and half years, you will have answers to your question, whether programming is meant for you or not. At this stage, you will realize how deep the rat hole is. This is a very serious business.

I tried to be as brunt as possible because some online learning platforms, driven by financial gains are giving false hope to learners.

1 Like

I recommend this guy. He make cool videos about coding and motivation. Maybe it will helps =)

1 Like

Look harder and don’t expect all the answers here