who is he and what should he be able to do

Hello everyone! My name is Egor Sizov, I lead a group of implementation engineers in the Quality Management direction at the Tsifra Group of Companies. I have worked my way up from an intern to a team leader as an implementation engineer and am now ready to share my experience, talk about the specifics of the role of an implementation engineer in IT, the necessary competencies, and key aspects of professional development.

The article will be useful for HRs, hiring managers in IT product integration companies, as well as specialists who want to become implementation engineers or are already working in this position.

Below in the article I consider the set of competencies and tasks of an implementation engineer using the example of my business unit at Tsifra. By adapting the competencies to your implemented product and technology stack, and the tasks to your responsibility matrix and job descriptions, you will be able to apply the principles I outlined in your company and division. (I hope so).

How to enter?

The expression “Get into IT” has become a cliche, but this demand on the labor market remains relevant today.

Online courses or additional education platforms in their contextual advertising mainly offer to “enter IT” through testing or analytics. And for many years now, educational programs at universities have been training in the areas of software engineering, data analytics, project management, etc. At the same time, the profession of an implementation engineer is almost never discussed, and there are practically no courses or educational programs in this specialty. But at the same time, an implementation engineer is a good starting position for entering IT.

Firstly, it is at the intersection of development and business and at the first stages implies the development of skills primarily “in breadth”, and also provides the opportunity to apply your background from other technical fields. Depending on the class of the system and the subject area of ​​the projects, the specialization will allow specialists in automated process control systems, technologists, fundamental chemists, physicists, and petrochemists to apply their background.

Development vs. Business: Subject Area

Development vs. Business: Subject Area

Secondly, the implementation engineer gains an understanding and basic skills in business analysis, architecture, design, DevOps, project management and software development. This allows you to choose to develop in a related profession and start your journey in it from a good starting point.

Competition at the junior and middle levels, the labor market is lower than that of analysts, systems engineers, and project managers. And from the senior level, an implementation engineer becomes a rare and scarce employee due to the combination of a high level of proficiency in several related specialties.

Who is an implementation engineer?

Over the three years of working as an implementation engineer, I often explained to people from IT, and not only IT, who an implementation engineer is and what his job consists of. Each time it was difficult to formulate, but my story always contained two main theses: a wide range of tasks and the connecting role of the implementation engineer in projects. Today I formulated the definition of an implementation engineer in three sentences.

Implementation Engineer a specialist who creates a project solution for managing production by end users. To do this, he not only configures the functionality of the IT system being implemented and develops custom solutions, but also, no less importantly, acts as a guide (translator) between the Customer, Development and other roles in the implementation project team. The implementation engineer's performance of these tasks ensures the achievement of the stated goals and effects of the implementation project.

What are the responsibilities of an implementation engineer?

From an organizational point of view, the implementation engineer is located between the development, which works on the product in an agile manner with planning new functions in sprints, and the business, which usually lives in a cascade model with annual funding and activation, as well as fixed deadlines for the stages of the implementation project.

Development vs. Business: Planning

Development vs. Business: Planning

From a technical point of view, the implementation engineer interacts with the system being implemented, the customer, the development and related specialists of the project team. I will dwell on this in more detail.

Implementation Engineer Relationships

Implementation Engineer Relationships

– In the system being implemented The engineer configures the functionality implemented in the product and develops design solutions that are not included in the product’s capabilities (usually integration with related systems).

– During the configuration of the system, the implementation engineer encounters bugs in the product, for which he interacts with development. The implementation engineer not only files a bug as a request to technical support, but also accompanies the request during its life cycle: provides additional information to support specialists and developers, and after the bug fix is ​​released, accepts the elimination of the problem. Also, when implementing improvements or changes to the current implementation of functionality, the developer turns to the implementation engineer for information about the specifics of using the product, its configuration or data on a specific project, which can lead to system behavior different from the development polygons.

