At HackSoft, we strive to provide exceptional software solutions for our clients. In order to do that, we need to regularly sharpen our skills and broaden our knowledge.
In this article, we'll explore how we do it.
Sharing knowledge internally
To build a house that will last, you need a firm foundation.
That's why, as part of our company culture, we've integrated many activities for sharing knowledge internally.
Slack discussions
We use Slack extensively - both for internal & external communication.
We have special internal channels for questions and answers - if anyone encounters a problem, they can always ask a colleague for advice.
Typically, a question can drive a discussion, and here lies the essence of sharing!
As a side effect of discussing the problems we face, we have a channel with a comprehensive history that is a valuable resource for everyone.
Those discussions can eventually turn into a knowledge sharing event, a blog article or a full-blown conference topic!
Knowledge sharing events
Knowledge sharing events have become part of our culture. We do them regularly - at least once a month.
If a team tackles a problem and its solution can be helpful to more people, the team schedules an event in the calendar.
Everyone is welcome to join! Recordings from the meetings are always available for the whole team.
Those events are quite pragmatic - usually people describe the problem, shown potential solutions & we end up with a discussion.
Day ON
In HackSoft, we have a special thing called “Day ON”.
It’s essentially a day that you can take each month, in order to learn something new or contribute to open-source.
The idea is simple - take the time to play around with something new. Or test a concept that you’ve been thinking for a while. And later - share your findings with the rest of the company!
Respectively, there's also "Day OFF" - an additional day for resting and recharging each month.
The “Day ON” and “Day OFF” are part of the social package that everyone working at HackSoft receives.
Reading with a twist
That's a new practice we are currently piloting.
We pick a specific book of particular interest & basically form a book club around it.
We schedule biweekly meetings, to discuss certain chapters from the book. And those discussions tend to be quite beneficial - people sharing perspectives, giving examples & improving on ideas.
For the past few months, this has greatly improved many areas inside the company!
Sharing knowledge externally
We believe that sharing is caring!
While working on various projects, we gather first-hand software development experience, and we love to share it openly, with the idea that it can be helpful to someone else.
Writing blog posts
Writing blog posts helps us communicate our ideas better and crystallize them!
Additionally, by sharing the problems and solutions we've found, we help our future selves, as well as other folks stumbling upon the same problems.
When people respond positively to them, we couldn't be more content!
Also, more often than not, a team of ours can encounter a problem that another team has already resolved. Therefore, finding an article describing how the team has resolved the issue is immensely valuable.
Our blog becomes like well-structured documentation for the whole team.
Contributing and creating open-source
Giving back to the community it's important to us. We've been using open-source technologies for more than 8 years, and now heartily, we also support open source and create our own.
We are currently supporting both Django & Django Rest Framework, with monthly contributions.
On top of that, we are the proud creators & maintainers of the Django Styleguide, where we collect our work experience, in a structured & reusable way.
Speaking at events
Taking part in different tech events as speakers has become a routine for our culture to go to conferences abroad.
In the spirit of sharing our knowledge, we're always up to prepare and share with the community.
If someone has insights on a topic that would be interesting not only for our team but for a broader community, it's encouraged to bring it to a talk.
So far, our team has given talks and workshops in more than 10 conferences and meetups in Bulgaria and abroad.
Some of them you can watch in this YouTube playlist.
In summary
We all have daily tasks in our pipeline, and sometimes it is hard to find time and energy for learning or sharing insights.
Establishing this process of learning and sharing as a routine, not a rare occasion, takes time and effort, but it pays off in the long run - investing in everyone's growth.
Whether creating content for our blog, organizing a knowledge-sharing session, or taking part in an event - all of these contributions are meaningful for our team, and we're always motivated to do them regularly.
How do you learn and share knowledge with your team? Share with us in the comments!