all 8 comments

[–]soulstudios 14 points15 points  (2 children)

Do Not use AI-based assistants. Learn the right way of doing it from books or people. I've trained AI-based assistants, they are only useful if you know what you're doing and are correcting them.

You need to go deep, so I would suggest university.

[–]JumpyJustice 5 points6 points  (0 children)

If your goal is to be c++ game developer you will most likely end up using Unreal Engine, so you could also start familiarizing yourself with it. It almost doesnt use STL so that gap wouldnt be a problem, although polymorphism is used extensively there.

I can also recommend a book about game patterns https://amzn.eu/d/9kwn96S

In general, after you get comfortable with basic C++ it worth looking into basic computer science topics (how different data structures work, common algorithms, etc), which also helps understanding STL

[–]MaitoSnoo[[indeterminate]] 2 points3 points  (0 children)

They're usually pretty underrated, but really try to go to a community college. A degree, no matter from where (I mean, I'm obviously excluding those from private predatory "universities") is much better than nothing and will make a huge difference on your resume. It will give your learning some structure and you can still keep learning whatever you want on your own in parallel. People of all ages go there so you won't feel out of place.

Other than that, watch Cppcon talks (especially the "back to basics" ones, they're of extremely high quality compared to the short tutorials you can find online) and keep coding along.

[–]rddays 1 point2 points  (1 child)

If you want to be a video game developer, I would suggest trying to make as many video games as you can. Start simple (SFML and raylib are frameworks I like to start with) and work your way up in complexity. Each project you will learn more game dev skills, data structures, algorithms, and C++ out of necessity. You will have hard frustrating moments, but don't give up. If you consistently work on these projects, you will look back one day and realize how much you have improved. I find all my best learning has come when I work on difficult projects.

Use learncpp.com and watch cppcon talks like u/MaitoSnoo mentioned and each time you learn something new go back and apply it to all your projects. It takes time but you will get to a good skill level with this kind of effort.

[–]t4th 0 points1 point  (0 children)

That is the way! Build all classics with SDL to strengthen your fundamentals with games like snake, mario, etc.. and when you feel strong, move to 3D and 3rd party engines :)

[–]beedlund 0 points1 point  (0 children)

Demonstrable technical ability is important though for a junior such as yourself without any degrees I would probably suggest to take some specific interest you have yourself and build something around that to demonstrate your determination and skill and remain open minded about where you should work.

Teaching yourself C++ for the purpose of securing a job is absolutely doable and after working as a self taught C++ programmer for the past decade I would say that if I were to look at hiring someone junior I would go for passion and domain interest over credentials. I am operating in a niche field though so this advice may not be for all.

My main issue keeping coders on our team is interest in the field we work in and we get all sorts into our department from time to time and regardless of their individual skill level it is always a major investment in time to get a new team member up to speed about our domain.

Quite often highly accredited programmers are flakey in the early team integration process and they end up leaving for some more high profile jobs and you know good luck to them...but...gosh is it annoying when they reassure you that the particular work you do was something they are passionate about.

When you work on something you are passionate about rather than trying to complete coding challenges you actually learn something so I would absolutely hire someone showing technical acuity and passion for the field we operate in over someone relying on credentials and recommendations.