Is programming hard?
Programming is like most skills: it’s relatively easy to learn the basics and apply them. Just like with most things, it takes effort, and that effort can be hard.
But I keep getting stuck on simple problems and exercises!
Is it normal for a beginner to fall off a bike a couple times? Is it normal for a beginner to sink a couple times when learning to swim? Even experts fail and struggle when they need to learn new material (though they tend to be better at recovering/using failure as a way to help them accelerate their learning). In fact, if you aren’t struggling, that’s a sign that you’re almost certainly doing something wrong. If everything is easy, that means that: You’re not challenging yourself You’re not pushing yourself to learn something genuinely new You’re not forcing yourself to really make sure you understand the material by trying to apply it
But I need to Google something every other minute!
This is totally normal. The best programmers in the world forget and look things up. The real skill is in knowing what to look up.
Where can I find the old workshop videos?
https://www.youtube.com/channel/UCaAL9YGR_rMoJw8ML8A8Svg
I’m 25/35/45/69 years old. Is it too late to start programming?
You can learn to program and possibly have a career at any age. Learning is something you can do at any age.
I suck at math– can I still code?
Absolutely. Being good at math is not a necessity for programming, although certain fields do have a greater emphasis. 2D and 3D games will make frequent use of vectors, matrices, and linear algebra; data analysis and machine learning make use of many concepts from statistics and calculus; and working out algorithmic complexity is easier if you have a good grasp on algebra and basic calculus. However, just as many aspects of computer science and programming do not require a good understanding of math. The only things you really need to know are how to add, subtract, multiply, and divide, and maybe a little basic algebra. Many programmers go through their entire career with having to do barely any math at all.
Do I need to go to (a good) college to become a programmer?
No. Computer science degrees exist to teach people computer science, not programming, although in practice most people with a CS degree do go into programming. Finishing a 4 year degree in CS does give most students a basic portfolio and baseline level of knowledge however, so you need be able to demonstrate your equivalence. You are generally at a disadvantage compared to people with a degree. You will need to dedicate yourself to learning. Here are some resources to get you started. You can also look up courses from many universities. UC Berkeley, Stanford, MIT, etc mostly have open lectures and homework assignments for their various courses if you want to look.
- https://github.com/ossu/computer-science
- https://teachyourselfcs.com/
- https://www2.eecs.berkeley.edu/Scheduling/CS/schedule.html
- https://ocw.mit.edu/courses/intro-programming/
Which programming language should I start with?
There is no best language to start with, and your first language has no lasting effect on your eventual career. Languages can look very different on the surface, but most of the fundamental concepts are the same. Learning a new language also gets easier over time. Beginners can take months before they feel comfortable with their first language; an experienced programmer can become familiar with a new language in a matter of days. If you already have a project or goal in mind, you will learn faster if you can apply your skills to the problem you are trying to solve. Certain languages are more suited for certain tasks. For example, web development heavily uses Javascript, iOS apps requires Swift, etc.
What should I work on?
You’ll rarely get ideas by just sitting around and waiting for a spark of inspiration. Your time will be much more well-spent if you just go ahead and try building something (anything!), even if the idea seems somewhat stupid or already done. That being said, here are some lists that you can reference.
- http://www.dreamincode.net/forums/topic/78802-martyr2s-mega-project-ideas-list/
- https://github.com/florinpop17/app-ideas
- https://github.com/karan/Projects
- https://github.com/NirantK/awesome-project-ideas
I want to make video games!
If you want to get started quickly, Unity is probably your best bet. However, game dev is very broad and deep, and most courses are not free. This Coursera course is free to audit however, so I give it a tentative recommendation, even though I haven’t take it.
- https://www.coursera.org/specializations/programming-unity-game-development If complexity excites you and you want to dive deep into the inner workings of video game engines, then there is no better option than Handmade Hero.
- https://guide.handmadehero.org/
I’m really depressed because I’m struggling to land a job and seeing everyone else get one with ease.
First, if you believe you have depression, we recommend seeing a therapist https://www.youtube.com/watch?v=YuLfFqPFrkc We also recommend joining a coaching session here on HealthyGamer. Second, remember that you are not alone. The entry level market for junior programmers is very saturated because of many people who try to switch to a programming career. Entry level job postings get hundreds of applicants on LinkedIn. This guy writing this answer took over a year to find an entry level job after graduating. COVID-19 has also made many companies cut back on hiring. This doesn’t mean it’s impossible to get hired though (took a year but still got it), so don’t give up. The first job is the hardest to get. Third, you don’t know other peoples’ struggles or how easy it was for them to get a job. Perhaps they sowed healthier karma earlier in their career https://www.youtube.com/watch?v=yKDb-ZiKkeM, maybe they just got lucky. Remember that a career is a marathon, not a sprint. Some people like to throw themselves ahead first, but endurance is what matters in the long run. Finally, try not to compare yourself with other people. We are not entitled to the fruits of our actions; all we are entitled to is our actions. https://www.youtube.com/watch?v=887f47tPyck
I have a question. Can someone help me?
Please don’t DM coding leads with debugging questions and https://dontasktoask.com/ When you have a question, please try to format it in an efficient manner. This helps both you and any possible people who would like to help you.
Hello, I am trying to do X I have tried doing Y It’s doing Z but it should be doing X Here is my code // Code here Here is the error I get // Error here
Doing this enables both us and you to quickly, see what you are trying to do, what you have tried, and what suggestions we may have. Sometimes, just formulating a question like this is enough for you to figure it out yourself. Help us, help you in timely manner.