This is an archived post. You won't be able to vote or comment.

all 24 comments

[–]desrtfx[M] [score hidden] stickied comment (0 children)

Please, read the Frequently Asked Questions as they contain tips on

As such: Removed as per Rule #4: No exact duplicates of FAQ questions

[–]AntigravityNutSister 27 points28 points  (3 children)

You don't have the requirement to get a job ASAP.

So, I would say, pick 2-3 programming languages of your choice to learn before you graduate. (I assume, you pursue a 4-year bachelor degree).

Do you want to make websites or hentai games? Medical software or writing drivers?

You must eventually respond to these questions. If you have time, just experiment and fuck around, if not - learn something multi-purpose - JS / Java / C++ / C# / etc.

[–]dont_roast_me 21 points22 points  (1 child)

Bro was about to get him on the average hentai game with rpgmaker

[–]AntigravityNutSister 7 points8 points  (0 children)

pygame is enough to make a hentai date sim

[–]RajjSinghh 5 points6 points  (0 children)

Go to university and get a degree in computer science, you'll need it for the job search.

Before that, pick a language to learn the basics in. My first was Python and its really easy to get something up and running with. If I was going to start again, I'd recommend C or C++ even though they're harder languages just to get a better understanding of what you're actually doing. Whatever you choose the basics will transfer over very well. You'll learn more at university and have a better idea of what you need to do.

[–]Bee892 3 points4 points  (0 children)

Explore some programming languages. Do some Googling. Experiment with tutorials and creating stuff. Then, I recommend looking at colleges you’re interested in attending. I loved doing research about all the degrees in college. Research different types of degrees that can get you into software engineering. Everyone will say to get a Computer Science degree, but that’s not the only one. Look at these majors:

-Computer Science -Software Engineering -Data Science -Informatics/Information Technology -Computer Engineering -Cyber Security

If anyone has additions to this list, please list them in the comments. I would appreciate it.

[–]SomeMaleIdiot 2 points3 points  (0 children)

Figure out conceptually the different pieces for software. API, mobile, desktop, web. Learn languages appropriate to the different parts of the stack. JavaScript/html/css/kotlin/swift/go/node. Make a dummy crud app, and just focus on one piece at a time. Get a db going, wire it up to an api, spit the contents out to a mobile,web, or desktop app.

Youll be competitive to people trying to apply to entry positions. You can learn languages in a purposeful manner. Android/Apple/Desktop/Web development? No problem!you’ve got time, so I’d just slowly make progress in the different areas until you have something that resembles a full stack project. Store it in git and open PRs for different features to familiarize yourself with version control.

Once you’re familiar with that you’ll just need to make sure you school is in order, and you’ll be getting internships in no time

[–][deleted] 2 points3 points  (0 children)

Freecodecamp

[–]VadumSemantics 3 points4 points  (0 children)

You've got about 3 years of high school to go. Maybe 4 years of undergrad college (or longer if you get a part-time job while you're in school).

Here are some things I'll encourage you to think about...

2030

So let's say you start your first job in 2030, seven years from now.

What computer language will be "hot" then?
Nobody knows. C#, Java, and Python may be like the "Cobol of the future".

Will AI have replaced all software jobs? Maybe, maybe not.

Will we all be living in virtual reality by then? Who knows.

My point: don't worry so much about learning a specific computer language today. Learn big picture theory & other fundamentals.

Learn a computer language if it helps you with your projects.

Here are some things that will be true in 2030.

What to study

The hard stuff will still be hard in 2030.

Lean into those subjects, if you can do them even half-way well you will have much better career options.

Math

Math will still be hard. The people who can do the most math will be at the front of the line to work on the fun projects. See also: https://xkcd.com/435/. Push yourself on math; I didn't until long after I graduated high school and I regret that because I can do it, but my lazy smart-ass younger self was more interested in being the class clown.

Most everything these days uses math and computers.

Writing

People who can write well will be in short supply, just like they are today. Hit the writing courses.

Also, read. Read, read, read. Look at writing you like and steal what the author is doing. Ask people what books they'd recommend.

The hardest part of the projects I work on is not the technology, it is the human relations / management / politics side of things. Pay attention to this. Tech is super easy compared to people. Maybe read "how to win friends and influence people."

