Programmers department. IT department and its structure

A programmer is a very important profession, classified into several types. The functions, rights and responsibilities of different programmers will be discussed in this article.

Who is a programmer?

What does the job description say about the profession? A programmer is a specialist in the field of IT technologies who has professional computer skills and is able to create and use various types of computer programs. A representative of the profession in question must be energetic, sociable and only positive.

How can such a job be obtained? The programmer, the instructions prescribe, must have a higher technical education. Only in this case can he be appointed to the position by order of the General Director of the IT department.

The programmer must have excellent knowledge of:

  • on labor legislation;
  • about various kinds of regulations, acts and norms relating to the professional activities of a programmer;
  • on labor rules and regulations;
  • about safety precautions.

Rights and responsibilities of a programmer

Like any other worker, the programmer has certain rights and functions.

What rights does the job description prescribe?

  • The programmer has the right to identify and eliminate various causes and factors that interfere with effective work activity.
  • The programmer has the right to send various kinds of wishes, requests and proposals to the management of the enterprise regarding improving the efficiency of work.

The rights of a representative of the profession in question, although they fit in only two points, are nevertheless quite fair and disclosed. What responsibilities does an IT specialist have, and what does the job description say about them? The programmer, according to the standards, is endowed with the following functions:

  • program development and testing;
  • development of a methodology for solving the problem;
  • identification of required information;
  • determining the content and scope of data;
  • starting and stopping programs;
  • ensuring proper operation of programs;
  • preparing equipment for operation, repairing some equipment.

Only the most basic functions of the specialist in question were mentioned above. Of course, there could be much more.

What is a software engineer?

The job description of a software engineer states that the specialist in question is appointed by order of the general director.

He reports either to the head of the department, or To obtain the position of software engineer, you must have a higher technical education and at least one year of work experience.

The specialist in question must have excellent knowledge of the most different types software, about the principles and technologies and methods of processing and encoding information. It is advisable that the specialist also have an understanding of formalized programming languages, as well as the order and methods of document preparation.

A software engineer can only be guided by the charter of the enterprise, its regulations and legislative acts of the Russian Federation.

Rights, duties and responsibilities of a software engineer

The job description of a software engineer prescribes the following rights for the employee:


What can you find about the responsibilities of the specialist in question? Here's what the job description says:

  • a programmer-engineer is required to develop programs and test them based on mathematical analysis;
  • is obliged to develop methods for solving problems;
  • must select the program language;
  • must define the information to be processed;
  • is obliged to check the software products before use.

Depending on where a software engineer works, their job functions may vary slightly.

It is also worth noting that the software engineer is responsible for the incorrect performance of his work activities, for negligence, for violation of discipline and safety regulations.

About the lead programmer and his responsibilities

Lead programmer appointed general director, and reports to the technical director. Naturally, the leading programmer must have a higher technical education.

The leading programmer is distinguished by his computer skills at a professional level and the ability to develop complex special programs. Nothing else characterizes the lead programmer as well as listing his job responsibilities. So, here are the functions that fall within the competence of the lead programmer:

  • assigning tasks to programmers and monitoring their implementation;
  • development of tasks for the department;
  • checking programs for compliance with standards;
  • providing assistance to programmers in the department;
  • carrying out inventory;
  • control of enterprise property;
  • informing superiors about existing problems.

Thus, the name of the profession speaks for itself. In fact, the lead programmer is a kind of “headman” in the department.

About the responsibilities and rights of the lead programmer

The job description of the lead programmer prescribes the following rights for the lead programmer:


Thus, the lead programmer has much more rights than the ordinary one. But the more rights, the greater the responsibility. Thus, the specialist in question is responsible for:

  • failure to perform or poor performance of their functions;
  • failure to perform or poor quality performance of functions by the department;
  • providing false information about the work of the department;
  • disclosure of trade secrets;
  • failure to follow orders from superiors.