– During the iterative process of configuring and developing design solutions, the implementation engineer continuously interacts with by the customer. As a result of working meetings and correspondence, demonstration of functionality and project developments, the implementation engineer specifies the customer's business processes. In accordance with this, the implementation engineer adjusts the system configuration and project developments, and also formulates business requirements for further implementation of product improvements. At the final stage of implementation, the engineer conducts training for the customer's technical specialists for subsequent administration and support of the system.

– The implementation engineer provides business analytics a functional requirement for a product, presented in the form of a user story, for those business requirements of the customer that cannot be implemented in the current functionality of the product. The business analyst, in turn, works with this functional requirement to set up revisions and subsequent support throughout its life cycle.

– Aarchitect and the implementation engineer come to agreements and restrictions based on non-functional requirements from information security specialists and the customer's architects. By agreements, I mean methodologies and approaches to configuring the system in terms of naming system entities, organizing their hierarchy, etc. Restrictions lie in the technical part. For example, a ban on direct connections to databases bypassing API services, a ban on using third-party libraries for scripts, etc.

– The implementation engineer determines, based on the required functionality, the set, versions and configurations of microservices that must be deployed and supported systems engineerWhen debugging a system, the implementation engineer localizes the problems that have arisen with its performance to the level of a specific microservice, the configuration of which the system engineer needs to change to solve the problem.

– Implementation engineer provides actual configurations and design developments to the designer for the development of technical documentation for the project, and also provides consultations on technical issues of the design and operation of the system being implemented.

– Finally, the implementation engineer provides to the project manager assessment of the labor intensity, detailing and sequence of their work from a technical point of view for further high-level planning of the timing, stages and labor intensity of the project.

Thus, the implementation engineer is the central hub of interactions in the implementation project.

What competencies are needed?

Based on the role and tasks of the implementation engineer, the following competencies can be identified that he needs.

Area of ​​expertise

Skill Group

Skills, technologies and tools

Products

The product being implemented

Knowledge and experience in configuring the product being implemented

Applied skills

Debugging Microservices

Knowledge and experience with queries and corresponding IDLE: RestAPI, grpcAPI, graphQL, SQL.

Understanding and experience analyzing browser developer console and microservice logs

Reading and understanding technical product documentation: README, CHANGELOG, admin guide, source code

Managing the lifecycle of a software bug request

Open Source Services

Skills in administration and working with open source services, for example:
identity provider Keycloak,
Apache Kafka Message Broker,
BPMN platform Camunda,
PostgreSQL database

Application scripts

Development of scripts in Python, JavaScript, Java/Groovy and other languages.

Subject area

Subject area

Understanding of business and technological processes of the subject area, as well as the specifics of use and knowledge of typical solutions in systems of the corresponding class

Soft skills for team management and customer interaction

Business communications

Soft skills for working interaction with the customer:
– Interviewing
– Business correspondence

Negotiation

Soft skills for negotiations with the customer:
– Knowledge and mastery of negotiation strategies
– Knowledge and mastery of conflict management techniques
– Managing expectations

Demonstrations and training

Soft skills:
– Conducting demonstrations of functionality
– Development of a program and training of the customer's specialists

Team Management

Understanding the Basics of Project Management

Knowledge of basic project management concepts

Understanding project risks and methods for managing them

Understanding and experience with Scrum methodology

Related roles

Business Analysis

Knowledge and experience with business analysis notations: BPMN, UML, WAD

Managing the life cycle of functional development

DevOps

Understanding the principles of containerization and container orchestration

Experience with container orchestrators Kubernetes, OpenShift, etc.

Architecture

Understanding the principles and methods of integration with related systems

Understanding the principles of information security

Understanding of principles and experience working under agreements

Design

Understanding of principles, structure, purpose and experience in reading design documents

Thus, an implementation engineer must have a wide range of competencies.

I plan to write the second part of the article and talk in detail about the development and career growth of an implementation engineer from junior to senior.

I will be glad if this text is useful for you. Write reviews.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *