Why do we need a library?
In a recently published article ( The Origins of Big Data Trend) I've pondered on the reasons and consequences of why software developers find themselves locked in the narrow technical mindset, and how this affects business and technology trends, for better or for worse. When someone only knows how a second leg of a centipede makes a move, and has no idea of what makes the whole centipede glide on all its 100 legs, they will be at a loss in the face of unexpected new challenges. Software development craves for more people with a broader outlook. That's why it's in the best interest of IT businesses to encourage the culture of learning with their employees. If formal education fails to provide this well-rounded knowledge, we need to invent our own ways to catch up. Reading appears to be the most obvious catch-up strategy.
The culture of continuous learning has always been nurtured in our company. It starts with hiring: we only welcome people who are genuinely interested in learning, and have curious minds. We learn, explore, share knowledge, do internal conferences, and one of the things that supports this culture of learning is an old-school library of paperbacks in the office. This tangible library makes learning easier. If you see all those books every day, it's hard not to stop by and not to skim through a book, or two, or three. We do not have a formal curation strategy, as to who is supposed to read what. If someone wants a book — the book is ordered, and that's how our TauLibrary has been formed. It has 300+books and counting.
How do we manage books in the library?
We use Targetprocess, our project management tool, to track the circulation of books. There's a project called "Library". When someone wants a book, they create a user story and put it to "Please order" state. The next state is "Ordered", and then there's a state called "In Stock/Reading". If a book is assigned to someone, the assigned user is currently reading it. If a book is available in the library, no one is assigned.
Here's how the books look as a list of user stories:
.. and broken down by some tags:
Which books do we have?
The library has books on management, agile, lean, kanban, testing, programming, machine learning, artificial intelligence, continuous delivery, statistics, mathematics, data science, psychology, linguistics, philosophy, writing, marketing, SEO, design, visualization... Ufff. What else? I find it hard to categorize all those books that we have. Tags might do this job better than me. Perhaps, there's even no great need for categorization. Software development is a fusion of many disciplines, that's why developers need to know what visual arts and cognitive sciences are about; designers need to get an idea of what developers are doing; marketing people will want to learn more about data science and visualization. Everyone has to catch up in some field of knowledge. Reading is the very first step, what goes next, depends on individuals. Either way, a library is the low money investment with a huge return on a company's ability to innovate. Ultimately, all things learning transform to innovations. The spirit of innovation will reveal itself in the way people think, get insights and discover subtle perspectives of looking at familiar problems. If the culture of learning became mainstream with IT companies, I'm sure this world would have a lot more friendly, nice and usable software products.