The specialist in question has a very responsible job. A leading programmer is a focused person who is attentive to his work.

Programmer in a budgetary institution and his responsibilities

It’s worth saying right away that the work of the specialist in question in a budgetary institution is not much different from work in a commercial institution.

Thus, the job description of a programmer at a budgetary institution states that the employee is also appointed by the director of the institution and reports to him. Primary duties and responsibilities include forecasting, analysis and planning. As an example, consider a school programmer.

Job descriptions for a programmer at a school may be different, as they are edited directly at the educational institution itself. Nevertheless, some general provisions can be highlighted.

The school programmer must:

  • analyze the state of the school computer park;
  • monitor the state of the computer park;
  • predict trends in the development of school technology;
  • organize the use of technology;
  • maintain documentation on the state of the computer park.

It is worth noting that the school programmer is entrusted with enormous responsibilities. Moreover, if there is only one for the entire institution.

On the responsibilities and rights of a programmer in a budgetary institution

Despite the fact that the job description of a programmer in an institution may vary, one thing is for sure: the responsibility of a programmer at school or in other places is always enormous.

It is worth noting the vagueness of the wording in the job description:

  • responsibility for involvement in violation of the [educational] process;
  • liability for causing damage to the institution;
  • for failure to fulfill duties, poor performance of duties, etc.

What rights are assigned to the programmer? The most basic ones can be identified:

  • the right to advanced training;
  • the right to make proposals for improving work;
  • the right to request necessary documents from superiors;
  • the right to negotiate with employees of the institution (school), etc.

Nowadays, all companies, from small to large, need information technology in order to withstand competition in the context of the widespread use of high-tech solutions. However, the specifics of IT tools and methods of their implementation, operation and maintenance, depending on the scale of the enterprise, may differ significantly. If the required set of IT tools in the case of a company with a staff of up to 50 people can be exhausted by only one automated system accounting and one system administrator of average qualification, then a large organization needs an integrated approach to creating an IT infrastructure, which includes the creation of an IT department. So, what is the IT department for? Starting to answer this question, it is worth listing some of the nuances of working with information flows at the enterprise and consider them:

  • One person (and in some cases even ten) is not enough to provide the required amount of work of a particular profile related to IT;
  • No person can be a highly qualified specialist in all areas of IT at once. Consequently, the company’s IT staff should consist of specialists in various fields;
  • Each specialist is busy performing only his own task, the implementation of which is necessary insofar as it is necessary to fulfill the tasks assigned to the IT infrastructure of the enterprise as a whole;
  • As follows from the above, the work of several people performing various jobs must be coordinated. This involves the involvement of an IT manager - an IT director who is able to understand both the activities of each of the specialists and the goals and objectives of the IT infrastructure within the framework of the enterprise's activities.

Consideration of these nuances inevitably leads to the conclusion that the IT department should be a system, and not just a set of tools and a company of specialists from different fields working together. Thus, the IT department of a company is a set of interacting IT tools and IT specialists, the goals of which are:

  • Providing information technology;
  • Increasing the efficiency of the company's activities by optimizing information flows.

The company's IT department performs tasks such as:

  • Implementation of IT projects;
  • Ensuring performance information systems;
  • Providing the company's management with information about new IT opportunities and technologies for managing them;
  • Office management of the department, maintaining the IT budget, accounting for IT assets, ensuring IT staffing.

As for the staffing of the IT department, in most cases it includes employees of the following profiles:

A network specialist identifies problems that arise during network operation; analyzes user requirements; coordinates the process of setting up and supporting network equipment; ensures compatibility of software and hardware network software; prepares the budget in the accountable area and ensures the efficient use of resources; supervises less qualified technical personnel.

A systems analyst analyzes user requirements to determine the configuration of software and hardware; trains technical specifications,technical reports on software and hardware support; coordinates the process of testing and commissioning of IT software; conducts analysis of complex programming issues regarding code modification already existing programs and creating code for new programs.

