How to become a web developer or system administrator. The difference between a system administrator and a programmer. What is he doing

On iOS - iPhone, iPod touch 31.03.2022

Today I want to touch on the problem of choosing professions and talk about one of them. I think everyone has faced this issue and found a solution that suits them. Some followed the lead of their parents, some were guided by their own, and some never found their calling. I would like to talk about such a profession as a programmer.

I think everyone knows that these are people who sit at the computer all day long and write something there. But why does everyone pester them with all sorts of stupid questions like: “Aren’t you going to look My computer? For some reason it froze!" Who came up with this stereotype that a programmer and a system administrator are one and the same? These are two different professions!!! The programmer writes programs for you in special languages, and the system administrator (commonly known as a system administrator) understands why and why they hang. A system administrator also repairs computers, which, in principle, a programmer should not do, although he must know how the computer works.

Where do they study to become a programmer and system administrator (sysadmin)?

Promising technical education for working with databases and networks can be obtained at almost every technical university. Programmers and developers are trained in the specialty “Computer Software and Automated Systems”, “Applied Computer Science and Mathematics”, system administrators are trained in the specialty “Computers, Complexes, Systems and Networks”, information security specialists are trained in universities, where there is a specialty “Organization and technology of information security.”

For your information, I will list the leading universities in Moscow in the specified specialties:

MIPT (SU). Moscow Institute of Physics and Technology (State University) National Research Nuclear University "MEPhI". National Research Nuclear University "MEPhI" MSTU named after. Bauman. Moscow State Technical University named after. N.E. Bauman MGIET (TU). Moscow State Institute of Electronic Technology (Technical University) MSU. M.V. Lomonosov. Moscow State University named after. M.V. Lomonosov

This list of universities can be continued for a long time. Only the faculty of “Informatics and Computer Science” is in the 41st university.

The exams that need to be passed to enter this profession are as follows: Russian language Mathematics Computer science/Physics Possibly English language.

The most important thing is to do well in mathematics and computer science/physics. These are technical universities after all! But for every institution there are exceptions. To do this you need to search for a very long time in the Internet and figure it out, but it’s best to choose several universities for yourself and go there for Open Day doors. There you can talk to rectors and students, and find out everything.

But, it seems to me, in order to enroll and then work in this specialty, you have to love it very much study(this is the main “disadvantage” of this profession), and I really love digging into hardware.

So, what are the “advantages” of this profession: 1) High wages. 2) Good knowledge of TECHNICAL English. 3) High and highly developed intelligence. "Disadvantages": 1) Great strain on the eyes, because all day at the computer. 2) Completeness, because This is a sedentary profession. 3) Loneliness. Why? Because you sit alone in a closed room all day. This profession is suitable for those people who are more comfortable in life being alone. 4) You constantly need to learn new languages ​​or new components, because... Almost every year an improved version of programming languages ​​is released. 5) By the age of 35-40, this profession gets boring...

I talked to many acquaintances who work in this specialty, and they all unanimously insist that they are tired and bored. And it’s terrible when your favorite job starts to get boring! And they also say that there is no place in this profession women. What nonsense? There are no worse female programmers men, but they are not hired for this position. It’s very difficult for girls to break through... I think everyone understands why this is so.

This profession is very interesting and promising, but few people manage to achieve something good in it, because you need to be completely cut off from home, family and immerse yourself in work. Few people can agree to this. And this is another “minus” of this work.

I myself am torn between it and the profession of a journalist, which will be discussed in the next article.

Responsibilities of a system administrator.
To perform the functions assigned to him, the system administrator performs the following responsibilities:

1. Planning of information infrastructure, internal network structure.
2. Organize and ensure uninterrupted functioning of the local computer network. Monitoring the use of local area network.
3. Installation of network software on servers and workstations, configuration of systems and software on servers.
4. Provides protection against unauthorized access to information, viewing or changing system files and data, as well as security of internetwork communication.
5. Organization of access to local and global networks, including the Internet; exchanging information with other organizations using email.
6. Registration of users, assignment of identifiers (logins) and passwords.
7. Maintaining the operating status of server software.
8. Support for the operation of a corporate web server and internal web servers.
9. Installation and configuration of network services. Keeping them in working order.
10. Setting up a security system, planning a general security policy.
11. Training and consulting users when working on a local computer network, the Internet, using e-mail, maintaining archives.
12. Downloading and subsequent installation of updates to server operating systems and software.
13. Logging of system and network events, resource access events - for subsequent analysis.
14. Virus protection. Updating anti-virus databases.
15. Development of instructions for working with network software and providing them to users.
16. Setting restrictions for users on: using a workstation or servers; time; degree of resource use.
17. Creates a data archiving plan. Installation and configuration of backup system software. Saving data on removable media.
18. Configuring notifications about critical events. Installation and configuration of monitoring software. Identifying bottlenecks, responding to critical events and hacker attacks.
19. Maintaining a log of data archiving and the degree of media usage.
20. Development of a scheme for post-accident recovery of a local computer network.
21. Conducting test checks and preventive inspections of computer equipment in order to timely detect and eliminate faults.
22. Drawing up an application for the repair of faulty equipment, as well as the purchase of new and modernization of outdated hardware equipment for servers and workstations, as well as network equipment.

