logo

How to become a better programmer

Office

Ali Adel Elroby

Front End Developer

Table Of Content


1- Think As Programmer2- Google Is Your Best Friend3- Learn Fundamentals4- Select Your Path5- Make Projects6- Problem Solving7- Don't Stop Learning

In our world today, How to learn code is essential.
Whether you want to be a programmer or not, That's because
Programming is not a job, but it's a way to think,
solve, and also to reach your life targets fast.

Think As Programmer


As Steve Jobs said

Everyone in this country should learn to program a computer,
because it teaches you to think.

Programming is not just a job but it's also a way to think,
Programmers know how to solve problems,
how to find a solution for a big one
by dividing it into small pieces.
They know how to "Problem Solving"

Problem Solving

Actually, "Problem Solving" does not just help you
in programming, That helps you also in your life.
That can help you to improve your way of thinking,
and also getting more better decisions to get awesome results.
So let's see how to solve a problem.

Divide Your Problem

Sometimes you got a difficult codding challenge,
and you tried to solve it but all the paths get you to the same door.

I think it's time to divide your problem.
A good programmer who can think
of each sub-problem of the main problem.

By dividing the problem into sub-problems and then,
Finding a path to solve each sub-problem.
In end, you will have a complete path to the solution.

Different respective

If you have a problem with the technique you use to solve a problem.
So let's change the recipe, let's try another technique.

We need to know what we are dealing with.
What kinda problem is this?

And take a back step to see the whole picture.
Then change your technique as the problem needs,
and do that over and over again, to get your solution.

Google Is Your Best Friend


Sometimes, I wonder from some people ask directly in a tech group,
Without even looking for their questions on google and stack overflow.

Those people can't count on themselves,
They need someone helps them to walk.

Asking for help is not bad but,
the time is bad. First, try to search
with yourself, in 90% of cases, you will find the solution,
but If you find yourself in the 10% left so now,
you need to ask for help.

Learn Fundamentals


I think you are very excited to start learning
how to code.

I will share with you a powerful course that will help you to
understand the basics of programming well.
That's Cs50.

Cs50 Course

This course is the first step for you,
to understand how computer works and,
start thinking like a programmer.

Cs50 is divided into 11 weeks.
So let's figure out what we will learn.

Week1

This week you will learn the basics
of computer science like (Binary, ASCII, and Unicode).

Also, you will learn how computers can understand our commands
to do as we want them to do. Also how to think of your problem right
And get the best solution for it.

You will able to use Scratch and learn
what's (variables, conditions, loops) are.

Week 2

This week will be exciting for you,
because you will learn your first programming language,
that's C language also, you will write your first line of code.

David, helps you to understand how computers translate your code
and compiling it into zeros and ones to read by the computer.

Also, you will learn the basics of C language like
(Variables, Functions, Loops, Conditions, Operators) and more.

Week 3

This week you will learn about the essential
data structures in computer science, Strings, and Arrays.

Also, you will know, how much each datatype in C
takes from the memory.

Week 4

This week will be full of information for you.
Here you will learn algorithms and,
how to think logically to solve problems.

You will get to know "big O notation",
also, what's time complexity and,
how to calculate the time complexity of a program.

Also, you will learn important Searching algorithms,
like a linear search and a binary search.

And figure out how to sort data,
with some important sorting algorithms,
like the bubble sort, selection sort, and merge sort.

Also, you will learn some of the important concepts
in programming, that's "Recursion".

Week 5

This week you will learn, how computers handle
your implementation and variables to store it into the
RAM.

Also, you will figure out what are addresses
and how computers use them to get the value of your variable.

Week 6

This week finally, you will learn the common data structures.

David will teach you two kinds of data structures,
those are linear data structures and non-linear data structures.

linear data structures like Arrays, LinkedList, Stacks, HashTables, and Queues.

non-linear data structures like Trees and "Tries".

Week 7

This week here, you will learn the second programming language for you
that's python.

And you will get to know about python syntax,
and how to assign variables, functions, loops, and conditions.

Also, you will implement some scripts in python.

Notice, now that you have learned the basics of the computer since
you will be able to understand python code faster that's because
all programming languages run by the same concept but with different syntax and behavior.

Week 8

Here you will learn your first database language
That's SQL, And you will learn the basics of SQL.

Week 9

This week you will learn about web development,
what are protocols, DNS, TCP, what's the web server and
how to make HTTP requests, Also you will learn HTML and CSS
to add styles to your web applications.

Also, you will get to know javascript to make your website interactive.

Week 10

This week talks about flask, that's a python framework,
helps you to create web servers.

David here will discuss with you about basics of flask like
templates, forms, and also "MVC pattern".

Week 11

That's your last week and, you will learn some details
about cyber security and encryption.

At the end of this trip, you will be able to
select your path and start learning it more deeply.

Select Your Path


I know it's a little bit complicated to select your path,
Especially since programming has a lot of specialties.

So I will give you two pieces of advice
that will help you to select a good path for you.

What do you like?

When you decide to select your path,
you should select what you like,
something you feel good and excited to do.

Do you like working with data?
or maybe you like working with user interfaces more?

Choose what you like to do,
and when you find this be sure you are in the right place.

Market Needs

Also, you need to bear in mind the market's needs
because maybe you like a specialty,
but the market doesn't need this specialty.

So you also need to study your current market
What does it needs now?

And also try to find what you like to do
as I mentioned before.

Make Projects


Now, after selecting your path and choose
what you really like and also what the market does need.

While you are learning, you need to make some projects
to apply every piece of information you have got.

That will help you a lot to understand
what are the uses of what you have learned.

Problem Solving


As I mentioned before, programming is how to solve problems.

So you will need to improve this skill so much,
Also, solve problems every day to improve your thinking.

I will share with you some of the important
websites for problem-solving.

  • Leetcode

  • Hackerrank

  • Coderbyte

  • Codewars

These websites will help you a lot to improve your problem-solving skills.

Don't Stop Learning


In programming, every day passes
There are some new technologies that appear on the market
and also some other technologies that disappear.

There are new features added to a technology
also to programming languages.

In my opinion, this is the coolest thing in programming
because you will never stop learning and improving yourself,
every single day passes, and you will learn more and more.

So never say I finished, improve yourself more,
go deeply in figure out everything about what you learn,
That's how you will be successful in programming.


Now, At the end of this post, I want to tell you
don't stop ever, keep going, the path is a little bit long

But remember what's your target for this,
that will give you hope to continue and reach your targets.

Thank you for your reading and good luck with your target.


Send to my inbox

You can subscribe in my newsletter to see my weekly posts.

To Support Me You Can

Ali Adel Elroby | Buy Me A Coffee

Subscribe Newsletter

logo

E-Learning, E-Commerce, Saas
Front end development

Service

  • Contact Me
  • Works
  • Blog

Contact

Contact@elroby.org+201507262414

© 2024 Elroby.org   All rights reserved