Passion for sharing knowledge –  interview with Paweł Kamiński

Passion for sharing knowledge – interview with Paweł Kamiński

Polcode Team
5 minutes read

Paweł Kamiński, Senior Full Stack Developer at Polcode, tells us why he believes that success is as important as the people with whom we reach for it, how teaching others makes you develop yourself and what’s the most important thing while creating a source of information about programming.

You have worked in and taught so many technologies! We are impressed by the magnitude of your experience. 😉 What's your secret? Was it difficult to learn so many different tools? Or is it all a matter of practice?

In fact, it may seem like there are a lot of these technologies, but in practice, it is much easier to explain. Over the years, I specialized in dedicated web applications, during my studies and afterwards I wrote the most in Java. Then for years, I polished my skills in PHP, and recently got to know Python. This is the core of my possibilities, the rest were learned along the way, just like AngularJS, React, and Vue. So there is no specific path to success here, although, on the other hand, maybe I am quite specific, because programmers usually get the most pleasure when writing a product from scratch, while I like to join the team or take over the project in the production phase. This way I often learn good practices from colleagues in technologies that I know less about. At this stage the biggest design changes are already completed, the project already has a specific outline and usually several versions released. Perhaps it is combined with my aversion to redesigning systems, meetings that are too long, and the constant change of requirements at the beginning of the project.

So you can say that for me the greatest learning was always watching my older colleagues, browsing their code, and trying to find the best elements and patterns.

You are not only a practitioner but also a theoretician – you wrote two books on programming and several courses. Where does this passion for sharing knowledge come from?

While still a student, I was the chairman of the Science Club. We conducted a series of meetings for fans of a given technology and I was just fascinated by Java (and I still am). I have found that sharing knowledge is something extremely pleasant, especially when we see the results. Initially, in order not to disturb the rhythm of work as a programmer, I conducted classes at the IT Technical School for several hours a week, then I moved to the University, where I practice until today. Talking with students is a perfect getaway from everyday remote work as a programmer. Meeting people live, often exchanging views on particular programming technologies gives me a picture of what young programmers are interested in. The students who already work are a great source of information about the image of the IT market, or an inspiration to broaden horizons. The benefits of talking and exchanging views can be mutual.

The most common objection to programming books is that technology changes, so such “printed” knowledge will quickly become obsolete. How do you see it? How do you answer such allegations?

Indeed, the book publishing cycle has its limitations. The time to create an average large item is, with my possibilities, about 1 year, then we have to wait a few months for the correction, composition, and the actual commencement of distribution and sales. It is easy to make such accusations then, especially when the technology is extremely popular and is at a strong stage of development. This was the case, among other things, for my newest publication on React technology.

In this aspect, a lot depends on planning and a bit of luck. It is worth following all leaks about new releases, and sometimes it may actually be better to wait if significant technological changes are expected.

Nevertheless, I believe that reading a book is always the beginning. Both my positions and courses have always concerned the basics of programming in a given technology, I always try to emphasize that reading a book is to be an inspiration and a solid foundation for my own work or searching for new sources of knowledge. In such a situation, even if the presented code has elements from a year or two ago, sooner or later the programmer will encounter these 'old' practices on his way. Be it in the form of code working somewhere, or in the form of entries in other sources of knowledge. And the possible necessity to know a newer solution will always be easier if you know the basics of the previous version, as a complete change in the concept of implementing certain issues is rarely encountered.

You've also run your blog about programming for a while. How do you feel about writing such content? Do you plan on going back to that?

The idea of ​​the blog was born when I noticed that I was getting lost in technology, that I was missing the solutions that I had already introduced. This is indeed my big flaw – forgetting such basics.

In this situation, the blog initially became a collection of my notes in the form of code. At one point I thought it would be nice to describe it in a more accessible way. The blog, unfortunately, was set aside when I decided to focus more on books. And yes, there is a chance for me to go back to blogging, but I wonder if it is better to follow trends and deal with my thoughts or strictly technical solutions, as before.

What are you working on right now? Can we expect any courses/publications in the near future?

As I mentioned earlier, the publishing cycle is about a year of creating items, in practice, after publishing the book, I rest for a year and devote my time to other activities. This is the moment now, so there is a chance that I will start the next work in the coming autumn or winter. However, I do not know what it could be, we have not taken up the topic with the Managing Editor yet, but I have ideas myself, which, importantly, must be verified by the market – after all, we write for our readers and we have to take their needs into account the most.

Your experience proves that you have not decided to lock in one technology, but have broadened your horizons. Do you think this is a path worth recommending? Or maybe you would recommend a specific specialization when advising a younger colleague?

I do not think that my horizons extend beyond the limits of a person with 10 years of experience in the industry. Moreover, I can see my limitations, I have never written commercial mobile or hybrid applications, they have always been web applications. And in total, this is also a career path that I would recommend, specializing in one field, be it Machine Learning, project management, or mobile application programming. Certainly not specializing in one technology, but still watching what other techniques are in the field of what we do in our daily work.

You have been with Polcode for over 9 years. What is it about this company that has managed to keep you for so long?

During these 9 years, I have written many times that it is always about people. Projects come and go, their life cycles vary. You can risk a statement that it is similar to colleagues because they also often change jobs. Nevertheless, the sentiment and joy on my face appear much more willingly when I think about people and not about old projects. Despite working code that brings business benefits, which we can be proud of, it pays more attention to interpersonal relationships. With the current team size of our company, it's hard to get to know everyone. However, there are people who have a similar internship and whom I have great respect and trust, I just believe that success is as important as the people with whom we reach for it.

Could you recommend your favorite programming books, blogs, or other sources of knowledge?

More than specific books, I would like to focus on the authors. I definitely recommend the publications of authors such as:

  • Robert C. Martin - a classic of the genre, often called Uncle Bob, has published an extremely important book "Clean Code", but also "Clean Architecture".
  • Kent Beck - creator of the basics of extreme programming,
  • Martin Fowler - especially the books "Refactoring" and "Patterns of Enterprise Application Architecture"

Thank you very much Paweł!

On-demand webinar: Moving Forward From Legacy Systems

We’ll walk you through how to think about an upgrade, refactor, or migration project to your codebase. By the end of this webinar, you’ll have a step-by-step plan to move away from the legacy system.

Watch recording
moving forward from legacy systems - webinar

Latest blog posts

See more

Ready to talk about your project?

1.

Tell us more

Fill out a quick form describing your needs. You can always add details later on and we’ll reply within a day!

2.

Strategic Planning

We go through recommended tools, technologies and frameworks that best fit the challenges you face.

3.

Workshop Kickoff

Once we arrange the formalities, you can meet your Polcode team members and we’ll begin developing your next project.