“Mastering” the Art of Programming in 2023: A Comprehensive Guide for Beginners.

Zuber Kariye
8 min readJan 29, 2023

Hello, everyone! Welcome back to my blog, this is my third blog of the year and I can’t wait to share more with you. In this blog, I will show you a simple roadmap that covers seven different areas of programming and what we need to know as beginners. We often get a load of information on the internet which leads to overwhelming confusion for most of us. on I will walk you through all the possible programming routes, without wasting your time, let’s get into the blog!

CONTENT

  • INTRO
  • Mini Topics (Different Routes)
  • More Skills To Learn
  • Conclusion

INTRO:

Coding, or programming, is the process of creating instructions for a computer to follow. It’s a language that allows developers to bring their ideas to life and create innovative solutions to complex problems. From building websites to creating mobile apps and video games, coding has the power to change the world and shape the future. Join us as we explore the exciting world of coding and discover the limitless possibilities it has to offer.

How does one learn to code from scratch?

  • That is actually pretty simple, you need to stare at a screen for countless hours until something pops! Just joking!
  • Learning to code can be the best investment in your life career and it cost approximately $0.00 to start. Thanks for all the free stuff on the internet.
  • Luckily, you don’t need to very smart but hard-working person.
  • There is no straight path and everyone has their own journey and struggles along the way.

In this blog, we’ll create seven(7) different roadmaps to give you a rough idea of where to start depending on what is actually you wanted to do.

Step 0:

Mini Topics

What would you build?

  • Games
  • IoT (Internet of Things) Devices
  • Web
  • Mobile Application
  • Desktop Application
  • Machine Learning
  • Low-Level or System Engineering

Start From Here!

  1. Web Development
  • Maybe your next goal is to build the next Twitter app.
  • Web dev may be the hardest part is the programming journey because there are a lot of things involved in it and many things that needed to be learned in order to become a successful one!

Here is what we need to do:

  • Download an IDE (Integrated Development Environment) like vs code.
  • Create an HTML file and learn how to structure a website.
  • Create a CSS (Style Lang) file to make that page look fancy and good with some custom strings.
  • You’ll need a language called JavaScript or JS for short to make web pages interactive. This language allows us to make the website dynamic.
  • Most people don’t use JavaScript itself though but instead, bring in a frontend framework to build out a UI.

If your goal is to get a job, I will then recommend learning the popular framework called ‘react’.

You also need a backend development.

  • The easiest way to do that is to bring in a backend as a serverless like Firehouse Packet or Superbase. This will give you user authentication, database, and file uploads with minimal effect.

But you also need your own custom server-side code and confusingly to do that is:

  • serverless platform, you’ll need to learn nodejs and understand how HTTP protocol and API work on the internet, and then finally you can bring in a meta framework that matches up your front-end framework like nextJS and some others which can put everything in one cohesive package and with that, we have a very rough roadmap for the web dev sect.

2. Mobile Application

Platforms ({IOS} & {Android})

[IOS]

  • You will need to own a mac machine and download the Xcode IDE then learn the Swift programming language.

[Android]

  • You will need to download the Android Studio software, then learn Java or Kotlin Programming language, most programming languages also need a backend and you are going to need tools like Firebase, or AWS Amplify the great place to start learning.

For both IOS and Android, you’ll need to learn entire two different languages and platforms as an alternative you can learn a cross-platform framework such as flutter with the dart programming language, react native with JS, or Microsoft.Net with C-Sharp to build apps for IOS and Android from a single code base.

3. Desktop App Platforms

Apple → Swift

  • You can use Swift to build both Windows and MacOS applications.

Windows → .Net!

  • At the same time, you can use .net to build an app and also .Net Maui to build macOS apps as well.

Linux

  • Maybe your next idea is to build Linux apps and for that, there is a toolkit called GTK that can build native Linux apps and a variety different of languages.
  • Maybe you want to target all three platforms at the same time, then you can use a framework like an electron and Towery which allows you to build desktop apps using JS that runs on any platform.

