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 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.

  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

I’m not sure exactly if you have tried to get a job and failed (and how long and how many times you’ve tried)? To be frank I think you’re being too harsh on yourself. If you can get a job with the current skills you have, then who cares about your design skills for one. Do you have a good grasp on data structures, can you do backend work, perhaps back-end dev will be your thing? Just apply to jobs and see how you do in a real environment, as that is where people sink or swim. Sometimes in a work env you have to be a team player more than you have to be able to independently complete projects. Sometimes all you need is to be a self-starter (which you seem to be).
And so what if you’re not perfect? No one is.

2 Likes

Hi @shivajikobardan !

It is also only been three months though.
3 months isn’t that long to get comfortable with new technologies.

because it has been 3 months. :slight_smile:
I would give it more time.

because it has been 3 months. :slight_smile:
Also, on the job you don’t need to be an expert at CSS.
I would argue that a good portion of developers are decent at it and can get the work done that is assigned to them but they are not experts at it.

Bootstrap is just one of many CSS libraries.
I would suggest just learning the basics and then moving on.
On the job, you will work with a variety of CSS libraries and frameworks.
It is better to developer a good basic foundation in CSS then worry about getting good at a particular CSS library.

As a developer, you don’t need to be a good designer.
The job will have designers that will create the designs and your job as the developer will be to implement them in HTML and CSS.

React can be confusing at first.
I struggled with React when I was first learning too.
Now, I use React a lot on the job.

What helped me was to create small examples in codesandbox of working with hooks like useState, useEffect, useRef, etc. I would create simple counters and forms and log out things to console to see what was happening. Then I started building the projects from freeCodeCamp and then started building my own projects.

It is a dangerous trap to compare yourself to what others are doing.
You might not have the complete picture.
Maybe your friends were building projects on the side while in college or maybe they just took to learning programming quickly even if it didn’t always show in their grades.
The best thing you could do now is just focus on you and your programming journey.

You have to start somewhere.
After you built that game, you probably felt more comfortable working with the DOM and learning about collision detection algorithm.

That’s good. You should be more proud of that.

3 months is not that long of a time.
You have already done so much in that short period of time.
But you have to be more patient.
It takes a lot longer to build more complicated projects and get good.

Come up with an idea that you want to build.
You can build a chat app, eccomerce page, a game, etc.
Break that project up into small bits and slowly build it out.
It will probably take a few months but you will learn a lot in the process.

As I mentioned earlier, designer and developer are two different jobs.
The designer’s job is to take create beautiful designs and the developer is the one that will take that design and implement it using HTML and CSS.

frontend mentor is legit.
The goal is to help you take a figma mockup and implement it using HTML and CSS.
Some of the projects also have a javascript component.

I think it would be better to move away from step by step project tutorials and build projects using documentation, stackoverflow, articles and asking questions. Then if you need help building out a particular component a 10 min tutorial won’t hurt.

Programming is hard.
It takes a lot of time, practice and perseverance before you can become good at it.

Learn to code was hard for me too and I also doubted if I was cut out for this career.
I spent a year and half learning and building projects before landing a full time developer job. But even after landing that job, I still had a ton to learn and it took a few months before I started to settle into the workflow of the job.

It is challenging work but it is also rewarding when you finally get the solution and get something working.

Give yourself more time and keep building and learning :+1:

6 Likes

I’m grateful to your reply.

Hi @shivajikobardan .

This is really common, so much so that there is a second version of Reactjs’s documentation https://beta.reactjs.org/ .

Reactjs is deceptively simple, and it’s easy to end up with a mess of overengineered code. From time to time I’ve seen discussions on twitter about how to use Reactjs… and they never come to any conclusion. Reactjs is more difficult than it seems.

This is difficult to accept, but often in order to get a job it is more important who you know than what you know (because you can often learn the necessary skills by doing the job).

This can be an opportunity, at least in my country it is common (like, really really common) to be able to get a job if an employee of the company recommends you. Sometimes this is called “networking”.

Obviously it depends on your situation, but in my country it is really hard to get a job as a programmer without experience (I tried everything I could without luck). So, you can say that “I give up programming” and now I’m trying to get a job as a Q.A. tester. I’m currently practicing with opensource projects and I can find bugs just reading code or using tools, so I think it won’t take me that long to be ready to work.