Specialties and specializations: digital (computer) programming, software, mathematics, quantum mechanics, mathematical modeling, physics

Required education (level of education, type of educational institution)

The most promising is higher professional and academic education obtained at leading academic universities

Specific abilities necessary for successful mastery of the profession:

mathematical abilities, the ability to easily solve and compose physical and mathematical problems, interest in purely mathematical and physical problems and problems.

Major subjects of the school curriculum:

Mathematics – geometry, algebra. English language.

Nature and content of the work:

Writing computer programs, ensuring the functioning of computer systems and their maintenance

Obvious advantages

High social prestige of the profession, the opportunity to realize creative abilities, a greater degree of freedom and independence in work, the opportunity to work as part of international scientific groups.

"Pitfalls", obvious disadvantages

The individualistic nature of work, a high degree of threat of professional deformation - workaholism, a decrease in the level of social contacts and connections

Possible occupational diseases: nervous disorders, the danger of cardiovascular diseases, blurred vision and the possibility of diseases caused by systematic work on the computer, possible diseases of the musculoskeletal system, osteochondrosis, physical inactivity, coronary heart disease, and other disorders caused by a sedentary and sedentary lifestyle.

Salary range (in rubles on average per month):

in Moscow and the Moscow region: 40–130 thousand rubles;

in large regional centers: 30–80 thousand rubles;

in remote and rural areas of Russia - from 15 thousand rubles.

The programmer is the main character of modern jokes. This is statistics. I also have a favorite joke that also applies to system administrators: “A programmer/system administrator is a person who solves your problem by creating two new ones.” Those who have a frozen computer and programs that work in an unusual way or don’t work at all will understand me.

He will understand, because there is no one else to turn to. If there is a task or problem that is related to the operation of the computer, its connections, you will still have to contact a programmer, whether you like him or not. A programmer is the person on whose shoulders the entire information age rests. Hence - love and hate.

Books have been written about programmers and action films have been made for a long time.

Wikipedia says that a programmer is a profession or hobby of a person who develops software for programmable devices, which, as a rule, contain one or more CPU. An example of such devices are desktop PTO, cellular telephone, smartphone, communicator, game console, server, supercomputer, microcontroller, industrial and disposable computer. By mistake, a system administrator and other IT specialists are sometimes called a programmer. By the way, Wikipedia is also a product of the modern information age. This is a folk encyclopedia, which is compiled by the people themselves, according to the rules established by them. This is only possible in a virtual space created by programmers and other IT specialists. It is enough to go to Wikipedia and you are already in a completely new world, which if there are no owners (although if we assume that the Internet arose as one of the Pentagon projects, there may be owners, but they are unlikely to be able to do anything with this world, except to try to turn it off), where there are only “stalkers” - guides, specialists and mentors. This second reality is gaining momentum: the number of computers connected to the Internet just reached 1 billion in 2008, and in 2014 there will be twice as many. The most important thing is that someone has to service this whole horde, write programs, install operating systems, do upgrades and routine repairs, fix glitches, plug “holes” and scold Bill Gates. One billion computers is something! This means that the number of computer scientists around the world is close in number to doctors, teachers and, most importantly, they all speak one or two programming languages, even more understandable around the world than the ancient Latin in recipes for cough syrup.

And this army continues to grow. And there are still places in their ranks.

So - what do you need to do to hear the secret: “You are in the Army now!” - have you been accepted into the great brotherhood, before which the ring of Sauron is like the beads of an Indian leader?

