Become a programmer for the humanities in 2-3 years?

Blocked. This question and the answers to it are blocked, as it does not correspond to the topic of the site, but has historical significance. It is not allowed to publish responses or perform other actions.

The actual question very relevant to me. How do I become a programmer?

At the moment, I work as a marketer (more than 3 years), but since childhood and until now, my hobby has been a computer, so before it's too late, I want to work by vocation. I tried to code, but in fact I was playing around. It's too late to go to uni for a point (26 years old), and I don't want to lose my earnings. The income is decent, and the relatives will not understand))

Where should I start? I plan to gradually turn my hobby into an additional source in 2-3 years income, and then maybe in the main one.

What kind of knowledge structure should there be? What do I need to know? What languages to learn and in what order?

I have defined the field of activity so far as web development, since this category is easier on freelancing (correct me if I'm wrong).

Maybe someone had a similar experience....I hope for advice.

In general, I will sum up: How can I become a programmer from scratch with up-to-date skills and knowledge?

Author: Nicolas Chabanovsky, 2013-04-24

8 answers

For web directions:

1) Learn HTML, see examples, sites, and source pages of sites. Achieve an understanding of the html structure, i.e. you can write a sign, bold text, lists, titles, links, anchors, etc. by hand. Understand what tags, attributes, etc. are and learn how to search for information in html correctly (i.e. you don't have to know all the tags, you can just be able to find them)

Where to write: notepad, simple Web editors (with input only of the text)

Sources of information: various textbooks, including on the Internet

mastering time: if you spend 1-2 hours a day, you can master{[1] in 2 weeks]}

2) Add CSS to the HTML, this is a stylesheet. I.e. programming has not been added yet. To begin with, you will need to understand what this thing (css) is, and why it is needed. You can use it to prescribe styles. Also learn how to search for information.

Where to write: notepad, simple Web editors (with only text input)

Sources of information: various textbooks, including on the Internet

mastering time: if you spend 1-2 hours a day, you can master it in 1 week (if you have understood html before)

3) Add JavaScript to this. This is where programming begins. At this stage, I advise you to learn the simple basics of programming: variables, conditions, loops, functions. Try to write simple things, and it is good to master the basics, i.e. to use them confidently. Understand the hierarchy structure of HTML, and learn how to access, receive, and modify elements in pure JS. Again, on pure JS (don't flatter in jQuery at this stage)

Where to write: notepad, simple Web editors (with only text input)

Sources of information: various textbooks, including on the Internet

development time: if you spend 1-2 hours a day, you can do it in 1-2 months master (but this is individual, as the human brain will accept the logic)

4) Go to the server language (I'll write about PHP). Understand the syntax of the language (loops, conditions, all programming principles will be similar to JS, but the syntax is slightly different, and some principles). Understand how the page is generated, what POST and GET requests are.

Where to write: Web editors, NetBeans

Sources of information: various textbooks, including in internet, http://php.su

mastering time: if you spend 1-2 hours a day, you can understand the basics in 2-4 months (but this is individual, how the human brain will accept logic)

5) Deepen your knowledge in JS (+jQuery) and PHP, here I already suggest making a connection between JS and the server. send receive POST and GET requests. The development time is 1 week.

6) Master The Database (SQL) generally understand what works and how. how to work with tables, which ones requests and how best to do it.

Where to write: any DBMS (Access, Oracle, ...)

learning time: if you spend 1-2 hours a day, you can understand the basics in 2 months

7) Learn the relationship between the database and PHP learn how to make queries from PHP, add and receive data. Display tables, etc. For php, I recommend working with mysqli. Deepen your acquired knowledge in point 6.

Where to write: Web editors, NetBeans

Sources of information: various textbooks, including on the Internet, http://php.su

learning time: if you spend 1-2 hours a day, you can understand the basics in 2 months

