In modern workplaces, employees look for far more than just an earning opportunity when considering a job. They want to feel like they are much more than just a resource and a workforce. And a leader’s attitude largely determines how employees perceive the environment in which they work. Investing in the development of people in a company influences its overall success. 

People are the most valuable asset of any company. If they aren’t growing and improving, there is no organisational development. Therefore, companies’ strategic goals and substantive plans should include a place for constant employee professional development. 

Why should companies care about employee professional development? 

Each new acquired skill, even minor, increases self-esteem. People then believe in their competencies and use them more willingly, take up challenges and share their experiences with others. Caring for employee development: 

  • motivates them to develop knowledge and skills; 
  • creates opportunities to establish better relationships with each other; 
  • strengthens the company’s internal talent base; 
  • provides loyal employees at various levels; 
  • helps the organisation prepare long-term plans. 

More information on how to care for the value of an employee in a company: How to keep a valuable employee in a company?

How to take care of employees’ development? 

A way to plan employee professional development in a company can be to prepare an individual professional development plan. It is a process that should be carried out jointly by the employee and the leader and consists of 3 steps: 

  1. Analysis of development needs and employee motivation vs company needs and resources. 
  2. Defining development goals (resulting from the analysis), such as expanding knowledge, acquiring or developing skills.
  3. Selection of tools (methods, forms) that will allow achieving the set goals in a given time, with specific resources of the organisation (financial, time). 

Having development plans for everyone in the team, it is worth looking over them in terms of the entire organisation’s needs and seeing if employees share some any common areas 

Professional development in research 

  1. According to a Gallup study, 7 out of 10 employees in the US report disengagement. Uninvolved employees are generally people who are not cared for in a company. 
  2. According to the LinkedIn 2018 Workforce Learning report, 93% of employees would stay with a company longer if they invested in their careers. 
  3. Research conducted by Employee Benefits News shows that the average cost of losing an employee is as much as 33% of their annual salary. 

Methods and forms of employee development 

It doesn’t matter how much money a company invests in development if the chosen form doesn’t fit its employees. This choice is a major decision, so it is worth consulting plans in this regard with employees themselves because they are beneficiaries of the development program. Such plans may include, for example: 

  • on-the-job practical training; 
  • offline training programs and courses; 
  • interactive training; 
  • e-learning and social learning; 
  • employee performance appraisal; 
  • web-based conferencing; 
  • knowledge repositories; 
  • task/position rotation; 
  • coaching, mentoring. 

Employee professional development at WEBSENSA 

To systematically care for the development of its employees, WEBSENSA has created the Knowledge and Development Laboratory. As part of it, our people established a series of meetings called eLWiRa (thus taking the character of a graceful female name). 

Its aim is to allow for the exchange of knowledge and experience between employees. Particular meetings are usually lectures, but also practical laboratories. Currently, they are held remotely, but they increasingly involve more and more participants and show how the discussed issues look like in practice. All employees meet online for approximately two hours on Fridays. Then one of the employees presents a selected topic related to the scope of his work. 

The better our people are at what they do on a daily basis, the better the entire organisation is 

Although these meetings are generally one-sided speeches, they often turn into lively discussions that continue after the presentation. We are thrilled to notice our employees’ openness to acquire knowledge and new skills or share their experience.

Such meetings are integrating and allow for exciting discussions and contact with colleagues – in general, we have always tried to provide an opportunity to work on projects other than those for clients one day a week. Such internal initiatives give employees an opportunity to develop in the direction they choose, and not imposed by the needs of a project created for a client – says Julia Wasilewska, Marketing & Event Manager at WEBSENSA.

The beginnings of Knowledge and Development Laboratory 

The initiative of such meetings came in September 2019 from Jan Twardowski – Software Architect in our company, with the support and approval of its CEO – Michał Paluśkiewicz. 

Jan Twardowski explains the motives of his idea: 

Initially, it was supposed to be a form of expanding knowledge within a small project team. However, the idea turned into something broader, company-wide. I came to the conclusion that there is no point in limiting it to a selected group of people since almost everyone in the company can benefit from it.

We started by building foundations, i.e. improving the essential skills we expect from the people we work with. Then there were more advanced topics related to specific specialisations, systems architecture, or just somehow related to our industry. 

Benefits of this employee development at WEBSENSA

These meetings are aimed at raising competencies as well as building a culture of sharing knowledge. From the listener’s point of view, it seems to be an attractive form of developing one’s own knowledge and exploring new areas. It also brings a lot of benefits to the person who conducts the meeting. 

Preparation of a lecture/laboratory requires in-depth cognisance of the topic and is often the best form of systematising knowledge on a given topic. And the regularity of such meetings creates a culture of continuous learning and sharing knowledge with others, which the creators of the idea care about very much.

Its animator, Jan Twardowski, adds: I notice the satisfaction of the people involved and their outrightness to learning new skills. I am also delighted with the involvement of many people in the preparation of meetings because it shows openness to sharing knowledge. 

Topics of eLWiRa meetings so far

Below, we summed up all of our lectures and workshops so far – from the newest to the oldest.

How to Use Your Work Environment Effectively?, Kuba Szumski 

Kuba once again presented us with his flagship speech. He talked about how you can use your work environment quickly and efficiently, starting with the use of hotkeys, going through the selection of hardware and software, to efficient programming in Vim. 

Web Accessibility: Screen Readers, Methods and Tools, Szymon Pepliński

The essence of Szymon’s presentation was to show the basic principles of web accessibility. The author explained to us how to present information and user interface elements in digital products to be perceived by people with various disabilities and understandable to them. Szymon touched on many aspects related to the subject of Web Content Accessibility in detail and drew attention to its growing importance. 

Deep content understanding – DCU project case study, Jan Twardowski, Rafał Klusek, Krzysiek Kodrzycki, Konrad Krawczyk, Karolina Łopińska 

This collective presentation raised the main issues related to our DCU (Deep Content Understanding) project. The team presented its architectural and machine learning elements. They described how the system we created helps, for example, in recognising faces or searching for similar images based on specific features. 

Introduction to Agile methodologies, Krzysiek Kodrzycki 

Krzysiek introduced the 12 Agile Principles to us and described them against the background of other traditional and agile methods (Agile vs Waterfall, Scrum, Kanban, Scrumban). He compared their advantages and disadvantages and explained which types of projects would be best suited to each of them. 

Queue systems, Rafał Klusek 

During the meeting, Rafał presented the queue design pattern and its typical applications in IT systems (e.g. event-driven programming, asynchronous communication between threads, batching). Then he gave the architecture of the RabbitMQ environment and the advantages and disadvantages of using queues in practice. 

Machine learning – introduction, Data science team: Artur Gajowniczek, Karolina Łopińska, Pavlo Oliynyk, Viktor Szabó 

This collective presentation was intended to introduce the subject of artificial intelligence and machine learning. Our in-house data science team began by presenting the development of the field of artificial intelligence, moving to the areas of machine learning application up to the way neural networks work. It was a valuable introduction to the subject of machine learning for those of us who do not work in ML-based projects on a daily basis.

How to create nice things and take care of aesthetics in the IT industry?, Alicja Krzyżanowska 

From the perspective of a graphic designer, Alicja raised the issue of the visual reception of digital products. She discussed the principles of the human brain and the sense of sight and then presented good practices for creating materials for visual communication in the digital world.

Using Go Modules, Bartek Wiśniewski 

Bartek introduced us to the subject of Go Modules. He presented the methods of managing and distributing the source code in Go and the differences between packages, modules and repositories. He discussed the Go versions that support the use of modules and explained how to create and run a module in Go and how its structure should look like.

Vue 3 Library – new functionalities, Damian Rutkiewicz 

Damian revealed the new features of Vue 3 through comparison with Vue 2. Among the most important novelties, he mentioned: greater speed, size, reactivity, ease of development and friendliness to native platforms.

How to write maintainable code in Go, Kuba Szumski 

The author of the presentation described his writing code experience based on one year of experience working on one of our projects. He distinguished topics such as dependency injection + components, testing, monitoring, fallback, two deploys from one code, comparison with Python and code review. 

