TL;DR Knowledge is the meat of IT companies. Know-how, architecture, software and DevOps technologies, data, etc. When experienced employees leave, they take their knowledge and experience with them. New employees are hard to find and need time before they learn the skills enough to fill that gap. This poses considerable risks for the continuity and efficiency of any high-tech company and its ability to stay relevant and competitive on the modern market of IT-services. So, knowledge sharing should be very important for IT companies, right? Right.
And what about us, developers? Is our primary motivation in life keeping afloat the company that employs us? You bet it's not! For most of us, especially young and ambitious, it is much much more personal. Apart from a good salary, it could be fun at work, exciting and challenging tasks, problem solving, professional growth by learning new technologies, being part of a great team, and of course keeping our families happy. If we fail to satisfy our personal needs as developers with the present company, how long will it take before we start looking for new opportunities? 😉
So, while knowledge sharing has become a crucial survival factor for each IT company, the question is: are we doing it right or is there anything important we are missing? My view is that while the formal knowledge sharing process within a company may be well organized, we often overlook something very important: the personal and social side of it and its impact on the efficiency of the development process.
This article applies to developers of any kind, frontend and backend, as all of them can profit from knowledge sharing. However, the Missing Part is probably more applicable to big enterprise level organizations than to small startup companies, which use those types of knowledge sharing techniques anyway.