Answer the question
In order to leave comments, you need to log in
What should a web programmer be able to do?
I have been accustomed in my life to do all the work myself and not rely on anyone. The very first time I installed Windows, I myself studied all the nuances of its settings, programs, and so on.
Now I decided to learn PHP for my own needs, but along the way I realized that I could well work as a web programmer.
Initially, of course, I installed Open-Server and tested all the scripts on it (Apache + MySQL). However, I never liked builds, and therefore I decided that it would be nice to install Apache on my own, then PHP on it, and MySQL, too, to install standalone.
There were no problems with MySQL. But here with Apache there were a heap of questions. In search of an installation manual, I came across an article on Habré, where a person described in detail the process of installing everything listed on Windows 8. The most interesting thing is that the post was furiously downvoted with shouts that it was not the programmer who should do all this, but the system administrator, and in general the programmer should climb into the server things are bad.
Now I'm thinking - is it so? But how can you write server scripts when you don’t know how the server works, and where it has it, where it picks up the settings, etc.? But to figure it out without putting it from scratch is completely impossible.
So the question is brewing. Should a true web programmer, back-end developer (PHP, ASP.NET, Node.js - it doesn't matter) be able to do the following:
1. Compile the source code of packages - for example, Apache of the same. Honestly, I've been at the computer for 10 years, but I don't know what to do with the source codes. Might be worth learning?
2. Raise the MySQL, Apache, nginx server, configure them, install modules.
3. Be able to install and work under Linux OS. I myself am still sitting on Windows, since in principle it is still possible to work, and learning Unix will take more than one day.
Do I have to be able to do all this if I really want to become a specialist?
Answer the question
In order to leave comments, you need to log in
On the one hand, the wider the horizon, the better. on the other hand, there are 24 hours in a day + knowledge becomes obsolete quickly. therefore, the answer is this: we develop as much as possible in the direction that has practical application in the near future, and in our free time (which should hardly be) we study something fundamentally different to warm up the brain and fresh ideas in our field.
PS Here is an example for reflection: humanity is groaning from poverty, disease, illiteracy, and the global budget for a gaming computer. industry is comparable to the total spending on medicine, education, space. similarly, we within the framework of our lives
Should a true web programmer, back-end engineer (PHP, ASP.NET, Node.js - it doesn't matter) be able to do the following:
It seems to me that a web programmer (like any other) should have a couple of other PLs in stock.
For example, PHP would be nice to be able to write hello world in C++ / Java / .NET.
For C ++, knowledge about compilation, build systems, etc. will automatically follow.
For Java, knowledge about application servers (tomcat, wildfly) will be pulled.
This knowledge is fundamental. By writing your bike on the pros (like a web server for displaying banners), you will have a better understanding of PHP and optimization tools / architecture, etc.
Java will teach you OOP, annotations and other "sugar".
From this knowledge, it will be easy to move on to Linux administration and understanding the internals of Apache Http (for example, working with non-blocking sockets).
Well, in general, if we talk about Apache Http, then PHP has the functionality provided by the HTTP server - you definitely need to know this.
So the question is brewing. Should a true web programmer, back-end (PHP, ASP.NET, Node.js - it doesn't matter) be able to do the following:
1. Compile the source code of packages - for example, Apache of the same. Honestly, I've been at the computer for 10 years, but I don't know what to do with the source codes. Might be worth learning?
2. Raise the MySQL, Apache, nginx server, configure them, install modules.
3. Be able to install and work under Linux OS. I myself am still sitting on Windows, since in principle it is still possible to work, and learning Unix will take more than one day.
no. this is a job for a system administrator.
in production, no one will allow you to do anything yourself.
1. Compile the source code of packages - for example, Apache of the same. Honestly, I've been at the computer for 10 years, but I don't know what to do with the source codes. Might be worth learning?
2. Raise the MySQL, Apache, nginx server, configure them, install modules.
3. Be able to install and work under Linux OS. I myself am still sitting on Windows, since in principle it is still possible to work, and learning Unix will take more than one day.
If the work is not in the company, but at home remotely, then:
- No.
- Yes.
- Yes. In general, to put such software on Windows - if there is nowhere to put the time, as well as out of masochism.
The main thing is to be able to adequately assess your capabilities and be responsible for your words (“said and done”). Everything else is subtlety.
If there is a desire to become a web programmer, then it makes no sense to start by learning how the system works. admin.
You need to start, as already mentioned above, with the basics: HTML5, CSS3, JavaScript.
If you are interested in back-end, then read off. docs on php.net for example.
And at the expense of installing and configuring software for a web server under Windows - this does not make sense. All (normal) web servers run *nix (mainly on FreeBSD, CentOS and Debian). Under Windows, building XAMPP is not bad.
For me it all depends on myself. If you are interested, then take it, study and put it. Those. there is no such standard that a web programmer should not do this. And probably if you will be able to do it, then it will only be a plus. And for starters, just install Ubuntu (Linux) and look at it.
Everything depends on the conditions. Better - to have experience in advance.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question