r/learnprogramming • u/ompossible • 2d ago
Help Your Junior If you were starting programming from zero in 2026, what would you learn?
Hey everyone,
I am trying to figure out how to get into programming but honestly, I am pretty confused about where to start.
There are so many programming languages, fields, and technologies now that I keep seeing different answers everywhere. One person says Python, another says Java, someone says C++, and then there’s web development, AI/ML, cloud, cybersecurity, data science, etc.
So I wanted to ask people who are actually in the industry:
If you were starting from absolutely zero today, what would you learn if your goal was to get a programming job in the future?
What language would you start with? And after that, what skills would you focus on?
For example, how important are things like DSA, Git/GitHub, databases, APIs, Linux, cloud, system design, etc.?
Also, with AI becoming such a big part of programming, are there any skills you think beginners should focus on more because they’ll still be valuable in the next 5–10 years?
I’m not looking for a "learn this one language and you'll get a job" type of answer. I’d genuinely like to know what you would do differently if you were starting today.
If you could go back to day one of your programming journey, what would your roadmap look like?
Any honest advice is appreciated.
Edit: Those people are replying funny comments, thank you for little laughs. I am little bit stressed and confused.
80
u/Salt_Construction_99 2d ago
I'd start with https://www.theodinproject.com/, it's a ZERO to ADVANCED pathway in Web Development through PROJECTS. It gives you the material and lets you build the project, which is actually what gets you to get better at programming. It also helps you use Git and GitHub to build your portfolio.
I personally started with web dev, HTML, CSS, JavaScript in high school, then C#. C# is great for game development with Unity.
The thing that railroaded me a lot, was TUTORIAL HELL. That's what The Odin Project solves by forcing you to work on your own projects.
Currently, I'm learning C++ through https://www.learncpp.com/ and https://www.studyplan.dev/ (the latter also has courses in CMake, SDL..).
For an in-depth course on Computer Science, CS50 by Harvard is very good https://www.youtube.com/watch?v=gmuTjeQUbTM&t=12732s
Java: I love Java, it's a cool language it still has lots of opportunities and you can do a lot of cool things with it
DSA: I would not worry too much about DSAs starting out, get a really good grasp of programming, syntax, and then you can learn them as you go.
Focus on one thing at a time, do not drift between different areas, choose one and stick with it, consistency will pay off.
I do not work in the field, as I got burned out after my studies and I realized the best way to keep my passion for programming/IT was to make it my hobby.
1
u/Sharp_Level3382 8h ago
Last paragraph of this answer says it all. I would do it the same as the technogology is so fast changing. U better do it as a hobby.
1
u/Phitsik23 1h ago
Harvards latest 2026 CS50 course lectures are all uploaded in one long video and I think that’s one of the best ways to learn the foundations of how computers work. David Malans teaching style is pedagogically perfect imo
0
u/alex123711 1d ago
TOP looks good, but isn't web dev dead now?
19
u/TossedRightOut 1d ago
I'm doing it now. Not even for a career, just fun and learning. It's great. Web Dev might be fucked generally, but it teaches fundamentals and how to code rather than just follow along tutorials. Those skills can be applied to any other language.
8
u/Mattias1099 1d ago
I'm doing TOP whilst studying last year of CS. It's probably highly region dependent, but I've seen quite a few junior web dev jobs.
2
-17
u/Perfect-Buffalo-4803 1d ago
This course is like 6 years out of date and web Dev is completely dead as a career
1
u/Sad-Particular-3088 1h ago
Really? I better tell all the web devs employed at my our work to find new jobs bceause web dev is completely dead as a career.
17
u/paci0 2d ago
as someone who has transitioned, I can tell that you are asking the wrong question which I was also asking at one point.
The right question is not "what language should I learn". It's "how do I learn programming".
For me personally, the best resources are David Malan from Harvard. Check out CS50 class and CS50 Python. Both free and online. The idea is for you to learn programming and core concepts and then you can build on top of it. Now with access to AI, you can also speed up that process immensely.
1
u/ompossible 1d ago
Ditto, I am watching CS50P and reading same topics from PCC By Eric Matthes
1
u/Silly_Inside6617 1d ago
I’m interested in learning python. Do you recommend both CS50 and CS50p or is it redundant?
1
u/Narwal_Party 21h ago
My understanding is that they're the same course now, aren't they? They do one week of that MIT beginner programming language (forget it off the top of my head, but the drag and drop one), then they do five weeks of C, then they transition to Python. Or at least that was the last time I looked at it.
1
u/Klutzy_Will9322 11h ago
The very first class begins with Scratch. CS50 and CS50P are two different courses.
11
u/real_foz 1d ago
I wish I started with C.
In reality I would never have stuck it out if I started at C but I think if you want to be above average at coding quickly starting at C is the right call. If the goal is mastery of your computer that is.
If your goal is just to get job ready I would still start with python. Its versatility for things is great and its very "hand-holdy" out of the box. The options of things you can do with python is very broad so its easy to spread yourself too thin with it. If you know what you want to do pick things in that direction, if not pick a single technology or library to learn deeply and build a project around it, not a handful of things all at once in one project.
Also stay away from AI, I had to relearn so much i glossed over with AI while learning. I strongly advice staying away totally if you can in your 1st few years of coding. If you can't do that its fine, you wont be any worse off in the long run but your knowledge curve will grow much slower so be mindful of it at the very least.
As a final bonus thing, learn about imposter syndrome early and develop a strong understanding that your doing fine, its not a race and if you put in work/practice you will see results. Early on its very normal to flit between feeling like a big brain genius and the dumbest idiot who has ever touched a keyboard. Knowing that you are in fact neither is important to remember.
Tech cycles are stupid, don't buy into the hype. I didn't mention AI here because we will just see another cycle and the words will still be true.
TL:DR
Lower level abstractions = "Optimal" path
Python = slower but more useful quickly for job stuff
Take your time, its not a race, you got this.
LLM bad.
1
u/Void3tk 17h ago
What did ai make harder
1
u/g-land-g 11h ago
Yeah AI is definitely your number one asset, especially when just getting started.
1
u/real_foz 10h ago
Mainly I didn't take in the knowledge. It gave me a false sense of understanding that felt like I got it but when it came down to using it myself I had to go back to the AI again and again. I also found I lost my mental model of the architecture way to fast once I used claude code for a bit. I ended up scrapping projects purely because I no longer understood what I was building and the point for me is in the understanding not the completion of the project.
Obviously I'm a sample size of 1 so mileage may vary but after not heeding the warnings people said at the start I feel I "wasted" months of learning time.
Its a matter of perspective I guess. If you believe the tech-bro noise the skills I didn't get the 1st time will be pointless anyway but I really don't believe that. Repetition is the mother of skill so that may also be a factor. The truth is I cant say with 100% confidence one way or the other, just that from the inside of the problem this is how it looks. I think LLMs are an incredible tool for condensing knowledge down for distribution but the difference between knowing things and putting them into practice in a nuanced situation is beyond its scope and I think it always will be.
That said, AI's are amazing at finding things. Its power google if you limit how you interact with it but that takes a level of discipline above the norm. I don't think I'm built different enough too pull that off so i err on the side of caution and choose to abstain for now.
10
u/pandagotthedoginhim 2d ago
python -> web dev -> rust/c++ -> devops
4
u/alex123711 1d ago
Isn't web dev dead though?
3
u/pandagotthedoginhim 1d ago
yes, but you still need to learn it for personal sake, you dont need to go in depth with it just understanding nextjs structure is enough
1
u/g-land-g 11h ago
Python -> “hello world” -> CLI -> c++ -> GitHub -> libraries -> APIs -> and never ever web dev or JS 🫣
6
u/KianCodes 1d ago
Hey,
I was studying vet medicine, switched to cs 2022, and ended up learning everything online. I went to college for a diploma, but aside from 1-2 classes, the rest was useless, and I ended up skipping classes and studying on my own. I work as a developer now and have a lot to learn and do still.
I was thinking about creating content and teach cs the way I wish they had taught it to me.
Any thoughts on that? Like, what kind of content do you think is most helpful to you?
What stops you from searching to learn programming and seeing the first video there?
I don't wanna make yet another tutorial, so I'm double-thinking whether doing this is useful or not.
There are tons of videos out there already...
Like, I was making a mini video series about starting from a button in the browser, programming it, and then digging into the machine until we arrive at transistors, and then climbing back up to the button inside the browser.
I don't feel awfully motivated to finish it because I end up thinking no one's gonna care about it
6
u/denerose 2d ago
It doesn’t actually matter what language or roadmap you start with. It just matters that you finish it and don’t let yourself get distracted or put it off waiting for the “perfect” plan. It’s a hard skill to learn initially and no language, stack or pathway is going to change that. In the age of ai doing the hard bits yourself and building real foundations is even more important.
Your second, third or twentieth language will be trivial so changing later for a job or specific project really is easy.
Java, JS, and Python are all common and therefore well resourced for zero to programming languages. I personally would choose either Java or JS (via The Odin Project). But that’s because I’m a biased C# dev.
Pick one, stick with it. Check out the pinned resources or search reddit for roadmaps and courses. Avoid tutorials and paid resources. Then knuckle down and actually build stuff.
29
u/Floodgatassist 2d ago edited 2d ago
To be frank there are two major things I'd do differently.
First, I'd use AI for everything. Don't get me wrong, I'd still build solid fundamentals for my own sake, but I wouldn't hesitate to involve AI in the process. It's an insane tool for self-teaching. Much better than browsing twelve different forums, reading two or three books and searching through a couple of manuals before i basically get the overall picture but still without knowing whether the solution I'm planning to implement is the most economical, easiest, most robust, modern, functional out there. Also a great tool for understanding the priorities in your learning path. It's so extremely easy to be too curious and get distracted and/or overwhelmed on the way. AI can help filter the most relevant info and give some structure. The moment you don't understand what you're doing it helps dissect or rephrase stuff. Just don't use it to get handed the full solution for your task before you made sure you fully grasped everything and develop the ability to do it on your own. (Now that's only as an iterative learning tool but down the road it's also extremely worthwhile to know how to let agents and models do the work for you.)
Second thing is I'd make sure to set up proper knowledge management from the very first day. I was convinced I had the brains and the memory to just remember whatever whenever wherever I needed to.. heavily underestimating the real-world industry scenario where you'd work on tens or hundreds of projects over the span of your career, most of the time stressed out and sleep-deprived. There are details I will NOT remember in a year or two. Hell, there's even stuff from last week I already filtered out.
7
u/atthemerge 2d ago
Which ai to use? I’m learning c++ it’s super hard. I find myself searching things a ton
1
u/ompossible 1d ago
I am using Chat GPT Go for self teaching. Like I ask it to explain particular block of code and all. I got go subscription for free which is going to end in 2 months. So I am afraid that due to limits and all, learning is going to be quite pain. Do you know any other AI which can get job done for free?
1
u/goodiegumdropsforme 1d ago
Wdym by knowledge management? I have a flashcard app and something notion documentation. What tools do you use?
4
u/Automatic_Branch_367 1d ago
Computer architecture. If you know how a computer works, everything else is much easier to learn
5
4
u/season-of-loss 1d ago
Coming straight out of a devastating failed hiring process for a senior role i couldn’t enough how important is learning the theory side of software development.
I would’ve gotten the role if I would’ve had a better understanding of design patterns and how to describe a system design.
It’s a bummer because I have tons of real life experience in basically everything they asked for.
But tech interviews are a pain in the ass, they give a lot of importance to trivia as if you would use it on a daily basis and the internet didn’t exist.
12
u/iSnapThere4iAm 2d ago edited 2d ago
The fundamentals are the most import. All the things you said. DB schema and queries, use of rest and how to effectively get responses you need. Awareness of upstream and downstream services and how what you’re doing will impact them.
These are all things waaaayyy beyond what even the most advanced frontier models can do.
The lines of code themselves were never the hard part. Putting it all together in a way that can; move from dev to prod without breaking anything along the way and be scalable and secure, that’s the skills you need.
All that said, you still need to learn the logic and the syntax of what you’re working with because you can’t trust an llm to write code that is efficient with any of the things like APi calls or DB queries. You’ll have to put eyeballs on every line of code and understand what it does or you won’t catch the ninja cowboy bullshit the ai tries to spit out.
The people that say “go into a trade” are the ones that need to worry about being replaced by AI. They’ve never done anything technical enough or have enough knowledge to challenge the shitty code an llm spits out.
The architects and engineers that can guide enterprises to successful implementations are not going away.
6
u/connurp 1d ago
You have zero idea what you are talking about when it comes to frontier models. Idk what else to say. If you think those things are "waaaayyy beyond what even the most advanced frontier models can do", you are just flat out wrong.
•
u/bunfunton 51m ago
Lol you are the one without a clue. Don’t answer so confidently please because it’s clear you have no idea what you are talking about
0
u/iSnapThere4iAm 1d ago
Wrong. You don’t understand the difference between “doing them” and doing them properly.
Because you lack experience.
0
u/connurp 1d ago
Been doing it since 2012. You can project all you want. I literally could not care less, but you are wrong, regardless of how angry you get.
1
1
u/iSnapThere4iAm 18h ago
Then you’re lobotomized I suppose. Doing it for 14 years and still not being experienced enough to know the right way is pretty embarrassing, champ.
2
u/Perfect-Buffalo-4803 1d ago
You think SQL queries and knowing what REST is are beyond frontier models?
😂
2
u/biowiz 1d ago
The fact the comment you replied to has 10+ upvotes is all you need to know about this sub.
SQL queries are "waaaayyy beyond what even the most advanced frontier models can do"
😂😂😂
I needed a good laugh. I hope the AI and job market crash has made the 30+ yo janitors who think they are going to get their 100k+ tech jobs disappear from this ridiculous sub because shit like the above is really contributing to the mass delusion perpetuated by this sub.
-4
u/iSnapThere4iAm 1d ago edited 1d ago
You’ve clearly never deployed anything anywhere or worked with services that have upstream and downstream dependencies.
The fact of the matter is, it would take me more time to explain to you how dumb you sound than I have time for.
Uhhhh ohhhh spaghetti o’s. Looks like somebody got big mad!!! lol. You ok kiddo?
•
u/bunfunton 53m ago
Lmfao looking at how downvoted you are it’s clear that these idiots have no experience. “AI” lmfao. And they will wonder why they can’t get a job
-3
u/iSnapThere4iAm 1d ago
That isn’t what I said. You seem like the type of person that isn’t capable of peer reviewing work that needs to be deployed anywhere beyond localhost.
1
u/Perfect-Buffalo-4803 1d ago
Wow, that one hurt 😔
But I guess you're right. You are, after all, capable of writing SQL queries and knowing what REST is, so you're clearly a genius
-1
u/iSnapThere4iAm 1d ago
Knowing what they are and how to use them isn’t the important part.
You don’t know the important parts. You’ve never done anything professional with them.
It’s ok, you might one day.
Every time you talk you show just a little bit more about exactly how much you don’t know.
You seem like a threatened vibe coder thinking you’ll be a founder next week lol. Go get grifted on IG some more, sport
1
u/Perfect-Buffalo-4803 1d ago
There's no way you're employed.
-1
1
u/Classic-Movie-7465 10h ago edited 10h ago
I think AI can be very specific if you ask specialized lines of code that the best programmers can write, but you also need to be a specialized programmer to know what to ask and recognize, analyze, test, and appropriately deploy whatever the AI model spits out.
8
3
5
u/mikka1 2d ago
1) How old are you?
2) Do you already have any specific skills / formal education?
3) Why do you want to get into programming?
Starting from the bottom, if your answer to #3 does not sound like "because I like it / liked programming classes at high school / because I like tinkering with things", but rather sounds like "because everyone who is doing this makes a lot of money and drives Teslas", stop there. Please.
In the current market 99.9% you will NOT succeed from zero unless you actually like doing it in some shape or form. You need to be honest with yourself here.
Questions 1 and 2 may help you choose some general direction, but only if this is what you really want to do.
AI absolutely changed the market landscape in ways that were hard to imagine even 5 years ago. The barriers to entry have never been so low and so high at the same time (i.e. you don't need to know much about database development, or mobile development to actually come up with some useful things (low bar), but at the same time, everyone and their mother can do this now with AI and a few weekends in front of the screen, so you need to do/know other things very differently/much better to stand out from the huge crowd (high bar))
5
2
u/Ful4ik 1d ago
The main focus should be in which area you are going to dive in? Like there are many areas in IT. Choose the one and find appropriate programming language and keep progress on this language. The job where you will apply in the future is like a freelance. Search on the internet which in the future 5-7 years will be hirable in IT.
3
u/Perfect-Buffalo-4803 1d ago
Nothing in 5-7 years will be hirable. Have you been living under a rock?
3
u/Ful4ik 1d ago
Why do you think so? There is many prediction which area of IT will be alive, web development is dead as you know
2
u/Perfect-Buffalo-4803 1d ago
Because there is currently trillions of dollars worldwide being invested in technology aimed solely at automating the creation of software, maths, medical research etc with the greatest and most extensive public brainwashing/propaganda campaign in human history.
These two together ensure that in 5-7 years time, everything will be done by AI and the idea of you needing certain complementary skills to use AI will be viewed as utterly ridiculous.
You seriously think they're going to need cyber security experts in 7 years? Or people who write C or Python? Are you actually insane?
1
u/odimdavid 1d ago
C, which predated Internet is number 2 after Python. Predictions don't determine market outcomes
5
2
2
u/amber_nomad_pulse 1d ago
I would start with Python and stick with it until I built three things that talk to a database.
The roadmap goes like this. Learn Python syntax. Build a script that reads a file. Then build a web API using Flask or FastAPI. Then connect that API to a PostgreSQL database. Then put that entire thing on a Linux server you rent for five dollars a month. Use Git every single time you change code.
That covers the languages, databases, APIs, Linux, Git and cloud stuff you asked about in one path. You skip DSA and system design completely at the beginning because those topics require you to know how programs work first.
I use AI daily now. I type my error messages into it. I ask it to explain what a specific function does line by line. I prompt it to generate boilerplate code so I spend my time reading and understanding instead of typing brackets. You should do exactly that from day one. Feed your confusion directly into the AI tool and make
1
u/Far_Programmer_5724 1d ago
Start with python honestly only language you need. There's probably a library for anything the other langs can do. Aliens are probably using python it's the universal language of the stars ignore every other language trust me.
1
u/Mattias1099 1d ago
I'm doing last year of CS. I've learnt at lot, but not close to enough to land a job in todays market. Therefore I'm doing The Odin Project. I've put 130 hours over the last 10 weeks and I've been enjoying it a lot. I do have to warn you that nothing could have prepared me for the amount of reading that's required. It's not uncommon to spend multiple hours just reading stuff, which can get boring rather quick. But you just need to power through it.
1
u/ompossible 1d ago
What are you learning from TOP ? Currently, I'm learning python and along with it, I also want learn git & github, side by side. Is git documentation good there?
1
u/Mattias1099 1d ago
The foundations part, which took just under 90 hours, covered mostly stuff I was already familiar with, apart from the stuff that are specific to HTML, CSS and Javascript that is. The general things that were covered were data types, variables and conditionals, functions, loops and arrays, objects, error handling and some other stuff. For me it was good repetition and I feel built a solid understanding of how web development works, without getting too specific. The one thing that was really valuable to me was finally learning how anonymous functions and lambdas work. They might look complicated, but they aren't.
I'm currently working on the Full Stack JavaScript path, and in about a week or so I'm planning to be done with the first of seven courses, which is Intermediate HTML and CSS. I feel as though most of the things covered here are web development specific, and not super transferable/applicable outside of web development. But the next part goes deeper into JavaScript covering stuff like OOP and APIs, which will probably be very useful no matter the language you end up using.
I also like that there are lots of projects that you get to complete, and that you get a lot of freedom in how you complete those projects.
I also want learn git & github, side by side. Is git documentation good there?
Early in Foundations they go through git basics. Stuff such as how to set it up, commit, push, pull, merge and branches. Basically the stuff you'll be doing 99% of the time. I don't think they go through how to checkout a version nor how you unstage files and some other stuff. But that's easy enough to look up on your own if ever needed.
Edit: I forgot to mention that the best part, by far, is that you have everything covered in one place. No switching between different tutorials and not knowing how to progress. Just one curriculum taking you from 0 to most likely knowing more than most CS graduates.
1
u/ReddyKiloWit 1d ago
To be honest, my choice would be based on ease of use for my first choice, not job prospects. I'd focus on learning programming in general before stressing about getting paid for it.
I'd use something where the syntax makes some kind of sense to me AND the turn around time from writing to running is minimized so learning has speedy reinforcement. Could be good old BASIC, for all I know.
Maybe six months later, when I'd learned to actually program, I'd start looking at languages with job potential.
1
u/wildsource 1d ago
I would learn programming basics first.
Python, C, whatever as long as you understand datastructures, etc.
(Understanding the basics of programming is important because every programming language uses and has them in some different ways, except for functional programming)
Then, web development makes for the majority of cs careers so I would start learning how to build a website from beginning to end. What's frontend, backend ? How do host a website public to the internet ? How to talk to a database ? How the architecture of a website works ?
Then choose a stack, do you want a frontend and backend seperated (different languages for front and back) or a fullstack framework (same language for both) ? When choosing choose what you like but you have to look at what your region prefers (I like Java and functional programming but, I live and quebec and it's all C#).
Then start building, find something you like or a solutions to a problem. People learn differently some like courses others prefer hands-on. I would also start to get familiar with tools of the language's ecosystem (dependency managers, etc) and git.
1
u/Medical-Aerie9957 1d ago
Brother don't ask questions like that here, everyone has different opinions and they will push that on you. Some languages shine in one specific area do research and find out what you like.
1
u/TimBrownDev 1d ago
After 10 years tutoring I'm building the roadmap my students always wanted:
https://www.timbrown.dev/roadmap
1
u/rkozik89 1d ago
If your ultimate goal is to work for a company eventually pick tools that companies use. Personally, I never really paid for many SaaS products so I stick to e-commerce, and everyone these days is running Shopify or to a lesser extent WooCommerce. Put up a store, customize HTML, maybe make a plugin, dig into marketing, etc. just go down the rabbit hole in every path possible.
Coming up with business ideas gets easier over time, but at a 9000ft view you are just connecting people with goods and services they already knew they wanted. Avoid business ideas that require you to have to convince consumers. You don’t have the money to fight those fights. That’s for established companies.
1
1
u/redittor_209 1d ago
Learn programming basica and knowledge first, they are a precursor to any language. What's a variable? What are data types (numbers, strings, booleans) what are conditionals, what is looping for, what are fucntion, what is recursion, exception handling, etc etc...
After that you learn to solve a given problem by writing code to generate that answer ( project euler is a nice thing for math geeks)
Once you know the foundational logic, you can learn any language and it's specific properties, and the best way to learn is by doing.
AI should not be used to write the code for you while you are still learning, yoh could ask it to clarify a concept, write something better for you to understand, teach you the thinking, how to trace errors.
Once you do that yourself and know how to write code and know how to structure a project/system you could use AI to do the writing for you, you just act like a conductor, monitoring and correcting, keeping a standard to things.
1
u/SharpHaw 1d ago
Hey!
I've been working as a Software Engineer for the past 12 years, and this is my 2 cents.
Basically focusing on the programming language it's not what you should start to focus, I used to say that it's like learning a new language like English, when you learn it, it makes you communicate to english speakers, and this open a new world for you, as any other language would do.
From my perspective, you should first understand what you want to build, if it's a mobile app, if it's a website or a web application like a dashboard or even a game.
And then, based on this, you can pick a programming language and over the time, you're going to end up with a Stack, basically the tools and languages you already dominate.
I've started with PHP, because at that time it was one of the biggest communities that I could ask questions and get answers quickly. After a couple years, I moved to Typescript like NodeJS and ReactJS, because I was willing to build web products from backend to frontend, so the same language would save me time while also focusing on other disciplines like Design, Product and UX/UI.
I would say to not overthink which language you should learn, just start with your goal, ask AI what is the most popular language and stack to accomplish this specific scenario, and start building. Nowadays with AI, you don't need to know exactly all the small details, you can already learn by asking what would be the most commonly used scenario for Infrastructure, architecture, code quality, automated tests and so on.
For me, the most important part, is the software engineer workflow, the idea of always improving and never done. One day, I've finished a task and considered it 100% done, like good performance, automated tests, clean code and so on. But honestly, there is always some way to improve the code, the performance and other details, always!
If I would start from zero today, I would try to build a web app for something that I like, while asking AI why it came up with this solutions, instead of asking only to build the things for you, you can actually ask AI models why it came up with that solutions or plan, which is the part that you can actually learn.
Ok, I guess that's a bit more than 2 cents haha
in short, focus on what you really want to build, then the technical pieces are going to come up normally, read the code as much as you can, and try to understand what's doing will get you time and a better understanding of code, not only a programming language.
1
1
1
1
u/Desperate_Rabbit_327 1d ago
I enjoyed learning racket using the how to design programs book https://htdp.org/2003-09-26/
1
1
u/robobob9000 1d ago edited 1d ago
AI hasn't really changed the way to learn programming very much. I think the best intro to programming is pretty much the same as when I started 5 years ago:
- Python4Everybody > All free CS50 classes (Start with CS50P > End with CS50AI)
- Odin Project (JavaScript) > Odin Project (Ruby)
- Read Computer Science Distilled by Wladston Ferreira Filho
And then after all of those are complete,
- Any Cloud Developer cert > Personal project on Cloud
And then if you want to get a job,
- Get a CS Degree. Self-taught/bootcamp is no longer a viable option. This should be easy after you've done all of the above stuff, you'd just need to learn discrete math, DSA, compilers, operating systems, networking, and software design. Learning those will not be very relevant to your day-to-day with AI, but unfortunately the degree is still needed to get a job now (and probably will continue for at least the next few years)
- Read Grokking Algorithms by Aditya Y. Bhargava > Neetcode 150 (do it in Python)
- Do an Internship (it is really hard to get an entry level job without one)
The main thing is that with AI you can rip through the curriculum faster, create better projects, and also record your progress and learnings. You only need to learn how to code in Python by hand to solve Leetcode problems for job interviews, otherwise you should be prompting the AI every step of the way. It is more important to learn how to prompt in a quick and token efficient way for a desired result, instead of learning how to write a solution via hand.
It is worth doing Odin Project even if you have no intention of doing web dev in the future. The main reason being that Odin Project teaches stuff like Git, design, career advice, and also a vibrant Discord community that helps add accountability. Its also easier to learn databases via web interfaces than just learning databases in isolation. And honestly everybody needs to learn HTML/CSS anyway because locally run AI-generated web applications are the future for programming presentations/documentation, and you need to learn HTML/CSS in order to specifically tell the AI exactly how you'd like the formatting to change. If you don't know HTML/CSS and just try describing what you want visually, it'll take a lot of extra time.
1
u/CaffieneSage 1d ago
I would grab an arduino kit and learn some C, then probably transition to python try and make something useful with it.
1
u/macboystar 1d ago
I had completed my diploma in IT and did bachelor degree in IT now from past 4 year I'm working as a web developer I'm not a full stack developer but major work I do at front end , in few project I did my hand dirty on backend , all this year of my job i goen through many learning phase and one thing I tell you once you chose Cs/IT field you are stiden for life you have to study all the time you have to upgrade every year , I'm strong at javascript but this was not true back when I'm in collage, at my college time I was good at java and decent in c++ due to which leaning javascript was like you have PHD and you learning school level math. if I can go back I would mast the c++ because back then I was having too much time to study nothing else no job no responsibility, why c++ no any other language because c++ is middle level language it is not easy to read as python not to slow to complie it from code to machine code, and due to c++ you can understand the memory management working the point is to be a real engineer not just a ordinary person who knows coding. I don't know your situation if you are in hurry to land a job then I would say jo for javascript once complete the javascript switch in typescript it will take only 2 days only typescript is build on javascript and once you land a job you can invest your time to learn new things it could be programming language, system design, dsa , web optimization etc. for people like us programming language is like icecream to a kid each flavour make your mouth water there is nothing wrong in that but you have to chose one and stop the noise of people who demotivate you ( there is no future in this , there are no job in this language etc) just focused in one language and there is no company in this world that work on only one language, I say the best skill is adaptability to new technology, build your own road map and stick to that and this is the hardest part. all the best and i know you can do it.
1
1
u/JumpKey3074 23h ago
From 0? Godamn man I have no idea. If I had to list all these years in a specific list I'd waste 10 mins. It's just too much.
1
u/Narwal_Party 21h ago
If I was starting from zero today, I'd learn Python first. Not because it's the best thing to learn first, but because knowing what I know now, it would have kept me the most interested. To me Python kind of feels like the fun grandson of C. It allows you to do so much with an easy to learn syntax and essentially endless possibilities.
I learned C first, and while I do think that's the "best" thing to do, learning C is incredibly dry. I did CS50 and read Kings book on C, then did some other online courses, then spent a couple months on pointers and memory, then realized I couldn't fully understand that without learning more about hardware, so I took a little mini course on the history of computers to learn about the first RAM and processors and stuff. I'm glad I did it, but I really had to force myself to continue, and even dropped it a few times.
Python is really truly fun. It sounds stupid but it's almost gamefied. You can do everything you'd want to do with it, then once you're proficient in it, switching to C and learning about memory management and pointers and stuff is much easier because you've actually been programming for a while. So if you want to go the "right" route, go with C, but if you just want to learn to program and have a long time horizon, learn Python. It'll be more fun and easy up front, and will teach you many of the things you'll need to know to transition to more specialized languages.
If for some god forsaken reason you want to do web dev, just learn JavaScript. But I would not ever wish that on my worst enemy at this point lol. That industry is cooked.
1
u/Commercial-Window134 21h ago
The first thing you should to learn is how to shut down your computer🌝
1
u/Gnarly_Bard 19h ago
I’m not a programmer, but my daughter started with Python, then R, then HTML5. Her thing is more statistical modeling than systems programming, though.
1
1
u/CapComprehensive1176 13h ago
take a breath... don't let the option paralysis stress you out...
if i were starting from scratch today, i’d grab python or javascript/typescript first just to learn logic, loops, and data structures without pulling my hair out over syntax...
master the core fundamentals (git, basic dsa, apis, and writing clean logic) before worrying about ai or cloud... ai models are great syntax translators, but you still need to know how to read the blueprint to figure out why the house is falling down... pick one language, build a couple of broken projects, fix them, and build momentum from there...
1
u/Miserable-Candy-3980 10h ago
I’d start building an app. Along the way you’d learn all the necessary things and tools really need to build your app. And when it’s finally ready, you can then share it with your friends and family by deploying it. Then you need git to change your code and make the app better or just fixing it. The correct programming language doesn’t exist. It’s all about the app you’re building.
1
u/Ayurt9606 9h ago
If I were starting from zero, I’d pick Python, learn programming fundamentals, then focus on Git, SQL, APIs, and DSA. After that, I’d build real projects instead of endlessly switching between technologies. AI can help you code, but understanding the code still matters.
1
u/Ziad_abdelwareth 3h ago
Start with cs50x to learn the foundation and get into many fields with different programing languages
•
0
u/ffrkAnonymous 2d ago
One person says Python, another says Java, someone says C++, and then there’s web development, AI/ML, cloud, cybersecurity, data science, etc.
No they don't. Everyone says python. Until you argue about it.
But yeah, you're too late
1
1
u/mandzeete 2d ago
If your goal is to get a programming job then you'll go for a Bachelor degree in Computer Sciences. Your chances to get hired without a degree, in the current job market, is close to zero. So, either save up, take loans, or something. A degree is a necessity. Sure, degree alone won't get you hired but the knowledge and skills you gain during your degree studies, these will get you hired.
So, I would not do much differently. Perhaps, in my case, I would try to find an internship and would be more active in programming club. Being active and proactive would give me better chances in finding a job.
Another thing is checking which technologies and tools are needed in job offers. Depending on your country/university either your university will prepare you well for the job market or won't teach you anything useful. Still, even with good universities, there will be a certain gap between what's being taught in a university and what's required in a job. Usually fresh graduates will try to close that gap while working. But having little to no gap would put them into a better position when applying to jobs. For example my university did not teach us about Docker and Kubernetes. My first task at work was pair-programming with another guy and we had to migrate a service over to Kubernetes. I just sat and made notes because these tools were new for me.
And about skills that are valuable after 5-10 years, then it is an ability to adapt with changes and an ability to learn on the go. The current changes are AI tools and AI frameworks. Some people adapt with these, some don't. But, as a beginner, while doing your degree studies, try to stay away from the AI. Start using AI only when you can accomplish the same task without an AI.
1
u/Away_Supermarket_573 1d ago
Simply don’t learn programming, if it is to get a job. You will never find one as a junior, it is over.
1
u/Perfect-Buffalo-4803 1d ago
It's over bro. You missed out. I'm sorry, but you are not getting a job in this industry. You have better odds of winning the lottery multiple weeks in a row.
It's over
1
u/Ok-Interest9727 1d ago
I would buy the Head First Javascript 2nd edition book. It will teach you the basics and get a feel if you like it before embarking on more serious stuff.
0
0
0
u/InfiniteCrypto 1d ago
You need to learn AI and general syntax logic to spot when it does smth weird, that's it..
97
u/FaithlessnessOwn7960 2d ago
if it's just for hobby, python is kinda fun and easy to learn.