I’m also learning how to use unity, the idea is to make a game and sell it.
This is something I should have done before(have a plan b, in parallel). It was a mistake to focus only on getting a job.

I get the impression that you have an idealized view of programming, especially about tutorials … most tutorials are heavily scripted, most of the time the programmers have a second monitor with the code and a script … so, they are just reading a script an typing the code (they are not thinking or solving the problem on the spot, they just are explaining a solution).

Hello :slight_smile:
So I can share you a bit of my story - I have several years as a Java backend programmer.

Whether you have or you haven’t landed any job yet - my advice would be to take on 100 days of code. Write or think on any task/algorithm/website/class/line of code/anything once a day, but make sure you stick to the schedule. You can read some articles, or just google what nice things you could do.

And also… What I can tell you may not be too optimistic but I’m always under this kind of feeling - that I have to somehow do better, that many times I don’t follow the best practices, I don’t know this or that… And look, my colleague aside of me is better ar this or that, he sound so sophisticated and writes the code so easily.

But… Truth to be told on my journey I have seen many different programming languages, frameworks, architectures, application servers, different styles of coding, different tools, frontends, mobile applications… It’s hard to learn new things but still I haven’t given up on learning. And please, don’t give up.

What you may not understand is that nobody is a superhero - your colleagues must have put their back into studying, maybe they were coding since their middle schools, maybe they contributed to open source somewhere… Of course, there are people who are more talented than others etc.

One thing that one of my former leaders mentioned at some point to me when I’ve said that I don’t understand sophisticated code and designs was that it’s okay to write code at the level you’re at and taking things slowly to understand. Some people get into things quickly, others need more time.

Look at the brighter side of your situation - if you don’t give up now, you will be stronger than anyone else who doesn’t know how it’s like to struggle :slight_smile: Take things step by step and be patient to yourself. Everything will be fine. It’s all right to take a walk before you run.
I wish you all the best :crossed_fingers:

I think is awesome to learn all of this things in just three months. Look at this way. You learned and make a project (even if you didn’t like it) at least of one technology each two weeks. Most people (me for example) take one week just for understand what an array is or how use a for loop with another for loop.

Also I suggest you that keep learning because with your current knowledge you are near to have an “AJÁ” moment. You have the foundations but the cement is still settling down. When you practice something with react you are also practicing javascript and html and css.

The css matter… well I think that is the most difficult part of web development because requires a whole separate kind of skills. but don’t let that to limit you. I’m working as a frontend and I sucks in css but in your job you’ll do everithing with frameworks. Also most companies have a “standard css set”, I mean, official styles, then most times you’ll be making a bootstrap button or a material button and appliying the right colour or an icon and that’s all.

About not knowing how to make things well, currently I dont know either. I just do it on the go. You don’t have to know how make an whole ecommerce, you just have to know how to make a litle set of things then you can say: ok, this is my steps:

  1. Html empty page with js and css → the minimum

  2. a navbar with sections

  3. connect to database to get items

  4. List database items in a acceptable way

And so on, then you’ll make subtasks and see how to make those things trying until you get the desired output.

Each time you struggle with that things you get some experience points and even if you don’t have a triumphant sound you’re leveling your skills.

Also is common to forget steps or not knowing where to start, tutorials are your friends. In this career nobody penalise you for have to google something. If you need to do it is okey. But i suggest you to write some kind of “code knowledge master file” with those steps in order to save time and don’t have to look the same 4 hours tutorial each time

Good luck!

Most degrees are not going to make you an expert, they are more going to pound the basics into you and get you up to speed for a possible entry level job. Even when it comes to programming, this field requires that you take your own time outsode of the class and make sure you practice this stuff.

Three months is not a long time to be honest. Especially with all that you were focusing on and trying to learn. I would say three months is a good time to get a grasp of javscript, but even then I wouldnt say that would make anyone an expert. I am a little confused by the react stuff. you learned javascript and react, but failed to learn react? Maybe I am just not understanding on what you are saying there.

