I have a CS degree so I understand programming as a theory (and the math behind it).
But coding up a functioning consumer app (web or mobile) is completely different. What are some intermediate level resources that teaches you to code functioning apps?
Not entirely unnecessary but I don’t need beginner level resources like CS50 or something similar…
Should I just do a coding bootcamp?
Honestly a CS Degree will prob not be an excuse to jump to intermediate, a reason I rage at Job listings requesting CS Masters students, where a programming diploma will suffice. I would personally start on Web before Mobile, because mobile is os dependant often.
If you still attend school, try getting linked in Learning using your school email. Free for all students, you may still have the benefit.
Otherwise take a Udemy course on Intro To Web dev for 15$ finish it in a week, and then Jump into React or Angular. I’ve helped CS students with their projects and studying, and while they’re learning the most complicated parts of Development, the result is just math with code. You’d fully utilize your degree creating the BIOs for motherboards more than you would with creating a website. In my 4 years of development, I’ve never had to used any math harder than a quadratic equation.
Best courses that taught you a lot?
I would look onto Udemy, and just see how many people have bought and reviewed the course. Also the ones that say “2023 edition”, if you buy them you buy every update after that. So if they make a 2024 update you’ll automically get upgraded. I bought a python course in 2018, and I checked my account and there was 2023 version there. You also wanna take a look at the length of the course. Honestly they are all gonna be the same, it’s a matter of your own drive to make the most out of it.
Build and deploy something to the web that isn’t a tutorial.
The focus should be on solving problem, not following best practices or using specific npm packages, etc.
Heck, you can even start you project in vanilla JavaScript. Then once you’re done with version one, refactor it using React.
Then doing it again with Vite or even CRA. Then add in different features and packages. You will learn a lot faster if you actually do it
Don’t worry about best practice because that’s not your problem for now, as each companies or teams have their own set of rules. You can develop yours along the way but the most important thing is getting it done.
I think you should learn what is popular, doing so means you’ll find developers when things grow. React is a very intuitive library for building applications for the web, and it’s not a very large leap to move to react native for mobile.
If I were trying to get started I would use a server rendered framework like Remix or Next, both of which use React. I would model my data using an ORM like Drizzle or Prisma.
Two great resources are courses by Kent C. Dodds, Epic React and then after you understand that, Epic Web will teach Remix.run.
Most importantly just start. It’s that’s simple. You’ve got this, I believe in you. Good luck!
YouTube and weed is all I ever needed
Chat gpt helps a lot too
What has worked for me is identifying the problem, sketching out the user flow on paper, and then building it. Something like (let’s say for a CRM).
User logs in, clicks on new lead, enters this info, sets a reminder. User logs in, converts lead to customer, attaches contract, makes invoice.
Just try to think what the user wants to accomplish and then work backwards from there.
Best way is to pick a small app or project and start building. When you hit issues or questions, start googling. You typically end up on YouTube, stackoverflow, or a random blog post.
Doing the coding and building will teach you more and faster than just reading. The project or app will give you some rails to stay between and help you learn the process and steps
This is it. Accomplish a goal, using code. That’s the gist of it.
The goal starts really simple. Goal #1 is always "Get it to say “Hello World” when I press the run button.
From there, the goal just needs to progressively grow until you get to things like “I want to automate some manual data entry for an entire industry”
Apps and websites are good for displaying some sort of data with ways to interact in simple ways.
Just find something you want to build and figure it out along the way. You’ll screw up, have to redo it later, but that is really the only way to learn.
Source: tech lead at a startup, no CS degree.