Coding, programming and computer science
These terms are often confusing or used one instead of another. In fact, these are three separate concepts: coding, programming and computer science (literally, “computer science”, but more often – informatics or computing theory). The coding is writing code. The programming in the narrow sense is often equated with coding, but in a broad sense, it includes not only coding, but also program design, algorithms development, data structures development, and more – all this is called “software engineering”. Computer science or informatics is a science of methods and processes for collecting, processing and storing information, and it can be a matter of storing data, both in the form of bits in the computer’s memory and the cell’s gene structure. Informatics is a science that suggests some theoretical and practical knowledge and education, respectively. But coding and programming in the strict sense do not need to be completed at specialised university or college.
Programming is easy!
One of the main obstacles to the promotion of programming is the firm belief that it is difficult and accessible only to people with “mathematical mentality”. We will try to break this stereotype and explain to the public that programming is available to all. It is increasingly proposed to be viewed as part of the digital literacy that teaches anyone how to read and write. No need to be a genius to learn how to create software code.
As evidence of this, the story of American homeless Leo, which has spread over the Internet, is often cited:
One day, New York-based programmer and developer Patrick McConlogue decided to conduct an unusual experiment and decided to teach homeless people to program to make a living by intellectual work instead of begging on the street. After eight weeks of training with books, websites, and lessons from Patrick, homeless Leo created his first mobile application.
What does programming teach us?
Steve Jobs once said: “Everybody in this country should learn to program a computer because it teaches you how to think.”
A computer is a machine that man has created. Programs are also created by man, and by studying their language and logic we will learn more about the man himself. “We were computers before computers became computers,” says Laura Kirsop, director of Code Club, one of England’s most successful programs working with schools. It is the man who gives the computers the logic with which they operate.
Despite the traditional division of physicists and lyricists, the development of programming implies that it is time to divide with such an outdated concept of knowledge. Eric Schmidt, director of Google, said in 2011 that the education system should return to glorious times when “the same people compose poetry and build bridges, and Lewis Carroll has written not only one of the most classic tales but also is a mathematician in Oxford”. The education system should reunite art and science again. This refers to global changes at the institutional level.
“Creating code is just another way to express your creativity and your creative potential,” say promoters of the idea. You can paint, you can sculpt, you can write poetry, and you can write code. Code Romanization is one of the most successful strategies for attracting students and followers. Although not entirely convinced, all programmers who spend hours writing code, agree with this trend.
Programming is a tool of self-development, such as mathematics and foreign languages. Just as someone who studied a foreign language – reading and receive new information and learn to express their thoughts through it – and thus gradually developed. The same way programming allows you to move from basic knowledge to more in-depth slowly.
To be citizens
Today, we live in a society that functions largely because of sophisticated technologies: bank accounts, personal information, our work and our free time are becoming more and more in the digital world. Moreover, in our day on an intuitive subconscious level, we use what creators of programs and applications and applications offer us. But why should we only be satisfied with the solutions provided by the large companies? Often the most successful self-taught programmers are those who are dissatisfied with existing programs and need to learn how to program to create their own application, program, or a website.
In a civilian context, the fight for our rights is often based on the lack of data or our incapability to process it properly. The ability to create a program or application that will solve real problems could change the world.
Probably the most important reason to start your career in the world of programming is material remuneration and trust in the scale of the labour market. Drew Houghton, the founder of Dropbox, says: “There is such a demand in the world for programmers and coders that offering will never match the demand. So we live a magical life.”
Besides the usual enticing story of two eccentric programmers who created a startup from which investors were interested and turn them into millionaires, there are genuine prospects for the development of the labour market where employers offer not only competitive salaries but also attractive benefits and privileges. “To attract the best people in the industry, we are trying to create offices that our employees call cool,” said Drew Houghton.
The usual office of a large IT company has particular areas for relaxation, games, recreation and optionally, if it contributes to productivity, employees can play musical instruments or computer games during the day. Not all programmers work in great offices or with a laptop on the beach, but the picture is clear. It is created by the industry to attract the best.
Programming is universal and does not depend on the country you live in and the language you speak. Stars from the IT world, such as Bill Gates and Mark Zuckerberg, explain in simple and accessible language what “if” commands and cycles are, and at the same time telling us why they started to program and how they changed their world. Two thoughts are repeated with envied persistence: 1) to code, you do not have to be a genius, it’s just a skill; 2) but at the same time this skill in today’s world becomes a superpower, so “tomorrow’s programmers will become wizards of the future.”
Knowledge about programming algorithms is not the most significant, but it is important to break down problems to their smaller components. It is essential to practice skills and much more valuable than just knowing fundamentals.
Where to begin
You have at least four options:
Self-learning – The Internet is full of websites, books and apps that help to learn different programming languages and technologies. While this method is convenient, free of charge and the variety of materials is huge, this is the most challenging option for beginners.
University or college – The selection of a university should be approached very responsibly. Carefully study the training programs and select those that will give you the best technical and practical knowledge.
Mentor – It would be great if you find someone willing to help and guide you in the right direction. He/She will tell you which are the most useful books and resources, check your code and give you tips. You could look for a mentor among familiar programmers, online forums, IT conferences and parties, and so on.
Practical courses – Try to search for classes in your city to learn some language or programming technology. You will be pleasantly surprised by the number of such courses, including free of charge and with subsequent employment.
What language, technology and direction to choose?
When you become a developer, after a year or two, you will be able to choose any language you want. But in the initial choice of programming language, the beginner should consider the following criteria:
Labour market demand – As you read this, you are probably looking for the opportunity to work something you like or find a new, more profitable job. The ultimate goal is to succeed as a programmer. And this would be difficult if no one on the labour market is looking for developers in your programming language.
Relatively easy starting level – If you need to spend a lot of time studying a language, it can completely discourage you from programming. Look for information and opinions about the languages you have chosen above. Review the literature that you’ll have to read on to learn these languages. And choose those that others think are easy to learn or at your discretion you think will fit you. Such languages can be PHP, Ruby and Python.
Enjoyment of the process – You certainly do not want to write code in the language you choose if you do not enjoy this process, work or life. Make the right decision!
Decide the direction you want to develop because each language has its purpose. What will you program? Web, mobile or desktop applications, games or anything else at a lower level? The first three are the most popular and relatively easy.
How to get initial experience?
Without experience, you will not find a job. Without a job, you will not get any experience. The enchanted circle of real life. But do not worry, we get out of it.
First, you should not wait until you read all the books about the chosen programming language. Start writing your first lines of code after the second chapter of the book. Do all the tasks of the textbook, reprint the examples, understand them. Complicate cases and tasks with your ideas. Create exercises for the material you are going through. Solve various problems.
Second, you should find your first projects. This is perhaps the most challenging task, but it is working. You will have to look for orders yourself, execute them, to deal with payment. For a beginner, this is daunting, but then every option will seem like a big deal. Completed projects could be included in your portfolio and displayed to your prospective employers. The truly completed projects are a big plus in your resume.
We believe that if you read these lines, you know English. If this is not the case – learn it! This is the largest labour market.
Look for small projects that match your level of knowledge or just above it. Apply for a few dozen such tasks. And get ready to get a lot of failures. But if you capture one or two projects, you will be able to get real experience.
Another option for gaining experience is to get help from familiar developers. Ask them to give you small and simple tasks. If something does not work, you will always have someone to turn to. And at the same time, you will participate in a real project.
Knowledge and skills are needed for all professions, and the only difference is that with all of its engineering, programming is a very creative profession where, beyond common knowledge, creativity, resourcefulness and ingenuity are also needed. To become a programmer, it would be good to have relevant innate qualities: intellect, logical thinking, curiosity and the desire to learn new things throughout your life.Sources:
1) lifehacker.ru – Instructions for those who want to become a programmer from scratch
2) gazeta.ru – Programming as an opportunity to change the world and get rich