Asynchronicities in Python on the example of using the Asyncio library, Krzysiek Kodrzycki 

Krzysiek included the theoretical part in the presentation, in which he initially explained the issue of asynchronicity and parallelism and introduced the concept of threads and processes in operating systems. Then he discussed GIL in Python, compared threading, multiprocessing, asyncio libraries; the last detail (Event Loop, async/await, Tasks/Futures/Couritines). The workshop part was about creating drum loops with asyncio. 

Application debugging, Rafał Klusek 

This presentation mainly covered bugs and their types. Rafał mentioned typos, syntax errors (incompatibility with the grammar of the language), logical (incorrect implementation of the algorithm), functional (non-compliance with requirements), ”heisenbugs” (errors difficult to replicate, mainly in multithreaded processing); he also discussed defensive programming, the debugging process and available tools. 

Advanced use of the ClickHouse database, Bartek Wiśniewski 

Bartek introduced us to the principles of operation of the ClickHouse database, showing how to use it effectively. He showed how to process information with the use of a multidimensional database and generate analytical reports in real-time and with the use of SQL queries. He also mentioned how to deal with erroneous data. 

Algorithms and data structures LeetCode, Marek Wawreniuk 

The presentation introduced the problem of algorithms and their use in programming. Marek approached the topic from the practical side and asked participants several algorithmic tasks available on the LeetCode platform (for learning and improving coding skills). The workshop gave us the opportunity to practice algorithmic problems and data structures.

What is frontend?, Jan Siemiński 

The purpose of Janek’s presentation was to explain what a frontend is, showing it as an area between the user and the backend. He listed the elements that make up the frontend (e.g. JQuery, HTML, CSS, UX, UI, Responsive WDA, MDV, HIG, PHP). He briefly discussed the construction of internet search engines and described the tools and ways to build your own functional application. 

What is backend?, Rafał Klusek 

Rafał presented backend secrets in relation to web applications. He discussed the issues of typical components for a backend application (application, server, databases, queues, storage), communication options (CRUD, REST, synchronous and asynchronous) and the most common data interchange formats (HTTP, WSDL, gRPC). 

A project summarising the topics covered so far, Jan Twardowski 

Janek summed up the meetings so far from the beginning of the existence of eLWiRa. He mentioned the acquired knowledge in the fields of: efficient use of the system and command line, Git and Docker operation, or your own work environment. Then he proposed to make (mainly individually) mini-projects. They allowed the participants to check in practice whether the topics turned out to be clear and understandable for them. 

Docker – practical use (workshops), Jan Twardowski 

The author of the presentation – Janek, argues that understanding the basics of Docker allows you to use ready-made images or create your own. As part of the workshop, he proposed three exercises with the use of Docker. They were: 1. Date display; 2. Serving files; 3.Using Registry.

Docker – basics (workshops), Jan Twardowsk

The purpose of Janek’s presentation was to show more practical aspects of using Docker. He emphasised that knowledge of Docker is essential in our daily work. He covered things like setting up a database, creating an application in django and connecting to a new database. Finally, he encouraged the participants to explore the documentation on their own.

Work environment – rules of efficient use, Jan Twardowski in cooperation with other programmers 

Several of our employees (Bartek Wiśniewski, Jan Siemiński, Marek Wawreniuk, Rafał Klusek, Jakub Szumski and Kateryna Rozanova) shared their experience related to the organisation of their own work environment and the tools they use to improve it. They spoke, among others, about which keyboard shortcuts they use, about tools useful in their work and how to organise windows or run code. 

Git – how it works and how to use it correctly, Jan Twardowsk

Janek’s presentation explained how Git works and our approach to using it in projects. He discussed topics such as distributed version control system (DVCS), staging area, conscious committing, or elements that make up the appropriate workflow. 

Linux support from the terminal, Jan Twardowski 

Janek’s presentation introduced us to the issue of using the terminal. Janek distinguished the elements that make up the efficient navigation through it: browsing, files, symbols, systems, editors, SSH, environment variables. Then he discussed the path to its launch and gave a practical task to participants to check the acquired knowledge.