React can be hard, and if you are not that well versed in jaavscript then it can be even more difficult. The best way to get better at any programming language is to practice. and research what you dont understand. Not sure how useEffect or useState? Research, look at examples of how it is used and then make a small working example. Nothing big and complicated just something small where you can understand on how it works. Then you can work your away up with bigger projects

It is going to be hard, I am not going to sugar coat this. Programing is hard, and its going to take dedication, passion, and time. What are your current goals? Why are you doing this in the first place? Set small goals for yourself and have an end goal of something to work towards.

The worst thing you can do is this. Everyone learns differently and at different paces. So, its taking you longer to learn this stuff than other. So what? Dont worry about them and focus on yourself. I know how you feel because I did the same thing …I saw others passing me by even though I was trying hard. Eventually, I realized I was holding myself back by trying to compare myself to others. I buckled down and worked my butt off to get my dream as working as a developer, and I made that dream a reality! Guess what? Those who surpassed me in the beginning have either been laid off or still looking for work . In the end it never even mattered if they were ahead of me

It is the best thing to do. How else are you going to learn and get the experience of working on a project? This helps with not only the knowledge of how to get stuff working and completed. This also helps with time management, refines your research skills, and gets you comfortable with working bugs out. Dont think you will ever need to remember all of this. Its impossible and its something that ever programmer faces at some point or another. A lot of my working day is spent researching and refreshing myself on how things work. This is not to say that you dont need to know this stuff because you can just google it. Just now that even professional developers dont remember every little thing and they struggle as well.

You’re projects are not that bad. Your portfolio could use some UI fixes and adjustments. The counter app is pretty simple, but you got experience from that. Try looking at https://www.frontendmentor.io/
They give you examples of what a page needs to look like, and they give you the images to use but other then that it is up to you on how to get it done. I love this website as it really helped me get me html, and css together.

Not to sound mean but you are not realistic with this goal. 500 lines is a lot and if you think you are failing by not remembering everything in 500 lines is just not realistic. Especially in just three months…at this point its a little bit of a dream. Like I said above stop thinking you need to remember everything, professional devs who have been working for years will still need to look things up in 500 lines.

If you want you can reach out and I can walk you through this in a private message. I used this site for several months and I absolutely loved it. Just let me know.

I am going to be straightforward with this one as well. The moment you tell yourself that you are giving up or quitting then you are never going to get over your bumps in the road. Your mind and the way you think is very powerful, and if you think you will fail then chances are you are going to. Programming is hard and that’s a fact, another fact is that you have been practicing for three months. That’s not a long time to get a real good grasp of everything. Maybe the basics, but the fact that your projects haven’t seemed to challenged you much then that could be another issue. That’s why I would suggest the front end mentor site. Again, I would be happy to walk you through it if its something you want to try.

I guess your problem is not your code but your mind. You are being too harsh on yourself.
Probably if you change to another career you will face the same problems.
Try to find a team or a mentor to help you.
I’m learning Javascript (HTML / CSS/ React /Node) for the last six months, and the turning point for me was finding a mentor. A person to evaluate your work, ask for more complex work and point to where you have to improve.
I was a lawyer until Jun 2021. I’m studying and still don’t have a job, but I’m sure that 2023 will be my year :muscle:

1 Like

From your name I am assuming you’re fellow Indian. Here we’ve loads of social pressure to follow the herd either do engineering or medical, otherwise our parents will feel we’re big losers and our relatives will keep on taunting us.

I’m not sure if you had chosen CS engineering on your own or somebody forced you to. I’ve seen majority ( 80%+ ) of CS degree holders in India are unemployable ( per none other than Infosys co-founder Narayan Murthy ) there are loads of reasons for this.

So take a break and figure out if you’re really want to do programming / IT career for next 3 - 4 decades of your working life ?
There are other opportunities in IT as well, check JD of https://remoteok.com/
You may like to do something else like Product Design / Management etc etc

Or now a days there are plenty of opportunities in India to make high middle class living in big cities in other fields as well.

Do consult a good career counselor in one of big cities and avoid social and/or parents pressure.

All the very best

P.S.

Either you choose a career which you love and if you don’t get it; fall in love with career you get into. Constant complaining is not good for mental health.

