I like to do this, but every single thing i do ends up very bad with shitty code and not even working, should i quit?
I like to do this
I think you have your answer.
If it’s shitty and it works, it still works. That’s the philosophy for like 90% of corporate code.
Just remember, we tricked lightning in some rocks into doing math for us using physics. It’s all wizardry. Do your best. Do better next time.
ends up very bad with shitty code
This is okay. Been doing this for close to multiple decades now, my codes still are shit.
and not even working
This is not, the thing is, once it works, it is one of the best feeling in existence. A very close second to the feeling after taking a huge dump.
As someone with decades in the industry, the amount of awful code out there is staggering. The code that I write is also often awful - at least the first time I’m exploring a new complex problem. Once you’ve done something once though, your second or third time writing it is typically a lot better.
Typically my first pass ends up being a “get it done” pass. Explore the space with as best effort as you can to get something that works. Then identify what issues or problems you had with the process.
Refactor your code, back up frequently! Prefer to keep things to generally one abstraction per function. This allows you to quickly look at a something and identify what it’s doing, and to (with experience) sus out any potential bug areas. Make your code consistent in naming & code flow if you can. Test your code frequently.
It’s like playing a factory-genre game; your first pass is likely going to be some spaghetti monstrosity that quickly runs into scalability problems because you didn’t know what you’d need ahead of time. With the knowledge of what pain points you had, you make a new base, maybe incorporate a bus setup and your scalability now goes much higher before it reaches problems. On your nth pass, your base is now a train based system that runs like clockwork and can do things you never thought possible before.
Tl;dr: Everyone’s first approach often sucks and eventually runs into problems. Understand what didn’t work and learn from your mistakes. Do it again with these lessons in mind when you feel inclined (if you’re experiencing scalability problems). Look at other code & learn from others. Keep writing as much as you can - programming is difficult and hard learned experience is often the best teacher.
Keep going. Especially if you’re just doing it cause you like it. Truth is, the compiler does a lot for you now as long as you’re in a modern language. One day your sharingan will open and your shitty code will then into less shitty, working code. You better believe it!
Do you want to quit? It sounds like you might be having one of those crisis of confidence moments where you just feel like you’re not improving - but I bet you are! Maybe a fun exercise could be to build something totally different to how you are at the moment, just to get some spark back? Don’t be too hard on yourself!
here the secret we all think we write shitty code. It’s like art the picture is never finished only abandoned. It takes a long time to be less critical of your code.
When I was learning to code there were several times when I seriously questioned if I am smart enough to be a programmer. Welp, it’s been 20+ years and it’s all very easy for me now. If you enjoy it, and you want to get good at it, then stick with it. If you don’t enjoy it, then quit.
Instead of giving up, what about a refresh from basics?
Even though I have done Cisco networking for over a decade I still look back at topics from the basics of something isn’t working as expected.