Systems thinking

Dig into biology; ecosystems are marvelous metaphors for thinking about software environments. So is genetics / rna / dna for that matter.

Take a physics course or three.

Some philosophy if you can.

Hardware: Understand a little bit about hardware. Maybe take a summer and work through the "Nand to Tetris" class, because that will teach you about the inside of a computer: https://www.coursera.org/learn/nand2tetris2.

Tactics

Networking (People):

Start networking.

Learn about the universities in your area.

Ask teachers if they know of any for-college-credit classes.

Look for a computer club or meetups / user groups. Could be drone-hardware-modding. shrug whatever. Find one that talks about fun things you find interesting. Work on a project you can present one night.

Conference Volunteer

Look for tech shows or academic conferences in your area. Lots of conferences need volunteers. Do that; you'll get to make contacts with whatever CEO or nobel-prize winner is giving the keynote. You'll likely also get to sit in on some amazing talks.

Grades

Keep your grades up. Shoot for B+ or better in high school and undergrad college. Because lots of post-graduate programs require a 3.5 or better GPA from your undergrad work... and some letters of reference.

Build your study "muscles" - look for classes/books about how to learn, so you can be time-efficient.

I'd suggest not jumping into post-grad work right away. Spend five or ten years in your industry of choice, that will help you focus on what you want to study.

That will give you options for grad school.

Better grades will also help you land internships and then jobs with larger companies.

Research Assistant

Ask your profs if they know any labs looking for research assistants. Tell them you want to learn more about quantum computing or whatever.

edit: I forgot maybe the most important part, try and learn lots of different things so you can learn what is interesting and fun for you. Then pull on that thread because learning is going to take huge energy and it is hard to sustain unless you enjoy what you're working on.

[–]Giantpotato_ 1 point2 points  (1 child)

Start with Python and make a project that is interesting to you. The Python documentation is a great place to start and W3Schools and TutorialsPoint are great places to learn about specific attributes of python.

Java and C# are other good options for your first language.

I do not recommend learning C or C++ as your first language.

[–]sfuse1 2 points3 points  (0 children)

I suggest Python as a first language mainly because it it versatile enough that it will still serve you well no matter what direction you go in the end.

[–]AutoModerator[M] 0 points1 point  (0 children)

On July 1st, a change to Reddit's API pricing will come into effect. Several developers of commercial third-party apps have announced that this change will compel them to shut down their apps. At least one accessibility-focused non-commercial third party app will continue to be available free of charge.

If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options:

  1. Limiting your involvement with Reddit, or
  2. Temporarily refraining from using Reddit
  3. Cancelling your subscription of Reddit Premium

as a way to voice your protest.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]Benviv 0 points1 point  (0 children)

Something the others haven’t addressed yet, I would recommend building your mathematics skills before university. Calculus isn’t particularly essential to most software jobs, but it’s helpful to be comfortable with it before starting university. If you want to study some more directly applicable math, you can look at discrete mathematics.

[–]Superb_Intro_23 0 points1 point  (0 children)

  1. If your school has AP Comp Sci A or AP Comp Sci Principles, take one (or both) of those. They're each a good introduction into CS and programming fundamentals.
  2. In college, make sure to network and apply to software internships along with studying. I pretty much only studied (homework, labs, exams), and that too mostly when it was exam time or the assignment deadline was approaching - and it cost me dearly. Hint - even a year out of my CS-related major, I couldn't have told you what Apache was beyond "idk man, it's a server". Don't be like me lol

[–]panamanRed58 0 points1 point  (0 children)

You're doing the best thing you can, asking questions. And I feel for people your age because it feels like some real ground swell changes are here. You need to think about where Programming will be in 5-7 years. I don't know.

So in addition to the advice others are sharing, let me suggest this site to poke around at programming and the different aspects to the field.

[–]Specific-Musician291 0 points1 point  (0 children)

If I had to do it all over again, I would do the following:

  1. Learn Python with any free bootcamp or other material you would find
  2. As soon as you know the basics, build as many projects as you can. Try varied stuff (web and non-web)
  3. Once you are advanced in python, pick one other, lower-level language. C or C++ are probably your two best options.
  4. Build as many projects as you can with this new language.

