When i left high school, i thought i would love photography, and quit that after a year. Then i started film production, and am know planning to leave that to do game development, which i am incredibly passionate about.
But i know what i am like, this will die on me unless i get results. Yet i know that i need to put in the work to get results. I’m the kind of guy whose heart stops in his chest, and smiles for an hour, purely because he managed to code something right, and SEE it work in front of him. I love those moments, but sometimes they dont come often enough.
How do i know programming is for me? How did you keep at it? What did you do if you ever felt this wasnt worth it, or it was too difficult, or you were too stupid? (Which happens to me at least a few times a day). What special traits would i need to possess to be a good programmer? Do you need to be incredibly intelligent to remember all the code (because i worry i will just forget it all)
I want to make games, any games, but i cant invest my entire self without being sure. And learning to code is not as easy as learning to shoot photos.
Any other advice, or knowledge, anything that would help me or convince me to stick to making games.
I know this might sound kind of…stupid. But this is a massive concern for me, i need to weigh the possibilities of my dream job, and aspirations, against my shortcomings. Thanks, guys.
Yep, that’s pretty much it. To know if you’re suited to, and enjoy programming, you basically need to sit down and do some programming. Unfortunately, like everything in life, you can’t see the end from the beginning. You’re not going to get any guarantees; you just have to take the plunge.
Took a week off from coding and/or found a different “feature” to work on or imitate
The ability to sit for hours
That comes with time. Even though I’ve been coding for 8 years, if I spend a week away from a project I sometimes need to relearn my own code. Learning commands and things like that is like speaking a language, you’ll remember it if you keep using it.
This happens to me sometimes, I dont like it but i press and keep trying if i still cant get it i lose motivation… like i havent really programmed anything for game development in months, i have worked a little in web design/developement and I wanted to get back into game programming but i havent really yet… On the other hand i have been studying C++ and Win programming, even tho I havent produced anything with code i have been studying code…
Bill Clinton had a good line about this when he was describing why he chose politics over music. It was basically “Well, I really really love music, and I really really love politics, but I’m never going to be a great (as in top-notch, lights-out) musician. A really good musician, but not truly great. However I could be a truly great politician.” That is how he chose. That decision is ultimately up to you.
Also, it sounds like you just got to college. You have time to figure these things out. Yes, I know what you’re thinking about (I went through a similar process around the same time) but you’re probably going to live for another 60-100 years so you don’t need to decide everything now. Even if you ignore your longevity, look at the people who have succeeded before you—almost all of them struggled for years before they succeeded, even the big names (for example, Zuckerberg is a huge exception… it took Bezos until he was 40 until Amazon… JFK failed the Bar exam at least once… Bush was a drunk until he was roughly late 30s…Soros was so-so until he was in his late 30s… etc.).
Do you enjoy it enough to do it in your spare time, without pay?
I enjoy it so there’s no “keeping at it” required. This requires keeping my interest high, usually by exploring new areas (new languages, new systems, etc.) when I get bored.
I usually feel stupid but I try to keep in mind that everyone’s stupid so it’s not that abnormal. When Einstein was near death, he was working on a speech for the Knessit, or something liek that, for several days and couldn’t come up with crap. He lamented about how stupid he was. So if Einstein can be stupid, so can you. That is just a part of life. Also, keep in mind that programming is an essential, built-in part of the human genome, just like language or math. Do you suddenly wake up and feel like you should stop talking for the rest of your life just because you’re having trouble forming a decent sentence?
Meh. Per (3) I don’t think you need anything special. However, it is valuable to have a wide perspective. Perspective begets good debugging skills. Good debugging skills begets good programming skills. Almost all of your time will be spent fixing things or figuring out why they are not working. You should be constantly re-thinking a problem from different angles and never trust your brain. Almost all problems with programming are because someone is stuck in a mental rut while thinking about a problem. Perspective means being aware of the entire system… network, hardware, OS, language, etc.
Oh, MOST IMPORTANTLY! Error messages are either totally 100% accurate or complete crap. Try not to take them seriously. This is why you need perspective because those error messages are usually lying to you (or at least, masking the underlying problem).
Nope. Use Google. Remember another Einstein parable: When asked the speed of light, he said he didn’t know. The reporter was astounded: “EINSTEIN AN IDIOT.” Eintein’s reply: “Well, if I need to know it I know I can just look it up in a book.” I think that story is fake but the parable is accurate.
The language is irrelevant. What matters is the problem at hand and what matters is what you can learn, not what you know.
I have the worst memory, I seriously forget code written two days ago. Its a bit like fire and forget. The good thing is this makes me consious of writing good clear code the first time. I don’t find it a problem as it keeps my mind clear