The programmer solves complex programming issues related to modernization, modification of existing code or creation of new code; prepares graphs and workflow diagrams; establishes the sequence of operations for entering and computer data processing; supervises software testing and debugging.

System Administrator installs software and hardware; monitors and optimizes work operating systems computer technology; identifies software problems; analyzes user requirements, evaluates additional features to improve software performance.

The User Support Specialist is responsible for installing and performing diagnostics on software and hardware; provides technical support and advice to end users; is responsible for organizing the repair of computer equipment; ensures availability Supplies for computer and office equipment; advises users on technical issues.

The head of the IT department manages any activity related to the maintenance of computer equipment; controls the process of selection, installation, support of software and hardware; controls the company’s relations with partners providing IT services; manages the process of selection and training of department specialists, analyzes the results of their activities; Manages the employee training process.

By the beginning of the 21st century, the world of information technology had become unthinkable without such a phenomenon as global network"Internet". On this moment The Internet in business is not only a means of communication between geographically remote departments or different companies, but also a means by which you can develop new markets by presenting to potential clients your special kind of business card- Web site.

Depending on the type of website (business card site, information portal, interactive portal with an online store), the number of required specialists can vary significantly. In the most difficult case, the IT department should have:

  • PHP/ASP/Perl/JavaScript programmer with knowledge of database management language SQL data;
  • HTML/CSS/Flash layout designer;
  • A web designer who works at a professional level with such raster and vector graphics, How Adobe Photoshop, Corel Draw;
  • Content manager, selecting and editing text and graphic information for subsequent placement on the site;
  • System administrator for web services (Apache, cron, sshd, ftpd, sendmail, mysql);
  • Specialist in attracting website visitors (SEO, registration in thematic directories, ordering advertising and links).

The above leads to the conclusion that the task of creating a large, dynamically developing Internet project that would bring tangible benefits to business is not an easy one. Especially considering that website quality criteria are becoming more stringent every year.

1. Weekly seminar of the development department.

Once a week, programmers get together and briefly discuss their tasks, namely those tasks for which there is a problem that the programmer has been working on, for example, for more than three days. Make a list of such tasks.

The leader of the meeting conducts a brainstorm on each task with the group, working on each task for no more than 5-10 minutes, then the person, the owner of the task, writes down such ideas (thoughts) and subsequently analyzes it independently and makes a decision. Such a short seminar should be held in a relaxed atmosphere, but nevertheless in the office.

Result: the task owner receives new views on his task, knowledge and information about tasks at work and problematic tasks are exchanged, and “stuck” tasks and projects are eliminated and eliminated.

2. Group placement of the team.

A team of programmers according to the agile development methodology (SCRUM) must be together. Result: exchange of experience, fast decision problematic long-term tasks, interchangeability of employees, team cohesion during large projects.

3. Access to 1C servers and database servers.

Direct access to database administration, up to limited database management rights (database management servers) or direct communication with database administrators (telephone, corporate messenger).

Result: Reduction of time when problems arise specifically with the database at the level of sql and 1c8 server clusters, elimination of time delay problems, as a result, acceleration of the overall process of solving technical problems and projects.

Note As a rule, an experienced programmer is familiar with the 1c8 client-server structure and can manage the 1c8 server at the user level with the database server.

4. Training in basic configuration skills for technical support specialists.

Since the technical support service also performs the role of testing products (results) of development, provide training for support service specialists in configuration in the 1c8 system, object structure, basic principles and programming skills, allow access to configurations for viewing only.

5. Pair programming.

It is possible to consider the option of pair programming, again from the SCRAM methodology.

Result: higher quality reliable code, increased speed of completion of individual tasks, project iterations and the project as a whole, increased optimality of tasks and projects in terms of productivity and speed of work.

6. Performance optimization.

When implementing tasks and projects, evaluate the optimality of the code and conduct load testing before implementation. (this applies to large projects and tasks).