8) Delve into the knowledge of programming, OOP, master the knowledge of classes, both in JS and in PHP (any other server language). Practice, create your own classes, etc. I will not write any more time, because everything is vague.

9) Delve into programming, in general, you should know many, many different algorithms and theories. Up to this point, we were engaged in kindergarten, preparing for school, so to speak. At this step, I suggest studying various algorithms (sorting - although there are standard tools, but you need to know combinatorics, graphs, trees - are often useful for web developers, etc.). This is what I mean, to improve your programming skills, solve Olympiad problems, study ready-made algorithms. Learn additional programming features: regular expressions, etc. Learn the theories and understand how best to create database structures, which databases and tables need to be created. Learn theories on optimization and writing loaded systems (caching and other things).

Where to solve: for example, here http://codeforces.ru/

10) Applications of knowledge, try to learn various CMS constructors: Ucoz, Joomla, Drupal, ModX, WordPress. Apply your skills on them. Write one site on each of them )

11) Deepening, frameworks, learn some framework, for example Yii for PHP. By this point, you should already be able to create database structures correctly, and write freely in JS and PHP. You can also try connecting to the storonim API, for example, to Vk.

12) And finally, for the webmaster to read about SEO, to know at least what kind of fish it is.

13) THE MOST IMPORTANT THING! Everywhere, and even more so in Programming you need to Practice!, you need to constantly try, it's okay if something doesn't work out, you have to learn from mistakes, both your own and others'. Read something?, write immediately. There are friends who endlessly read books on programming, but they have little practice.. as a result, books do not give them much (well, he knows what can be done like this, but he can not do it, because he does not know how to apply his knowledge to the case). It's like learning martial arts the master of arts explains to you every day for 15 hours what and how to do, where to hit, where to go, and you just listen. When it comes to fighting, you won't be able to use anything. So: YOU NEED TO PRACTICE

P.s. I hope it helped )

 34
Author: IVsevolod, 2013-04-24 08:26:09

Nda... the 1st answer assumes reformatting of the humanitarian in the unfortunate web coder, however, topikstarter wants to be them - so the answer seems to be right.

I will add my 5 kopecks to holivar:

The brains of the humanities are arranged a little differently than the brains of the adherents of the exact sciences (to which programming anyway refers). The humanist usually thinks in qualitative categories such as:

Nekrasov's work is riddled with pain for the fate of the Russian peasantry, and Russian Russian landowner Fet, as a hereditary landowner, does not understand the Russian community and is more engaged in self-love and idealization of the Russian village

It's not like that in programming. Clear designs if-then-else, do-while and so on. I generally doubt that reformatting the humanities into progers is possible, although there are certainly examples.

I had a friend, a humanitarian, who became a proger - so, in the end, he gave me that programming is like writing a book: you need to come up with a plot (idea programs), to seat characters (objects, classes, modules, routines), to describe the plot by the interaction of characters (rules of communication of classes, modules) - in general, this is similar to inventing your own world. The classic example is the same Tolkien with his rings: an internally consistent world is invented with a hierarchy of characters with different races, there is a common storyline, there is a basic idea and all that.

So what's the message? Pushing a humanitarian into bydlokodery is wrong. It should be marked in architects, or at least team leaders. Let him learn UML, methods of conducting projects, and so on. It will be more convenient for the humanities than to fight with idiotic markup attributes or with the wilds of cascading styles.

Well, of course, you need to know the technology - but to start with HTML is generally insanity. Let him immediately pick up a kylo like Java/C#/C/C++ and go ahead.

 9
Author: Barmaley, 2013-04-29 07:32:52

First, decide what is closer to you: Web, application, system, mobile.. If it doesn't matter, then you don't have to start, it's not for you. At the moment, the most popular programmers are java and c#. As a java programmer, I can advise you to start with Deitel, How to program Java. The Russian version does not have it, but it explains everything from scratch. In addition, watch video lectures (Youtube is full of them) and consolidate your knowledge in practice, come up with the conditions yourself and decide. When you will confidently perform such tasks, go to some freelancer site and see what's what, improve your knowledge and write programs already there. Then it will go on by itself. Good luck.

 6