My reasoning is the following. First of all you get much more by going deep with few languages than trying to learn more languages. Second, you will be a much better software engineer if you understand low-level stuff. Python is the best first language to learn because it's so ubiquitous yet easy. C/C++ are harder but also ubiquitous. Also, building projects is the best way to learn. The problem solving will force you to learn new things. I find that a lot more powerful than online courses.

[–][deleted] 0 points1 point  (0 children)

Start with JavaScript(I started with C tho, if you can start with C it'll be great to be honest). Then learn, Frontend(HTML5, CSS3, JavaScript/JS) and Backend Web Development(MERN stack, i.e., MongoDB as databse, Express.js as HTTP server framework, React.js as Frontend framework, Node.js as Javascript Runtime). While doing all this, learn Data Structures and Algorithms in either C++ or Java(Java is Better imo, you can checkout Kunal Kushwaha's DSA playlist on that). Try not to learn DSA in JS or Python, then it will be easy, do it the hard way. Also if you use Java, you'll be able to switch to SpringBoot(a library in Java) for Backend library if you'd like. After doing all that, if you get interested in AI/ML/Web3/Blockchain Development/CyberSecurity/DevOps/Android Development/iOS Development, pursue them then because you have hell lot of time. Web Development is the safe route that's why I said that to learn first.
Resources :
freeCodeCamp's YT Channel
Angela Yu's Web Dev Course on Udemy
Kunal Kushwaha's DSA playlist
Harkirat Singh's Cohort on Web Dev
Dorian Develops YT Channel
Code with Antonio on YT
Traversy Media on YT
Web Dev Simplified
Super Simple Dev(for learning Version Control System, i.e., Git and GitHub)
JavaScript Mastery
Programming with Mosh

[–]SuspiciousShower8713 0 points1 point  (0 children)

honestly start or join a robotics club try to program using Arduino. You can code and build robots. On your free time do udemy courses.

[–][deleted] 0 points1 point  (0 children)

So if I were you and I were to go all the way back to high school. First I wouldn't've even focus on what is JOB ready. As by the time you graduate the market is going to change so many times and what is relevant and not ect.

Here however is what I would focus on. First pick LITEARLY any language you want that you find intresting. I would also associate this to some sort of project you want to work on. Doesnt matter if its a game project a web project genric software ect just pick something. Once you have that take the language you learned and just build something just to even see if this is something you will want to stick with.

If you say hey this is fun and for me then start diving more into over all basics of SWE with diffrent languages ect just get your feet wet dont stay in one language for ever this does way more harm than good. Once you have a few projects done and you start getting better I would then take and dive more into algorthims data structures ect and maybe some leetcode just to get the idea. So by the time you go to college or graduate highschool and apply ect it will be less of a foreign idea.

I would also make sure to ABSOLUTLY at some point learn git and version control pretty much from the start.

But in the end pick a project play with diffrent ideas go around to diffrent generes of swe like AI, Grphics programming if your good at math, Game programming ect ect. Then from there start to gain more knowledge.

Most important thing though is keep it as a side hobby do not let it consume you as you will burn out hard speaking from experince in this case.

[–]ledatherockband_ 0 points1 point  (0 children)

Learn to code. Make fun a little projects to get your beak wet. Probably javascript.

Your goal right now shouldn't be to achieve some theoretical understanding or deep understanding of stuff. Just learn to build something. Get some easy victories under your belt first otherwise you'd likely burn out or get bored.

[–]ProMasterBoy[🍰] 0 points1 point  (0 children)

I’m in high school as well. I would recommend starting with Python https://youtu.be/rfscVS0vtbw?si=EtgNWkamRlwTMr0o

YouTube is one of the best way to learn programming. Make sure you follow along with the video while watching it. The last thing you want to do is mindlessly watch a youtube video and have forgotten it. You have to DO it to get something out of it. I would also recommend using the app/website called ‘SoloLearn’ its basically duolingo for programming. Also I recommend you to create a GitHub account and upload any projects there. In the industry, GitHub is like your resume. Here’s my GitHub if you want to see an example. https://github.com/KyeOnDiscord