When I took in-person classes at a local state university classmates would sometimes come to me instead of going to professors. In one case, a classmate claimed a professor refused to help her because she had too many issues in the code of her project. There were a lot of issues, but it was not anything two hours over discord could not fix. One of the benefits of being a self-taught programmer is the compiler doesn't care about your feelings, and learn to debug code. Learning to read other peoples' code is also a fundamental skill you pick up trying to teach yourself. Based on personal discussions on LinkedIn, you also become a bit more aware of the strengths and weaknesses of each programming language. For example, it is possible to write procedural code in C++, but it is not the best use of the language. Studying a language such as Java first which is similar in a lot of ways, and handles the more annoying aspects of writing C++ code automatically, such as memory allocation, is a perfectly valid option. Memory leaks can be difficult to diagnose, but OOP principles can be far more difficult to meaningfully understand. I put together the list of resources below so you can take a similar approach and avoid some of the pitfalls that made learning to program difficult, and I broke them up into three categories.

The academic resources should help you understand practical concepts required to be a good programmer, such as complex math. The job interview book focuses specifically on complicated algorithms as well in a language agnostic manner. Other resources such as Machine Learning Mastery are maintained by PhDs in the field of Machine Learning. So long you do not ever pay full price for a Udemy class resources on this list should not cost a whole lot.

The CompTIA trifecta are the three certifications most recognized by recruiters: A+, Net+, and Sec+. The goal of the certifications is to display you understand the basics of IT, networking, and cybersecurity. They are generally considered more broad than deep, and sometimes hiring managers can still be skeptical of your skillset. I think the biggest piece of advice I can give for preparation is focus on the performance based questions if you have any sort of IT background. Jason Dion nearly violates the NDAs we sign before we take the exams with his courses. If you get them while on sale you're practically guaranteed to be prepared for very little. I am not a career guru, but projects have done a lot for me over the years.

The last set are open data sets, which means they are data anyone can legally use for projects. Sometimes the sets are clean and sometimes they require preprocessing. Seeing as how preprocessing is an extra step that affects nothing I recommend assuming the sets have missing values. Aside from becoming a better programmer you can pad your resume with projects and look incredibly impressive outside of tech. I hope all this stuff helps you, and I will try to make it as comprehensive as possible.


A pile of books

Khan Academy

Khan Academy provides classes on everything from math and science to more specific topics such as economics. While I prefer more traditional sources for structured learning it is a great supplement. I relied on this pretty heavily leading up to my GED exams for math and science.

CompTIA Trifecta Prep

Red image with white text spelling CompTIA

Jason Dion

I really enjoy his tests on Udemy. They usually cover the Performance Based Questions very well, and they often go on sale for a very cheap price.

Open Data Sets

Digital sheet with small boxes in rows and columns


Kaggle is a very popular platform for data science. It offers access to a ton of data sets, tutorials for data analysis, and even the opportunity to compete. It is entirely free to use.