What should I do Before I give up programming?

I’m in the verge of giving up programming and wondering what could I do before I give up to make sure I did what everyone did.

I’ve a bachelors degree in computer science. I didn’t do it as well as I’d have liked to do, but that degree has gave me familiarity with most terms used in basic programming.

I spent last 3 months working on web development(I’m learning MERN). I learnt html,css,bootstrap, javascript and react till date(In bootcamp), but I failed to learn React. Even javascript, i’m no expert at. Even css, I learnt the basics but I’m not an expert when it comes to building half decent sites. Same for bootstrap. I can carve a site using html,css,bootstrap but it won’t look good. I was completely impossible to learn when it came to react. Whenever I saw usage of useEffect and useState hooks and we start making changes in 10 different files for it, it confused me and I understood nothing.

I had access to world’s best resources to learn books, tutorials, blogs, youtube, udemy etc. I had access to forums like this to get help and support but still this was tough for me.

I feel unlucky, sad and hopeless atm. Friends who were weaker than me in conventional college studies and academia have done jobs and internships but I’m failing to even learn something properly. I’m not jealous of them but just feel trash about myself.

People say do projects to learn but I really don’t know how that works. For eg: https://codepen.io/pelko/pen/MWBpNmL This project. I make stupid stuffs like these and can’t produce a good output that is playable. It’s too hard for me.
These are some of my projects.
https://htmlcssbasicsite999.netlify.app/

https://counterapp999.netlify.app/

https://dicegame999.netlify.app/

https://digitalclock999.netlify.app/

https://portfoliosite999.netlify.app/

I did all these projects without looking any tutorials.

I keep forgetting how I built something time and again. I nowadays try my best to add documentation though.

I’m 70% sure to give up programming but still I"d like to make sure I follow advices from fellow forum users about it who’ve spent their life around programming.

In 3 months, I am seeing no progress, except few days like:

  1. When I carved a site on my own using html,css without looking tutorials.

  2. When I carved a site on my own using bootstrap without looking tutorials.

My problems:

  1. I’ve not break through’ed in programming. If I can make anything with javascript that’s over 500 lines of code, I’d consider that a breakthrough. I’m aware LOC aren’t a good metric but please try to understand what I’m trying to say. A big application using programming.

  2. Even in css, I failed to make presentable sites. The coding bootcamp I feel is going too fast as well. Same for bootstrap, I made sites but I failed ot create beautiful sites. People recommend me frontendmentor.io but IDK what to do there? It looks sketchy to me. If there is something that can teach me css, I’d be so grateful.

  3. After watching tutorials, I can’t repeat what they’ve done in tutorial without watching the tutorial of project even though I understand each and every step they do in project.

If you understand my situation, please guide me. I don’t need roadmaps, any more tutorials but plain old guidance and advice on what to do by people who went through this situation

Hello
I understand , most of my learning issues are memory problems , I will be 80yo this year . So my strategy is to Learn & Re-Learn .
But in your case I recommend three strategies:

  1. Follow Thomas Edison’s strategy , “Try Again” .
  2. Be like Gandi , Humble yourself to watch Kirupa’s video mix ;
    https://www.youtube.com/playlist?list=PL478wQWRhpfa1aPYzB_CzhJ-vFQ7BCeZS
    A collection of videos that will teach you the basic JavaScript concepts in a friendly and visual way to help you become a JavaScript Ninja.
  3. I forgot the Third one .
2 Likes

Programming is hard. From having seen your progress over the past few months, you are doing well for starting from scratch. Three months may seem like an eternity, but give it more time. As vmars mentions, keep practicing. Things will start to get easier and complicated topics will eventually “just click”.

I have been doing web development for over 25 years at this point, and I get stuck a lot. I am still learning new things almost every time I try something :grinning:

1 Like

Hey mate,
Sorry to hear you are having troubles.

First off you should have all the basic programming skills from your CS degree:

  • program execution flow
  • variables
  • functions
  • loops
  • algorithms/ big O
  • object orientation
  • databases/ sql

You don’t need to know everything to be an effective programmer e.g.

  • map/ filter/ reduce can all be done with a basic for loop… some languages like golang don’t even have them…

  • Promise syntax with all it messy nesting can be replaced with async await

  • IIFE "modules" can be replaced with import / dynamic imports

  • getElementById/ tagName ect can be replaced by querySelectorAll().forEach() which doesn’t throw when it doesn’t match

  • if/ else can be shortened with inverted if/ guard clauses

  • bootstrap/ floats can be replaced with flexbox and grid

