I'm a 21-year-old who recently finished high school, and I'm looking to start self-studying software engineering. My family encourages me to pursue a career that can help me earn a living, and software engineering seems interesting because I love building things and solving problems. However, I feel a bit lost since I have no prior knowledge about this field. I've been using AI to help create a learning roadmap, but there are so many resources available like The Odin Project, FreeCodeCamp, and CS50 that it's overwhelming. I have several questions: 1) Besides math, what foundational knowledge should I focus on? I'm currently brushing up on math from Algebra 1 to Calculus using OpenStax. 2) I don't have a laptop right now. Can I start learning coding on paper and then try it out on websites that let me run code? 3) Should I complete Calculus before starting to learn programming, or can I learn programming while I progress through math? 4) What other skills besides coding should I focus on to improve as a software engineer? Additionally, I dreamt of venturing into game development, but given my situation, I believe software engineering has better career prospects for me. I would appreciate any advice or tips you might have!
6 Answers
In today's job market, having strong skills in software engineering is crucial. Most positions require a CS degree or extensive experience. If you want to code as a hobby, go for it, but getting a job might be challenging without some formal guidance.
If you're mainly doing this for the money, you might want to consider other career paths. Software engineering can be highly competitive and not every self-taught developer finds a job easily. It's a tough road if you're not passionate about it. Just my two cents!
Start exploring resources like 'Teach Yourself CS' and focus on languages like Python and JavaScript initially. Familiarize yourself with Unix systems and get involved in tech events for networking opportunities — that's where you'll really find job openings. Remember, most good jobs come from referrals, so building contacts is essential!
Generally speaking, for web development, you don’t really need to be great at math. Sure, it helps with problem-solving, but you don't need a math degree to get started. Just dive in and start coding! But I’d suggest waiting on game development for now since that field is tough, especially currently. Good luck!
Honestly, a degree in computer science can really help you stay competitive since many companies prefer candidates with formal education. It's a big challenge you're looking at, especially with your current background. Some of the questions you're asking are things that could easily be researched online, so I suggest brushing up on your search skills too.
You don’t need to finish calculus before starting to learn programming! You can learn a programming language and math together, just focus on solid algebra and logical thinking for now. If you can get access to a computer, that would really help; running your code is key. Choose one learning resource and stick with it to keep things consistent. Beyond coding, try to learn about problem-solving and how software teams work together, including version control. And since you're into art, consider looking into frontend development or even game dev later on!
Thanks for the encouragement! I'll definitely take a look at those paths.

So glad to hear that! I think your artistic skills could really shine in frontend work since design is such a huge part of it.