A
A
AlexRostov2015-02-26 17:40:47
PHP
AlexRostov, 2015-02-26 17:40:47

Where to move in web development?

Not so long ago, I realized that I have quite large gaps in many areas of knowledge. I was always interested in the backend, so I studied mainly PHP - incl. different frameworks. Because of this, I have two problems:
I do not have an academic Computer Science education, and the more I delve into the wilds, the more I feel the lack of a base - deep knowledge of OOP, architecture creation, all sorts of techniques, tricks, etc.
The second problem I face is my ignorance of Javascript. I can write simple scripts, configure jQ plugins, but nothing more. And with each new project, more and more interactive is required. There is a fear of JS: the books that I was recommended are 900-page works, so if only the description of the language takes so much time, how much more will it take to learn related technologies (frameworks, tools)?
I ask you to direct me to the true path - what needs to be tightened in the first place, where to move? What books to read? What courses to watch?
An important note - I do not have any opportunity to get a job in an office, I work as a freelancer, but I am 20 years old - I have energy and motivation for self-education!
I would be grateful for any advice!

Answer the question

In order to leave comments, you need to log in

13 answer(s)
E
Evgeny Elchev, 2015-03-05
@rsi

First things first, decide if you want to become a professional or just make good websites. I would suggest taking the professional path.
Secondly, decide what kind of professional you want to become:
Once you decide on a direction, focus on learning the intricacies inherent in this particular direction.
Here you were advised to change the language, do not listen to these tips. Yes, Ruby has some advantages over php, but it also has disadvantages. Do not think that if you choose Ruby (python) your life will change, you will not get anything that php cannot give you and vice versa, these increased salaries and other myths, the language is not important. Remember, PL is just a tool, of course you must have a tool, and you must know your tool perfectly, but that's not what programming is about. Yes, an alcoholic carpenter who earns a living by hammering nails can praise his hammer and tell everyone that the hammer is his breadwinner, but you must admit that a real builder can not only hammer nails with a skein, not to mention an architect who could not even hold a hammer in his hands at all. Keep.
So let's say you've chosen your path, you've chosen a direction, and you've chosen a tool. Now you need to work in this direction (both on yourself and literally work). Read articles, read books (I always recommend only one book - "Perfect Code", without exaggeration everyone should read itprogrammer), learn new frameworks, technologies, the industry is constantly moving forward, you need to move forward even faster in order to at least not stand still. In the process of working on projects, you will feel a lack of knowledge (you mentioned js, OOP), fill these gaps with books (do not be afraid of 900 pages, you can’t replace books with anything, you need to read them), articles and of course practice. Do not worry about the lack of higher education, it does not give deep knowledge, no one will tell you any tricks if you do not have an intelligent teacher. But an intelligent teacher is not necessarily a teacher at the university, it can be the author of a book (for example, McConnell), the author of a good tool (for example, Taylor Otwell), most of the very famous and authoritative people generate a ton of information, books, articles, posts in social networks. networks, code, all this can be read and it will give you much more than VO. And yes, we live in a unique time, the time of the Internet, where there are no distances, and this gives much more opportunities than google another crutch for jquery from a schoolboy, you can communicate personally with Stroustrup or the same Taylor, in no educational In Russia, you will not have the opportunity to talk to such people.
To summarize:
By following these tips, you will increase your skill, be able to answer the question asked in the title yourself and become a professional. And remember the path of a professional, this is a constant work (both literally work and work on yourself, if you just write sites 24/7 you won’t become a professional either), much more than 8 hours a day, 5 days a week.

C
cyberyak, 2015-03-05
@cyberyak

Where to move in web development? - Away from Russia

S
svaa1982, 2015-02-26
@svaa1982

I don't want to offend anyone, but if possible, replace PHP with a general purpose language. There will be much more potential and opportunities for work. Of the variants Python, Java, server-side JavaScript, Ruby (it is also sometimes used not for the web). The object model in Java is considered classical, other languages ​​have their own characteristics.
The modern web is HTML5 (CSS3, WebGL, Canvas2D, WebRTC) as well as powerful client frameworks: bootstrap, angular, etc. Books on JS are utter nonsense, they have time to become outdated even before they are published. Always read in English, the w3c site is helpful.