This story began before World War II, and first took shape in 1948, when Norbert Wiener released his Bible of modern times, Cybernetics, in which he asked the question: “I think with fear of the time when machines will replace the majority of people who will have nothing to do.” offer the market, in addition to their very average abilities.” But time found the answer itself, as soon as the personal computer appeared: where will programmers come from?

Today one of the most popular vacancies is a programmer.

The standard path to becoming a programmer is the programming department of any technical or natural science university. Where there is mathematics, there will certainly be applied mathematics, and today it is programming, programming and more programming. There are already more than 8.5 thousand programming languages, thanks to which a person communicates with a machine and their interaction is realized. The rest of the career is a compromise between the implementation of the ideas that inhabit the head of the programmer himself, and the needs of various companies in their work.

There are different types of programmers - depending on their specialization, the most popular specialties are: 1C programmer; Web developer; Delphi programmer; .NET programmer; Java programmer; C++ programmer; microcontroller programmer.

At the dawn of the computer industry, the division into application and system programmers/administrators was relevant. While the former created software for end users, system programmers created software tools to support application programmers: operating systems, compilers, standard libraries and drivers. Therefore, a system programmer/administrator is the next step in the development of the programmer itself.

In domestic practice, a separate figure of the system administrator has emerged - the leading programmer. A lead programmer typically has a high level of training in software development and has experience developing software products using a wide range of technologies. His main task is to coordinate projects from the first stage of development to the final stages of testing and technical support and directly participate in development as a qualified specialist.

The main qualities of a leading programmer are the ability to think systematically, in the long term, to see all stages of project development, to monitor modern market trends and to be able to apply the most promising and modern technologies in their projects, if necessary. The lead programmer, as a rule, also resolves some administrative issues, including personnel management, negotiating contracts, drawing up technical specifications, and resolving disputes with customers. He often serves as an intermediate link between programmers and management, and also acts as a manager in terms of distributing work and meeting deadlines and meeting allocated budgets. He is usually a technical advisor to management and is involved in all technical issues when preparing contracts, negotiating or developing requirements.

The practical activity of a programmer is supported by a number of tools. among which the leading role is played by the integrated development environment, a striking example of which is the Delphi environment studied in Russian universities; software development tools; driver development tools; a compiler that translates source code understandable by the programmer into machine language understandable by the CPU or virtual machine, or an interpreter that directly executes the program code; a debugger involved in finding errors, analyzing in detail various variables, stack, memory, processor registers, CPU status word; a linker that assembles compiled files and static libraries into an executable file whose structure is understood by the operating system.

The international language of communication for programmers is English.

Every social group quickly forms its own professional language, its own professional jargon. As a rule, such a language serves an important social task - rapid recognition of “friends” and “strangers” in communication. This language is partly invented, partly borrowed. Among programmers, there has long been a quasi-language that is rapidly developing, undergoing changes, the words of which are borrowed from professional English terminology, formed from abbreviations and abbreviations, and borrowed from the jargon of other social groups.

Teapot, user, makrushnik, car, asthmatic, rapist, engine, damn, rat/mouse, resuscitator, mom, slow down, demolish, hang, glitch, hardware, flying game, shooter, action game, pentyukh, pussy, CD, click, connect – This is only a small part of the average programmer's vocabulary. Like any living education, computer language finds patterns, examples and images in everything. It is not at all necessary to speak this language to everyone. But mastering it, skillfully inserting a couple of appropriate expressions into a conversation, and understanding it is a must for anyone who works professionally in a computer environment in order to be “one of their own” among “their own.”

Hackers occupy a special place among programmers. Originally, this word was part of English student slang, denoting a simple but crude solution to a problem; a damn cunning trick by students (usually the author was called a hacker). Until that time, the words “hack” and “hacker” were used for various reasons, regardless of computer technology in general. Among computer scientists, the slang word “to hack” initially appeared. It meant making changes “on the fly” to someone else’s program (it was assumed that the source code of the program was available). The verbal noun “hack” meant the results of such a change. It was considered a very useful and worthy thing not only to inform the author of the program about an error, but to immediately offer him a hack that would fix it. The word “hacker” originally came from here.

A hacker today is a person who actually lives in cyberspace, perceiving the Internet and computer programs as his habitat. It is from this point of view that they perceive the actions of some companies as a violation of the principles of freedom, and the objects of cyberspace themselves as objects of their everyday life and arrangement. They adapt these items to their needs, test them for “quality”, fight against objects and programs that are unwanted, from their point of view, sometimes coordinating among themselves certain actions, up to and including attacks on unwanted sites, hacking programs and codes. This is the personal attitude of a hacker. There is also hacker activity organized in a certain way, in the form of attacks on websites, their hacking, etc., which, as expected, can be ordered. However, there is no real confirmation of the appearance of such orders from anyone’s side in the open press. Just guesses.

