Are you feeling unsatisfied with your current job? Thinking about what else you could do in life? How about becoming a programmer? š»
You've probably heard stories about programmers working remotely, earning good money, and enjoying a flexible lifestyle. If you've already made the decision to learn programming, I invite you to join this exciting journey with me! š
Just six months ago, I was serving as a platoon commander, so learning programming from scratch is something I can relate to. On this channel, I'll be sharing the knowledge and tips that helped me land my first junior developer position, helping you avoid some of the mistakes I made along the way.
Whenever I start something new, I like to have a plan and follow a structured path. Thatās why I decided to use the Frontend Developer Roadmap to guide my learning. It's a detailed guide of topics you need to learn and understand to maximize your chances of landing your first programming job.
But before we dive into the roadmap, let me explain a few basic things about learning programming.
What Exactly Is Programming?
Youāve probably heard a lot about programming, especially now that itās so popular, and more people are jumping into it. But what is programming, really? š¤
To put it simply, programming is all about giving instructions to a computer. Think of a programmer as a kind of instructor who tells the computer exactly what to do, step by step, to complete a task. š„ļø
The key thing is that the instructions have to be very preciseāevery dot and comma must be in the right place. Computers donāt think for themselves; they only execute the commands theyāre given. So, if you make a mistake, the computer wonāt do what you intended.
Who Is a Programmer?
A programmer is someone who provides a computer with a set of instructions, written in a language that the computer can understand. šØāš»š©āš»
These instructions can vary: from adding numbers, showing something to the user, performing mathematical operations, filtering data, executing functions, and much more.
There are different ways to program, depending on the type of programming language the programmer is using. Each language has its own rules and structure, but they all serve the same purposeātelling the computer what to do.
What Is a Programming Language?
Just like we humans communicate using different languages, a programmer communicates with the computer using a programming language. š£ļøā”ļøš»
To give you an example from everyday life: if you want to ask a foreigner to do something for you, you need to speak in a language they understand.
Similarly, a programmer has to use a language that the computer can comprehend. Hereās the tricky part: computers understand binary codeāstrings of 0s and 1s. But can you imagine programmers having to write code directly in binary? šµ
Thankfully, programming languages were created as a sort of compromise between human languages and machine code. Programming languages allow programmers to write code that is then translated into binary for the computer to execute. This process is known as compilation. Some languages, like JavaScript, are interpreted rather than compiled, but letās not get into too much detail just yet.
Types of Programming Languages
Programming languages can be divided into high-level and low-level languages.
- Low-level languages are closer to machine code and are much harder to use for general purposes. Theyāre typically used for very specific tasks.
- High-level languages, on the other hand, are more user-friendly and can be understood by any logical thinker after some practice.
High-level languages are much more convenient for programmers because they are more readable. Once you understand the semantics (symbols and expressions used in the language), the syntax (the grammatical rules), and the core programming concepts, youāll be able to communicate with the computer to make it do what you wantāwithin certain limits, of course. š
Frontend vs. Backend
You might have heard terms like frontend and backend tossed around when people talk about programming. But what do they mean? š¤·āāļø
- Frontend refers to the part of websites and applications that users actually see and interact with. It includes the layout, buttons, and visuals that make up a website or appās design.
- Backend, on the other hand, refers to all the processes and logic happening behind the scenes, usually on a server. These processes power the functionality of a website or application but are not visible to the user.
When developers work on new projects, they usually create both frontend and backend elements. These two parts work together to create a seamless user experience.
Now, you might be wondering: Should I start with frontend or backend development?
It all depends on what interests you more. Iāll dive deeper into this topic in another video to help you decide. For now, it doesnāt really matterāyouāll figure it out as you go.
Personally, I chose frontend development because I enjoy seeing the immediate results of my work. Thatās why most of the content on this channel, especially at the beginning, will focus on frontend development.
If youāre unsure about which language to start with, Iād suggest either JavaScript or Python. If youāre interested in websites and web apps, go for JavaScript. If youāre not sure what interests you yet, start with Python and figure it out from there.
What Is Frontend Programming?
Frontend development deals with the parts of websites and apps that users actually interact with. This includes everything from the layout to the buttons and other visual elements.
When people think of frontend, they often think about the design and appearance of a website, but thereās much more to it. Frontend developers also focus on ensuring everything works properly, creating smooth user experiences, adding animations, and handling interactions. šØāØ
Frontend Technologies
What languages are used in frontend development? Generally speaking, the key languages are HTML, CSS, and JavaScript. Itās important to note that only JavaScript is a programming language.
- HTML is the skeleton of a website, defining its structure.
- CSS (Cascading Style Sheets) handles the look and feel of elements on the page.
- JavaScript provides all the interactivity and functionality.
This is a simplified explanation, of course. Websites can also be built using CMS platforms like WordPress or other programming languages like PHP. Still, HTML, CSS, and JavaScript are essential for modern web development.
If you want to dive deeper into frontend, there are also frameworks like React, Vue, and Angular that help speed up development. But donāt worryāweāll get to those later on.
Following the Frontend Developer Roadmap
Now, letās check out the Frontend Developer Roadmap to ensure we stay on track with our learning. Roadmaps like this are available for many popular technologies and provide a clear path from beginner to advanced topics.
Iāll be following this roadmap in the videos and blog posts I create, so I encourage you to stick with it for your own self-study. Stay tuned for future posts and videos where Iāll cover all the essential topics related to frontend development and beyond. š
A Few Words of Motivation to Get Started š
Learning programming takes commitment and perseverance. Talent helps, but itās determination that will get you to your goal, allowing you to overcome challenges and, over time, understand how things work.
Programming is a process, and it involves tackling many different topics. š§
If youāve already formed opinions about what learning programming is like, challenge them! Confront your expectations with reality, and you might be surprised. One thingās for sure: you wonāt learn to code in a week or even a month, despite what some courses might claim.
It takes time, but give it a shot and see if itās for you. I gave it a try, and now Iām hooked on learning new technologies and solving complex problems.
If you stay committed and start to enjoy the process, you wonāt regret the decision to pursue programming. š»š”
Make sure to sign up for my newsletter to stay updated on new posts. And if youāre still on the fence about learning programming, feel free to drop a comment or message meāIāll do my best to help! š