A
Andrey, 2015-02-27
@standy

No books will give as much as practice. Just write code.
Read, for example, an article from the creator of jquery: John Resig: Write Code Every Day

O
OnYourLips, 2015-02-26
@OnYourLips

I do not have an academic Computer Science education, and the more I delve into the jungle, the more I feel the lack of a base - deep knowledge of OOP, architecture creation, all sorts of techniques, tricks, etc.
https://www.coursera.org/
so if only the description of the language takes so much time, how much more will it take to study related technologies (frameworks, tools)?
For the junior level, you need only 500-2000 hours. The word "total" is not accidental here.
I ask you to direct me to the true path - what needs to be tightened in the first place, where to move? What books to read? What courses to watch?
You just need to start making time for education.

N
Nastya Sukharik, 2015-02-26
@nastya_cyxarik

1) on PHP - find yourself a good book, which would be good for you, but my advice is to read the documentation, there is all the info and without unnecessary text (if you understand that you can look at a specialist at all)
2) Javascript is original, therefore, in any case , if you understand that you need it, take "JavaScript. User's Bible" and read.
3) well, and design patterns "PHP. Objects, patterns and programming techniques"

V
Vitaly Sivkov, 2015-02-26
@Sivkoff

For PHP, a book for understanding OOP: www.ozon.ru/context/detail/id/5648968
For JS, first this one, to consolidate the basics: www.ozon.ru/context/detail/id/19677670 I highly recommend it,
then this one www.ozon .ru/context/detail/id/6287517
Well, read the official documentation and specifications, unlike books, they are constantly updated.

U
Upcoming, 2015-02-27
@Upcoming

An excellent and, moreover, actually modern JavaScript tutorial: javascript.ru . Written in a very accessible, and most importantly - structured, from the very basics of the language and ending with fairly advanced topics. At the end of each lesson, the author offers to solve a couple of useful tasks to consolidate the studied material, and also gives his own solution.

R
RobertGM, 2015-02-26
@RobertGM

ajax to make you more interactive. And in general, get rid of "thinking" tied to one language and it will become easier for you to breathe.

S
smoklew, 2015-02-27
@smoklew

I can offer an internship, I have an interesting project, I suggest working in a team,
write to Skype: autor4n I will tell you more

I
Igor Kalashnikov, 2015-03-05
@zo0m

Here is a comic on this topic of education:
imgs.xkcd.com/comics/11th_grade.png
And a manifesto (a little from a different opera, but inspiring):
macode.ru
To learn something --- "Write code, bl#@ b" .
Do you want to learn JS? Choose a task with a bunch of JS code and write write write, you can use examples, articles on the Internet, remake someone else's solution, it doesn't matter, write until your hands are bloodied. This is the best way.
OOP and so on, first understand the basic concepts. Before using them, understand how it works. And then, again: choose a task and pour as much OOP into it as you can.
OOP, I would immediately together with Java (for example, the first 10-20 pages of Thinking In Java (in Russian. Java philosophy), as I remember, will have to straighten your brains), even if Java does not trample on you, at least it will be more convenient to learn.
All the time you're waiting for a response from a bunch of strangers on the internet who basically don't care about you, you could be spending writing code and getting better. :)

A
Andy, 2015-03-05
@mag2000

As mentioned above: js, css and other stuff is easy to learn when you do the main task and solve simple related tasks by googling.
On the topic of "different frameworks" and the problem of the lack of "deep knowledge", I advise you to read about Erlang and N2O . Look at an example of a chat in 20 lines, performance graphs - and you will understand that pohape and java are unnecessary.

A
Andrey Surzhikov, 2015-03-05
@Surzhikov

Hello Alex!
Tell me, apart from programming, what are your hobbies and goals?
Freelancing forever is a dead end, I hope you understand.
I advise you to start your own project (web service, application) that you could monetize in the future.
If there are no such ideas, choose any more or less interesting topic and start an opensource project.
Meet other programmers (for example, be friends with me), get involved in team development, and most importantly, enjoy coding and gain new knowledge every day.
PHP to change to something else, it seems to me it is not necessary.
It is worth learning how to code very well and quickly and learn JS (preferably pure JS in order to be able to work without frameworks). To understand architecture - again, practice on your projects.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question