Exists computer crime when knowledge and skills in the field of programming are used for illegal enrichment - by transferring funds from one electronic account to another, “intercepting” credit cards, illegal cash withdrawal, etc. And also for terrorist purposes, interfering with the work of law enforcement agencies or government agencies. These are dangerous phenomena that states and international law enforcement organizations (Interpol) are fighting against.

After graduating from a university, several options are possible - the most energetic, those who have managed to establish themselves since their student days, can count on a lot - an invitation to join an interesting international team working on a project. For a number of countries, being a programmer is like a pass into your life. For example, Canada annually allocates entry quotas for programming specialists. There are large international companies - software developers; Thanks to the World Wide Web, their employees can live and work on all continents without even meeting each other.

Those who have not benefited from such international happiness have something to do at home: serving several companies or clients. As a rule, such a programmer gets a job in some company that does not burden him with discipline and work. But now he has a permanent place - after that it is usually not difficult to serve several more organizations. He has a lot of work - quite routine and monotonous: as a rule, he needs to rearrange glitchy programs, maintain the operation of internal networks and connections to the Internet, update workplace protection, conduct initial training for employees on the company’s computer organization, write programs or customize them for accounting , secretariat, change hardware and rearrange software. Others work by creating and maintaining websites. Someone finds a place where they replenish electronic resources - scanning books and illustrative material.

Even when working in a group to solve some large common problem, the programmer is always quite personally free and not bound by the formal requirements of the discipline.

To live without depending on others and to be independent in judgment - isn’t this what the Roman Stoics dreamed of when they spoke about human happiness? Moreover, at the fingertips of each computer scientist - programmers, system administrators, specialists in working with the Internet - is a whole virtual world in which there is a place for everyone.

But to be the owner of the whole world – isn’t that enough?

Over my almost thirty years, I have risen to the rank of senior system administrator. I had about forty servers with Linux on board at my disposal. The company grew and expanded, but the tasks boiled down to increasing the power of ready-made functionality.

And everything would be fine, but over time and for certain reasons, discomfort began to prevail over comfort.

Firstly, the support process itself, or rather its “permanent” nature or the absence of any finality. Small tasks, when completed, overlap each other ad infinitum and turn into a huge lump that constantly changes its size - the ratio of completed and uncompleted tasks. Which ultimately gives rise to the questions: “What useful have I already done, what else will I do, and what am I ultimately moving towards?”

Secondly, interruptions. In the matter of system administration, they stand out among all the problems and can unsettle anyone. When you are writing code, optimizing a service, and every half hour you are distracted by questions, urgent tasks and challenges - it is sometimes very difficult to return to work and it wastes time - you can sit for about fifteen minutes, remembering where you were pulled from and what you did in general (In the book " Time Management for System Administrators" by Thomas A. Limoncelli is well written about this). As a result, interruptions form the statement “They don’t let me work”!..

Thirdly, the habit of the work process. As you know, a person gets used to everything and what initially aroused admiration and ultimately brought general satisfaction becomes ordinary and boring. When everything is spinning and working perfectly, only you and, at most, the head of the department know about it, while users take it for granted and have no reason to be proud. But they notice any minor mistake, which affects both the karma of the entire department and the internal state of the administrator - against your will, you convince yourself - “I’m a bad employee.”

All this concerns service in general and this is its path. And I, little by little, lost faith in her.

What did I want? Greater immersion in more creative work, less influence from outside on trifles, seeing the end result and getting satisfaction from it. That's all. Tired and alienated looking at our department of programmers, reading habr or watching gifs on developerslife, I realized that if I can’t get this in the field of administration, it’s time to change my profession, and since I liked writing code more and more, the choice I didn’t have to wait long.

Choosing a language has always been a complete frustration for me. At work, I wrote in bash, because I needed to write in something, and its capabilities for system administration are sufficient. Perl - I didn't like the syntax. For a very long time I tried to accustom myself to ansi C, I worked through two books - Unix development of network applications (William Richard Stevens) and Programming for UNIX The most complete guide (Mark J. Rochkind). But I never found an application for the acquired knowledge, and I still regret the time spent. According to the requirements, I wanted it to keep up with Linux, be universal, be able to do both sys (for current scripts) and web (with a reserve for the future) and not vomit in terms of syntax. Python has been around for a very long time - it was slowed down by its relative youth, low popularity, and, I don’t know why, its name. Over time, watching giant companies that are increasingly using python in production, and by the time I decided to change my profession, I had already decided on the language, although there wasn’t much to choose from.