I wanted to be a fighter pilot in India air force but my father forced me to join IT world and I started to fall in love with it slow but steadily. While living with 1.4 billion population you don’t have much choice majority of the times.

1 Like

Sounds like you’re really struggling with confidence and I’m sorry to hear that.

Couple pieces of advice, and only because you’re asking:

Don’t compare yourself to others

It’s in our nature as humans to look at the people around us and ask if we measure up. When done from a place of healthy competition it can even have a positive impact on our well being. Studies have shown that being competitive with those around you can increase serotonin levels in the brain - a good thing!

But when we use other people’s success to beat ourselves up, we create the exact opposite situation. A giant beatdown on our confidence and self esteem.

Everyone learns in different ways, and at different paces. Just because your peers got a job out of college faster than you, doesn’t mean you’re not cut out for this work.

Refocus your frame of mind on yourself. Are you a little bit better than you were yesterday? What about 6 months ago? Sometimes it helps to write out all of the things you know and you start to realize you actually have made more progress than you think.

Normal to feel unprepared after college

College and university programs can create strong foundations for software engineering, especially a Computer Science program, and you’re fortunate to have been able to take that road and should be proud to have finished that.

However, you are among many, many people I have known, who have struggled to find work out of college, and feel like they are unprepared to work a “real” job in the field.

CS curriculums are great, but they are very broad and so if you’re not hyper focused on an end result during your time in school, and doing extra learning and building a portfolio on the side, you don’t end up in a great position to be a software developer unless you were able to join a good internship or co-op program.

This is normal. And now you have the long uphill journey of fine-tuning your knowledge so that you’re marketable as a web dev, software dev or whatever it is you’re trying to get a job as. Focus is key here by the way.

Later in your career, your CS background will pay off in huge dividends so don’t let this discourage you!

3 months is not a lot of time

Again, not that you should be comparing yourself to others, but if you’re judging your progress based on only 3 months, I think you’re being too hard on yourself.

Use the last 3 months as a learning opportunity to adjust the way you’ve been learning and see if you find a difference after another 3 months.

Spinoff tutorials

You mentioned that you struggle to implement what you learn in a tutorial. I would recommend backing up your ambitions a little bit, and practice spin-offs of the results while you’re working through a tutorial or course.

Whenever you learn a new concept while following along a tutorial or course, slow down a minute and try doing things your own way. Ask yourself if you can use what you learned to add more to the feature or expand on the current app. Cut a new branch in git so that you can experiment with ideas and really let the learnings sink in until you feel like something “clicked”. Then go back to the main branch and continue the tutorial where you left off.

I really don’t recommend following a tutorial all the way through and then trying to implement everything you learned from scratch. You’re setting yourself up to fail in my opinion.

Spaced repetition

From what you’re saying, it feels to me like you’re trying to learn too much at once, at too fast of a pace so things are really staying with you.

You might need to be reviewing things more often than you think, especially when you just learned something new recently. This has been proven to help you retain information for longer periods of time.

I recommend googling “spaced repetition learning” and see if you can find ways to incorporate that into your learning routine.


Final piece of advice I have is just try not to get discouraged. Looking at your example projects, my evaluation is that you have a lot of work to do. But I think if you’re willing to stick to it, and continue to refine your learning strategies, your resilience will pay off.

I tend to be a slow learner in a lot of areas too, and one thing that’s helped me push through, is this idea that the harder something is to learn, the better you will know it when it finally “clicks”.

The things you have to really fight for to understand, tend to be the things you remember the best, and have the deepest understanding of, because you had to go deep in order to “get it”.

Struggling to learn is a blessing in disguise and when you combine that with your CS background, I think you’ll have a great career. You just have to get passed this.

1 Like

Try UI UX course in scrimba.com. It is free and covers bare minimum which is enough for you to start with. You can go further if you like it, but mostly thise who make awesome websites, either they design in ps or xd or something similar or they get it from design team. Don’t push your self too much. Rather take a design (any) from the themeforest or dribble or similar one and slice it. It is giid exercise. Or even try frontendmentor.io. go to casbattle site. If you don’t feel like doing, I don’t know what to say.