Author: Eugene Mironenko, 2013-04-24 09:21:06

Wow, what a discussion! And I like the question very much! Only here the majority is silent about the terms. 2-3 years is a very relative concept, because it is not clear in what conditions these 2-3 years are engaged, and you need to learn a lot and hard. You should really decide on a course. But I think it is necessary to add that only monetary motivation in programming matters is much worse than if the interest of the essence itself was added to it.

I would advise you to invoke the fact that nothing serious is qualitatively not mastered if you do it after the main work.

 4
Author: mccormick, 2013-04-24 12:29:12

The 1st answer is good. I'll try to add some specifics on the part of languages. Try to start with Pyton, it is simple and pleasant, besides it is quite topical. Then C# and / or Java. These are 2 very similar languages, a fairly large share of developer vacancies requires knowledge of the 1st of them - in my opinion, this is an indicator.

For the above languages, there is a lot of literature for every taste.

  • look at the HTML to understand what it is.
  • SQL

After all From the above, you can start writing your own applications for mobile platforms (Androdid, Windows mobile, Firefox os-it may also be popular in a couple of years).

If this is a hobby for you, then writing and selling mobile apps, I think, will be the best method of monetization.

 3
Author: Alexbelk, 2013-04-24 07:44:20

A strange question - why don't hundreds of millions of people ask themselves?
It is more logical to ask the question-not HOW, but WHY?
So how do I become an astronaut, a janitor, or a miner? ;)
Yes, take it and go to the mine.
How to become an economist-take and go to enroll in a university at the Faculty of Economics.
From such a statement of questions, I can judge one thing - You have a strange mindset, and therefore logic...
In programming, as in the main and in other sciences, specialties without GOOD logic and the right thinking will be very difficult to learn, and even more so to work efficiently.

Какая структура знаний должна быть?

Logical: Theory+ Practice

Что мне нужно знать? Какие языки учить и в какой последовательности?

Know - the more and deeper, the better.
Languages, those that are needed in the direction. Web means web. Applied means applied. Low-level-means such.
Sequence, from simple to serious
I started with DOS (bat files), then HTML+CSS, tried JavaScript a little, then there was Delphi+DB+MS Access, then PHP+mySQL.
Everything is logical.


P.S. It is not necessary for the humanities to go to the technical sciences.
Nothing good will come of it.

 3
Author: I_CaR, 2013-04-24 06:22:28

And why are you trying to earn money by programming? I am not very happy that I had to turn my hobby into a profession. Sometimes I have to do work in a hurry and somehow, which is very unpleasant from the point of view of my perfectionism. I like to write programs thoughtfully, slowly and with pleasure - only then you get something that you are proud of later. Imagine that you are an artist, and the customer wants to get such a smudge from you that it is disgusting for you to write it yourself. Such moments are difficult to survive without losing some of the inspiration that is so important in art. It is better to be a marketer with a good salary, and do your hobbies (drawing, programming, etc.) the rest of the time.

On the question "where to study". I didn't study to be a programmer, but in the 3rd year I knew for sure that I would be one. And the employer doesn't care where the programmers studied. Experience is important to them, not a diploma. Knowledge becomes obsolete very quickly, and no university can keep up with the training of current programmers. You're all right here do not lose-you, like everyone else, will have to learn on the go.

 0
Author: Egor Skriptunoff, 2013-04-24 05:43:38

To begin with, I would like to recall a thought from the book "A rope long enough to shoot yourself in the foot": the best programmers come from humanitarians, because humanitarians are better than techies at expressing their thoughts.

If you are from St. Petersburg, you can learn from me (although I specialize in application programming, but basic things still do not hurt).

 0
Author: Modus, 2014-09-15 09:55:40