Anyone can be a professional developer!

your “right line” to start

Saied Gaffer
4 min readApr 11, 2022

Hard-working always achieves desired results. Some people became professional developers with zero educational computer science experience. Maybe you think it’s miracle but actually, all they did is hard-working.

Let me explain How hard-working can make you a professional developer. The development field has many tracks but the beginning is the same. All you need is to put your hard-working on the right start line. This “right line” creates the difference between a weak and a strong developer. In the development field, the knowledge of what is underneath the hood is incredibly important. You can gain this knowledge by experience at work but it’s better to start professionally than gain professionalism.

I want to discuss what “The right line” is. Briefly, It’s:

  1. programming language.

2. OOP.

3. data structure & algorithms.

Programming Language:

The first step is to learn a programming language. This is simple right? Actually, no. You won’t learn any programming language for your “right line” you should pick a programming language near low-level programming(C/C++/C#/Java). I highly recommend picking C++. this type of programming language provides no helper methods. This will make you gain a great understanding of CPU logic and basic knowledge of what happens in the memory of your device.

OOP:

Object-Oriented Programming (OOP) is a great concept in the world of programming. We humans can understand anything categorized. For example, When we want to create a game before OOP it was so hard to keep track of the functionality of all the details of the game. It was a headache till we discovered OOP. OOP provides the ability to categorize the parts of any program. Back to our example, we can store all the information of the character in a big object named “player”. Whenever we want to edit, remove, or call anything of the character we can go to the “player” object. OOP makes the flow of the code easier and more understandable.

Data Structure & Algorithms:

This is the most important step of the “right line” after which you can master any development field, and I truly mean it. Let’s divide it into two pieces:

Algorithm:

A simple definition is a collection of steps to solve a problem. In fact, any simple program is an algorithm. A program to get the sum of two numbers is an algorithm. Sometimes, we have a program with two or more solutions (algorithms). But what is the best solution for this particular problem? Learning algorithms will teach you what solution you should take and why. “Big O notation” which you will learn when you learn algorithms is the key to choose the best solution.

Data Structure:

Data Structure is all about how you will store your data inside the memory of your device. Data Structure most of the time is mandatory for Algorithms. Let’s provide an example to show what I mean. You faced a problem and you discovered that the best way to solve it is a recursive solution(you will know what is recursion when you study Algorithms.). In this case, you will need to store your data in a tree data structure. Fortunately, in your real-life work, you rarely will implement a data structure yourself because it’s either already built in the programming language you use or someone implement it before. The idea of learning data structure is not only how to use it, but also how to implement all the data structures I will need at work. Remember we learned two skills from step 1 which are the basics of CPU logic and how the data is stored in the memory. Implementing Data Structures yourself will make you master these two skills.

Complete understanding of Data structures + algorithms = complete understanding of how computers think.

Briefly, Step 1 snd step 2 is mandatory for step 3. Step 3 is the key to become a professional developer in any field.

At last but not least, doing your best is always great but you should validate you are on “the right line” not only in the development field but also in your life. Remember good start means a happy end, and as I mentioned early in the article, It’s better to start professionally than gain professionalism.

--

--