4. Hardware

  • Maybe you want to build an IoT Device, a robot, or a flamethrower synchronization to your guitar plane.
  • For this path, you can with a simple mini-computer like the raspberry pi which is a tiny computer that allows you to do many things like coding, hardware learning, hacking and more stuff as well.
  • The raspberry pi has its own OS based on Linux and it's good to learn the command line and the basics of it.
  • Next would be to start learning python language because it's the most popular scripting language out there due to its simplicity and beginners friendly language. It can do almost everything you wish.
  • You can also connect an RPI to a breadboard to build circuits and then control their behaviors with your python code or buy an Arduino which has a microcontroller that can be programmed with its own C-like language along the way, there is a ton to learn about circuitry and networking before you eventually connect to IoT devices to the cloud. At this point, you’ll need to learn backend development and protocols like mqtt to pass messages between your devices.

5. Game Development

Another great place to start learning to code is by making a game. Modern frameworks like unity and Godot makes it possible for the average person independently. Both frameworks provide an integrated development environment where you can drag and drop different game elements and then change their behavior with code.

Both game engines are based on C-Sharp programming languages. Either way, there is a lot to learn about game development such as:

  • Physics
  • 3D Modeling with topics like shades meshes ray tracing and so on. Luckily, everything you need to learn is contained within the game engine but there is also a huge ecosystem of third-party assets that you can implement with your own code as you’re not doing everything from scratch as you gain more experience, you may then check out ‘unreal engine which is based on C++ language, It’s more challenging as a beginner but its the engine of choice for many top tier games such as Fortnite, Call of Duty, GTA5 and so on!

6. Machine Learning

One of the exciting fields to get into right now. Machine learning is where you can build Artificial intelligence (AI) to make yourself obsolete. Machine learning is tricky because you can’t just make it happen out of thin air, you need to have a whole bunch of data first in my opinion, the best way to get started is by practicing it at:

  • Data Science → Competition on Kaggle → here you can obtain real-world data and analyze it with a common of other data scientists and if you’re really good at it then you can actually win a lot of money.

Before you get to that point, though you’ll need to learn a programming language designed for scientific computing.

  • The most common options are Julia R and of course Python.

If you go to the python route, you’ll first need to learn such libraries like:

  • Panda → to organize your data.
  • matploblib → to visually analyze the sci-kit learn to start running some basic machine learning algorithms on it along the way, you’ll need to learn about math because machine learning is just a fancy way of statistics.
  • Once you have the basics down, you can then move to deep neural networks with libraries like tensorflow and pytorch which are tools used to build the most terrifying modern-day Ai applications.

7. System Engineering / Low-Level Programming Dev

A great way to start this is by learning the C language. C is used to build all the other things like operating systems [macOS, Linux, and Windows], the kernels, also the python interpreter itself.

  • Surprisingly, C is pretty simple and long to start with though it’s just missing a lot of other data structures like a [list/dictionary] that you may take for granted I python which means you’ll need to implement your own stuff from scratch, learn to understand how memory management works, and how to implement algorithms.

And if you enjoy low-level stuff or system engineering then you may as well learn a couple of other things → Rust(system programming lang), or C++!

With all that we have seven(7) different roadmaps that a beginner can take to learn how to program in 2023!

More Skills Required

  • You also want to learn git and GitHub to version control your software.
  • You’ll also need to learn Linux OS and Bash Scripting language for shell scripting.
  • Computer Networking → HTTP, DNS, and how APIs are built on top of them with standards like rest or RPC and graphics.

I am not even close to being intermediate and forget about mentioning advanced techy, etc. I am just another noob starting our right and would like to share my little skills with others as well so they can gain something from it.

Conclusion:

In this blog, I have covered different routes in the programming world for those who are getting and what they need to learn such as data science, web dev, game dev, frameworks, tools, OS, skills, and so many other stuff. I hope you gain something from this post, feel free to leave feedback, thanks for visiting again!

— Zuber

--

--

Zuber Kariye

Teen into computers and cybersecurity! Wannabe threat hunter, and pentester! Interested in programming, science and history!