You will need to look up documentation:

  • few people know all of the API’s/ methods out there and how to combine them…

  • tutorials are useful for seeing other peoples code syntax, program structure and combining of API’s

  • seeing/ editing/ re- factoring the actual code rather than watching somebody else code it is better for learning

  • look up new and different API’s just so you know what they do
    https://developer.mozilla.org/en-US/docs/Web/API

  • when you go to build something new knowing what effective API’s/ methods exist that can achieve it is half of the the puzzle

  • MDN documentation and examples are quite often more comprehensive than tutorials (I’ve even seen some code copied from MDN or the Ecmascript specification)

Multiple files and tools are a part of development:

  • the problem with abstractions and libraries/ imports is that it’s hard understand what is going on under the hood.

  • If you don’t understand something, try to break it down/ re write it procedural style so you understand what it’s doing… (you can find breakdowns/ re-writes for different things out there)
    https://www.youtube.com/watch?v=i793Qm6kv3U&t=1016s
    https://www.youtube.com/watch?v=f2mMOiCSj5c&t=1369s

  • Sometime having all your code in one file is easier to follow than jumping between files. I start with a single file and as complete sections and test them, split up the file …

There are plenty of different ways to do web development:

Lastly try to focus on the type of job that you want:

  • some companies use graphic designers and the developers only need to know CSS basics like positioning, layouts and the cascade

  • If you want to do back end, try to find the easiest framework and focus on network requests/ API’s/ queries ect and SSR

There are a whole heap of different career paths/ options out there…

Just because Facebook made it doesn’t make it the right or only way to do things…

Who knows, the way Meta has been going lately maybe it will just be another Yahoo or AOL in another 10 years… :grin:

1 Like

thnk you.

1 Like

Great answer Sir :slightly_smiling_face:
Hats-Off

2 Likes

I’m a bit late to this party… Just to reiterate what everyone else has said so far… Programming is difficult, especially full-stack web development there is a lot to learn just to get something up that looks good.
I think most programming languages are fairly similar, once you learn one others are easier to pick up (especially if they are of the same paradigm, or family). However, with web development you need to familiarize yourself with a lot of disparate technologies right away just to get off the ground.

HTML is a must, but it’s a markup language so the “programming” skills one learns with HTML don’t really transfer to any other learning.
If you want your site to look good you need to learn CSS, which is also unlike any other tool I can think of.
Then you need to host it somewhere, fortunately, there are tools like CodePen and Glitch where you can just write HTML, CSS and JavaScript without thinking about server infrastructure but at some point you’ll likely move past those platforms and need to know something about infrastructure and deployments. Again, skills that don’t really transfer to much else.
Then of course there is all the frontend magic of JavaScript. JavaScript is nice because you can use it almost anywhere, but once again to get JavaScript working you generally need to know a bunch of tools/setup (Node or Deno, a build tool, package manager etc.)

The point of this is not to be overwhelming, rather just to create some perspective about how much one needs to know to build and deploy a non-trivial website in 2023. In your post you said you had already built two sites with HTML and Bootstrap, that’s a huge accomplishment. You’ve learned two valuable tools. You also mentioned that you’re no JavaScript expert, which implies some familiarity with JavaScript. Just so you know, very few people are “JavaScript experts” it’s a big language that changes fast and the ecosystem around it changes even faster. I’d say don’t worry much about learning React, I’ve been a professional web developer for three + years now and frankly I don’t know React very well (that would change if I started doing more projects with React but it hasn’t come up much in the projects I’ve worked on).

Lastly, I’d say the number one thing is interest and passion. If you’re interested in learning web development and you love doing it then by all means keep pursuing it. But if you’re not all that interested or if you don’t enjoy sitting down and trying to solve these problems then I’d recommend dropping it entirely. It’s not worth learning something you hate so that you can have a career doing something you hate.

2 Likes

can you suggest a micro level roadmap on what should I do now in order to learn programming?

The above responses do a good job on answering this. Start building apps and google (or ask here) for any concept that you are getting stuck on.

The coding exercises here are a good start: Coding Exercises

For everything you build, take a step back and see if you can explain what each line of code does and why it works. This will help you solidify what you know vs. what you memorized.

:upside_down_face:

what I’ve noticed is that asking in forums like this is being counter productive to my learning. or atleast not benefitting it. I’ve barely seen my friends using forums to ask for help while coding. They just see stackoverflow.

Figure out what works for you vs. what works for your friends. If you feel using the forums is counterproductive and not helping you learn effectively, then you should try alternatives. An online community isn’t for everyone.

:panda_face: