DEV Community

Soren Blank
Soren Blank

Posted on

Programming Guide 2024

Programming Guide Banner

TL;DR

  1. If you are mentally weak and if you rely solely on motivation, no course or guide can make you a good programmer.

  2. The tech market is saturated; if you don't have a CS degree, you'll need work harder than ever.

  3. If you are competing with someone who is equally as skilled as you but has a CS degree, they'll likely get the job, so work hard.

  4. Don't just make useless pity "TicTacToe" or "Todo list". Build things that you would be building at your tech job.

  5. Make real software/projects like the way real world company do. These projects will prove that you can do it.

  6. There are no perfect courses or resources. Pick one and stick to it.

  7. A good network will give you unfair advantage. Expand your network and connect with people in your field.

  8. Stop hopping between guides and courses. Don't get stuck in tutorial hell. As I said before, pick one resource and stick till you finish it.

REPEATING AGAIN: Don't just keep on learning, make things real world things real things with it. Create and showcase real projects. Share them online and with peers. Show it online, to your friends, reach out to people, show it on social media that you can and are making stuff.


Chapter 1: Reality Check

Let's be real. Landing a job in today's tech market is tougher than ever. If you do what everyone else is doing, your chances of success are slim. You'll blend in with the crowd. The chances of you failing is at it's peak. You will always be like the rest of the sheep.

You need to work hard—harder than anyone else. This isn't about motivation. If you can't stay focused, handle failure, or push through without constant motivation, then go f*** yourself. No course or guide can make you successful. Mental resilience is key. This is the first chapter that nobody mentions. Work hard as if your life is on the line.

Chapter 2: The Secret Ingredient

The tech market is more competitive than ever. Without a CS degree, you'll need to put in extra effort. Don't be discouraged. Even I don't have a CS degree. Show a high level of competency, and you can still succeed. But remember, if you're up against someone who is equally as good as you and also has a CS degree, they are gonna get the job. So stand out by working harder and showcasing your skills.

Chapter 3: How to Stand Out

It's simple af. Build things that you would be building at your tech job. Build projects that reflect the work you want to do. If you're aiming for a full-stack web developer role, create fully functional, real-life applications. Avoid simple, basic projects. Make them really good, feature-rich and user-centric. By "really good" I mean REALLY GOOD. Something that would look like a real world widely used application.

For example, if you're making a weather app, include login options, bookmarks, weather statistics, air quality stats, themes, and use a database for user data. If it's a music app, give it all the features of Spotify—user login, playlists, sharing options, and more. Show that you can develop real, robust applications.

You need to show higher level of competency in the way real company develop real software. That's the only way you stand out now. Show that you can develop real apps unlike newbies out there.

Chapter 4: Resource Recommendations

There are no perfect courses or resources that you need to follow. Here are some based on my analysis and experience across different fields. Each course has its strengths. They serve as a simple guide to get you started as a beginner. However, to become an expert, you have to put in the effort and work independently. No course can make you an expert. So, don't waste time searching for the perfect course. Just pick one that looks good and start learning.

Here are some of my personal recommendations of courses/resources that have really helped me in various fields. I'll share a few to avoid overwhelming you. Feel free to share your own suggestions in the comments or ask for recommendations if you're interested in a different field.

Web Development

  1. HTML/CSS ( Frontend )

  2. JavaScript / DSA ( Data Structures and Algorithms )

  3. React Course

Note: These are the resources I personally followed to learn web dev. I've done a lot of projects as I learned something. While I was learning HTML/CSS, I've made over 10 projects with just HTML/CSS only. After I learned HTML/CSS and JS, I've made more projects following this 30 Days, 30 JavaScript Projects For Beginners YouTube playlist to practice. While I was learning React, I was also constantly making projects with it. I have made 4 portfolios with React/NextJS so far. Keep implementing whatever you learn. The best way to master something.

Mobile App Development

1. iOS Development

Important Advice: The fastest way to do it would be to run through 30 or 40 days of 100 days of SwiftUI. This will teach basic Swift syntax. Watch a couple YouTube videos on how Xcode works to make an iOS app. Its more than just an IDE. Make a clone of a bunch of apps using SwiftUI. Calculator app, instagram, and then maps app. Skip making a login page. The meat of the app will help open up usage of more fundamental frameworks. Just use stack overflow. How do I x in swift. Reference GitHub projects to see how the community handles idiomatic swift.

2. Android Development

Important Advice: Advices are same here as the iOS development. Make things, make clones as you are learning. This course is really good. Ask Google how to make this and that if you are getting stuck while doing projects.

3. React Native / Cross Platform Development

This section is a bit complicated. There is "React Native" and "Flutter" that industry uses mostly these days for cross platform app development. If you want to learn "React Native", it has pre-requisites. You should learn react (at least some) before react native, and you should learn JavaScript before you learn React. The things you would need to learn before getting into React Native are JavaScript, TypeScript, ReactJS ( To learn functional component approach ). So I suggest, just learn web dev first following the web dev resources.

After that, get started from here:

Important Advice: Same as Android and iOS dev

4. Flutter / Cross Platform Development

Important Advice: Same as Android and iOS dev

Machine Learning and Artificial Intelligence

Note: You really don't need to finish the whole thing in order to get started. Follow tutorials for applied things and also learn these alongside.

  1. Linear Algebra ( Got this recommendation from a guy who cracked BdMo )

  2. Calculus

  3. Probability and Statistics

  4. Python

For rest of the resources follow this video https://youtu.be/gUmagAluXpk

And something I highly recommend:

Data Science

  1. Linear Algebra, Calculus, Probability and statistics same as ML and AI section

  2. Python

  3. Data Visualization and Analysis

  4. You will be needing machine learning anyway so learn Machine Learning following above

These resources are a great starting point. If you don't like them, find alternatives and complete them. As you progress, you'll know what else to learn.

Conclusion

There's no perfect guide to learning programming. Pick a path and stick to it. Jumping from resource to resource is just productive procrastination. All you will just end up doing is wasting your time. Nothing else. Choose a course or book, do projects as you learn, complete it, and move to the next step.

Grow your network. Reach out to people who already have what you want. Make good buddies out there who are doing what you are doing. Go out, show people what you can do on social media. Talk to others about what you can do. Pitch yourself.

Don't just keep learning—apply what you've learned. Build projects that mirror real-world applications. Face challenges head-on. There's no magic solution here, just hard work and resilience. There's no motivation shit here. Now don't get me on with that. You need to fail and learn. And if you can't do that then …

Git Gud


If you found it helpful you can join our programming community to get started with everyone else in 2024.

HexCode Community: https://discord.gg/QcszBKhgbP

Top comments (0)