Also conduct a survey of users to identify bottlenecks in existing systems accounting and regularly carry out optimization, identifying problematic code, for example using 1C Performance Management Center.

Result: prevention of performance problems and, as a result, faster work for users, eliminating possible downtime.

7. Open management policy for employees of the accounting systems development department.

Inform each employee of the development department about the structure of accounting systems, their relationships and his role in this structure or determine the nodes (configurations, databases) for which the employee is responsible.

8. Uniting all nodes of the company’s IT structure with a single bus.

Organize data exchange between nodes (databases, accounting systems, etc.) of the structure using a single interaction interface using, for example, IBM WebSphere Message Broker from the line IBM products WebSphere MQ.

9. Introduce a Human Resource Management System

  1. Card for each employee.
  2. Dynamics of development.
  3. Schedule of employee training and development. The company does not need employees who do not develop.

Professional orientation of the employee. Priority directions.

  1. Periodic testing and advanced training of employees.
  2. Loading a team and an individual employee.

10. Introduce a system for recording tasks

  1. Track the progress of completing tasks.
  2. Speed ​​of work of a team of programmers, analysts, and technical support.
  3. The speed of the development department, the efficiency of employees, problematic tasks, the use of such analytics for planning.
  4. Forecasting the power/resource workload of teams and the development department as a whole
  5. Identifying employee performance
  6. Input data for the human resource management system.

11. Profiling of employees and project teams.

  1. Identifying the effectiveness of employees, programmers in certain industries or areas of development, redistributing tasks between programmers, creating specialized teams, the specialized team works more efficiently with inspiration.
  2. Conducting a survey or testing programmers on what they worked with, what they liked more, to determine the direction and preferences of programmers.

12. Test Driven Development.

  1. To convey to developers the TDD development methodology, test-driven development. (how it should work - development - Refactoring)

13. Introduction of a local company wiki.

  1. Information exchange.
  2. Instructions, corporate documents, features of systems operation, specifics of operation of nodes (1c, not 1c), modules.
  3. It will simplify the exchange of information between existing employees and significantly speed up the speed of entry into a full-fledged working mode for new employees; the time of experienced employees is not wasted on training new ones.
  4. Easy to add new information, easy search.
  5. Reducing the risk of sudden departure of a valuable employee, subject to documentation of ongoing projects and tasks.
  6. It is possible to create a corporate wiki that will be accessible from the corporate website

14. Training of support service specialists in basic programming skills, certification of specialists

Hello, dear guests of the portal of the Moscow Instrument-Making College of the Russian Economic University named after G.V. Plekhanov!

I am glad to welcome you to the specialty 02/09/03 “Programming in computer systems Oh". This direction trains highly qualified specialists in the most in-demand specialty, allowing them to get both a promising job and, if desired, to stand at the origins of the development of the IT sector. In the cycle of professional disciplines, students study Maintenance and computer repair, database and network administration, information systems security, diagnostics and system Programming, web design and graphic modeling of objects. They are taught to develop and integrate software modules, administer databases, maintain software. The main thing for them is to master everything related to the provision of computer systems - mathematical, informational, technical, organizational.


Studied software products:
1.Pascal
2. Cisco
3. C/C++
4. Delphi
5. Java
6. C#
7. Sql Server
8.My Sql
9. 1C: Enterprise
10.Photoshop
11. Adobe flash
12. Cisco it essential

Programming technicians work in computer centers, IT companies, banks, educational institutions. They develop software, troubleshoot computer problems, set up equipment, train users, and also update databases, software used, and monitoring licensing agreements related to the operation of programs, develop instructions for working with computer programs, draw up technical documentation. For more than 70 years, our institution has been graduating students with a quality education. When creating this portal, our priority areas were: convenience, information content, and brevity for site users. The website provides up-to-date information for students and their parents: calendar of events, student life, news feed of department No. 3.