أخبار ساخنة

How to become a successful programmer in the shortest possible time

How to become a successful programmer in the shortest possible time

What is programming again?

Programming is the way in which people write new software that accepts a set of data and is based on a specific task and ultimately gives the desired results. The program works on any computer, PC, smartphone, television, home routers, Xbox, Playstation, and even car control systems, factory machines and cameras.

Programming depends primarily on writing the command set closer to the human language but with precise and precise rules. After typing, the computer converts it into machine language through a variety of other programs assigned to it. You will never believe how many software you deal with everyday and you may not notice it. Computer games, office software, websites, smart TV operating systems, mobile operating systems, washing machine operating systems, ATM systems, car brake control systems, elevator and aircraft systems and software, you are permanently surrounded A computer program does something for you, the rest of your account counts, records the food you prefer in the restaurant you ordered, does the brake systems in the car that almost shocked you this morning, introduces you to new friends on Facebook you may know, The winner in this age, and the human illiteracy is measured on the scale of your dealings with technology and applications that surround you from every direction.
How can I become a programmer from the ground up? Does this require special skills?

No, you do not have to fly or walk a rope hanging in the air or fight Dracula in the Transylvanian Caves. It is enough just to have a little logical thinking and a lot of love of knowledge, in fact your goal is to reach a good level in the following skills:

Problem solving skills: To analyze a problem as a roadblock in a logical way and propose the best solution.
Code coding skill is to be able to correctly formulate the solution using one or more programming languages ​​and to follow the rules and concepts agreed upon in writing the software.
Time and Cost Estimation Skills: The skills you must develop are to estimate the time to complete a task or project. The most common questions that you are trying to find out about the level of applicants for a program in this skill are: Remember the number of petrol stations in all governorates of Egypt? The questions do not ask for a precise number but estimate numbers, show how the programmer estimates the amount of what he does not know but has an idea of ​​how to calculate and estimate.
Creativity: The programmer must have a fertile imagination that allows him to devise new solutions to the problems he faces. One of the most famous questions that measure this skill is: "Do I remind me of 20 uses of sulfur sticks?" Or "Remind me of 10 uses of stapler pins?" Not to mention real uses you do every day, but you can invent new uses of your imagination, even if they are ridiculous.
Working skills with a team: programmers working in teams, the programmer does not do the whole project alone, so your skill in dealing with team members and managers of the basic skills on which to evaluate the programmer.
The above skills do not deny that the basic rule of any programmer is his knowledge of basic computer sciences, which are taught by computer and information faculties in Egypt and most countries alike. These sciences establish the correct bases that the programmers can then choose the appropriate field for them and choose the programming languages Which will help them to program applications in this field.

Basic sciences that students of computer science study as follows:

Introduction to Computer Science
Computer Organization
* Algorithm and Data Structures
* Design patterns
* Object Oriented Programming
* Graphic Computer Graphics
* DataBases databases
Data Mining Datamining
* Computer Networks
Artificial Intelligence Artificial Intelligence
Operating systems
Discrete Mathematics (a YouTube course from UC Berkeley)
Ordinary Differential Equation
Partial Differential Equation
Operation Research
* Software engineering
* Web Programming Web Development
The previous group is part of a long list of curricula being studied by computer science faculties, some of which are more important than others. I have marked (*) in front of curricula that directly affect the work of the programmer on a daily basis and leave differences in the way of thinking and production.
What should I do to become a successful programmer?

Learn about the basic curriculum taught by academic students: learn about those sections through their pages on Wikipedia, do a little exploring and research as you want, you know what computer science is and give it importance in our lives, consider yourself in your home.
Study a curriculum or book in the basic curriculum that you have marked with a sign (*): it will give you a foundation of forces that will enable you to build on it easily. Later, you can find most of the curriculum on the MIT OpenCourseWare on YouTube or if you prefer books it will definitely be better. Lists of books on the Amazon website if you search on behalf of the branch.
Choose the area you would like to work in. This step will be the most difficult. Certainly, many computer students and even some graduates can not determine what they really want and things look confusing, but here is a small push for you to get closer to what you want: Imagine yourself at the age of 60, Every day you go to work, what do you want the quality of software to work on? What kind of applications have you spent your time developing and planning? ", Is Web Programming ?, Database Engineer? Network Engineer? Desktop application programmer? Programmer Games? Choices are unlimited and depend on your imagination and your determination to succeed.
Choose a suitable programming language for the field: Try to be a programming language convenient for you, required in the labor market, have a long history and a community surrounded by relatively large, learn that language, drown yourself in resources to learn, continue their programmer sites, continue news from all sources Available and each location from which you can extract information about that programming language.
Stay in touch with programmers who work in the same field: Join their groups on social networks, join them and see them for discussions will only improve your level and raise your awareness of the field in which you work.
Show your works: You can be as good as you want, but without showing your work, no one will know that you exist from the ground, create your own apps, implement your own ideas, show them to people, take care of marketing yourself, your work and your skills. Exposure to cash will improve your level and always push you forward.
Be flexible: programming languages ​​are just tools to reach your goal is the completion of projects, in order to get very close to the programming languages ​​to know a lot and forget that very basic information and it becomes more emotional relationship than a working relationship, if your language has some flaws or become You feel that there is a better language to go through gradually. Programming languages ​​are not Indiana and you should treat them as a "tool for programming your applications." You can change them as best as you want.
Keep your passion and love for science: If you stop reading and learning one day, know that you step back, science in all areas progress quickly if you just learned what you learned one day, you will find that someday you will not know what is going on around you and what's new in That language is no longer important because everyone does your work faster, more efficiently and professionally, so you should always learn new tools, discover better programming languages, and follow technology news in general.
In the end, being a successful programmer is a long way that depends on a lot of skills and requires sacrifice and perseverance, which is really a fun way from many aspects. There is no better way than saying that your diligence and perseverance may make you the richest man. In the world :

The best way to be a successful programmer is to write applications, and to study great applications written by other programmers. In my case, I searched the garbage cans at the Computer Science Center and picked up their lists of their operating systems.