For the first six months I read Mark Lutz, tried to write something, but the knowledge was fragmentary and I was afraid to use it on production servers, and I didn’t see the benefit in replacing bash with python. Time dragged on, and I liked my idea less and less. As a result, I convinced myself that if I don’t succeed, others will succeed - I need courses, in a short time, with practical work and so that there is responsibility for the money paid. It will be easier and faster this way.

I found monthly Python courses at a local institute and convinced management that they were necessary, although by the time I paid for them, I was already ready to pay for them myself. Within a month of training, everything fell into place. Everything accumulated before and read on the Internet fell into place and became understandable and transparent. No book can replace live teaching, where any inaccuracy or understatement can be clarified on the spot.

Then, like clockwork, over the course of six months, gradually and in my free time, I rewrote all the scripts and all the automation in python, wrote a statistics server for squid (python, wsgi). Already at my own expense, I took courses through a webinar on OOP and django, since I decided not to even try to argue their necessity to my current employer. I rewrote everything taking into account new knowledge. Then, for the sake of broadening my horizons, I took more courses on testing, but I didn’t like it - I left it as a backup option.

The next six months, in addition to direct responsibilities, were spent maintaining and optimizing the code I wrote and searching for work. I only considered full-time; I could no longer administrate, dreaming of a new job and new opportunities.

During this time, there were about a dozen interviews for the junior position. There are about a dozen in total. But everywhere either django+frontend was required, or at least two years of experience. I have no experience in production, and I didn’t have and still don’t have any desire to work on the frontend. What’s also strange is that there weren’t many questions about the language, but there were a lot about theory - OOP, patterns, scrum, agile methodologies - which I naturally didn’t know. Continuing to bang my head against the doors of conference rooms and listening to the standard phrase “We’ll call you back,” I continued to follow invitations. And ultimately, I was hired as a backend developer in a closed project.

I have been working at my current job for several months now and can sum it up.

In total, it took a year and a half. For some, this is a lot, but with all the courses, nightly homework, reading, writing and rewriting code, as well as current tasks in a growing company, for me this time flew by.

I certainly got what I was striving for, although I didn’t enjoy it for long - the feeling “I succeeded, I became a programmer” burned out very quickly, in about a week, and was replaced by:

Workdays with a wild load. I haven't strained my brain this much since college. As a result, poor sleep, thinking about the code in free time, when, for example, you need to relax with your family, and general poor health, although now I seem to have gotten into it. I realized that so much time had already passed while writing this article. Time has accelerated greatly and now I’m afraid that my whole life might fly by just as quickly before my eyes. Maybe it's time to learn to relax.

Fight procrastination. Good system administrators have a lot more free time than they say. Thanks to this, a lot of subscriptions, YouTube channels, specialized websites, jokes, and many online acquaintances and interests accumulate. Personally, it could take me up to three hours a day to read and watch all of this. Which in my current position, due to lack of time, I almost had to give up. Initially, I just read it briefly, then I just read the headlines, and then I completely unsubscribed. I learned not to respond to instant messenger messages at my desk, so as not to get distracted and lose my thoughts. Now I am subscribed to only a dozen specialized sites.

Initially, I tried to link these difficulties to my age, and at one of the interviews I was told that it was not profitable for the company to invest money in me and that it was too late for me to decide to change my profession. But now I can say that this is not the case at all.

The point is in the profession of system administrator itself. Work, the end result of which tends to absolute laziness, greatly weakens life positions and aspirations, and communicating with users and listening to their grievances further strengthens asocial principles. And then some people, like me, begin to think about greater usefulness, which leads to the search for a more harmonious life, and some people are satisfied with everything and continue this difficult existence.

I noticed that recently a lot of admins I know are starting to prepare for retraining or have already changed their profession. And the development of cloud technologies and the expansion of the influence of outsourcing companies only strengthen this trend.

System administration is slowly losing its relevance and in the near future, this profession is likely to change, becoming a hot start and, perhaps, an internship for more and more new programmers and other all-round IT specialists. But not more.



We recommend reading

Top