You are a programmer IT sector and do your job the best you can. Are you sure? How do you know that you give it your all, since it’s difficult to measure the efficiency of thinking and mental work? Do you want to be really good in your field? Here is our guide on how to become a great programmer.

The definition of knowledge worker.

With various definitions out there, it’s challenging to pick a single one. However, it is safe to assume that it is a person with specialist knowledge or experience that he/she uses at work. Most authors emphasize that knowledge workers are rewarded for thinking.

Their domain is thinking at a high level of abstraction, low level of routine, and a constant need to update knowledge. These are the features that T. H. Davenport considers characteristic for employees of knowledge [3].

Familiarize yourself with our brainstorming and more. We hope that it will inspire you to your own thoughts and conclusions.

We’ve asked our developers on what it takes to become a great programmer. Here is what they’ve responded:

Lucjan Wilczewski (Senior Software Engineer):

A good programmer does not stand still. He tries things out of his plot, thereby gaining new paradigms, a new look at his plot. A great programmer is inquisitive – he does not take the client’s word for faith. He asks, trying to understand the crux of the real problem that the application should solve. A good programmer works in a team – he does not focus solely on getting his job out, but he’s keeping the team in common. Importantly, he does not compromise on quality but also understands business needs. So he chooses solutions to satisfy both sides.

Mateusz Solecki (Senior Software Engineer):

I would add an important matter to me that you need to listen to smarter and more experienced colleagues. In addition, you need to help others and not be afraid to ask others for help. So teamwork is important here, sharing knowledge and drawing on knowledge and experience. Not only your own but also others. It is important to be able to state your decisions in contact with your employer or colleague. I think that paradoxically this industry serves such a feature as laziness. If you do not want to do something, then you come up with a tool that will do it for you. This tool then becomes a good technological product, and you save time.
In addition, when it comes to personal characteristics should believe in yourself, know your worth. Personal development is also important, he should be interested in changes and be up to date with new products in his area.

Maciej Bulczak (Senior Software Engineer):

How to become an ideal programmer? Responsibility – in my opinion, the most important feature of a good programmer. Because I am responsible for the performance of certain tasks, it is important for me that the employer can count on their execution in a correct and timely manner. For me personally, it is important that the projects lead in a stable manner, not on hurray. It gives me comfort at work.

Sebastian Grzymała (ReactJs / PHP fullstack developer):

A good programmer does his work with care, but he does not succumb to the temptation of perfectionism that could slow down the project. He is committed, devoted to himself, but he does not let work get under control of his life – he cares about Work-Life Balance. He takes pleasure in programming, and the learning of new things and the development that follows them are inseparable elements of his everyday life.

Marcin Kulawik (Founder and CEO of Solveq, for many years he has been building and managing IT teams, a supporter of the Agile methodology at work):

Of course, technical skills are very important. A good developer should be open to challenges, not be afraid of them. He should constantly develop, be creative, willing to adapt and learn, eg new frameworks or programming languages. Well, like what he does, program with passion. But besides, from the point of view of the employer and manager, I think that the same as the technical knowledge are soft skills, such as the ability to work in a team and communicativeness.

It is important that the programmer is open to constructive criticism that helps to develop. From my point of view, it’s great if he is so involved in the work that he tries to get to know the field or the industry in which he works, or “domain knowledge”. What’s important, if you want to become an ideal programmer, you should have a passion for sharing knowledge so that the team can benefit from your experience and grow.

Daniel Dekański (Founder of – a company creating mobile applications from A to Z):

Developers are usually great adepts of their guild: they precisely perform tasks, are creative in finding solutions. They are able to fulfill sometimes the most bizarre wishes of the so-called “Business”. Well, just right or right? We have built a software development process like a car factory: it is like a production line, where the exact division of tasks dictates that the product defines functions, the designer defines how to act and look. And the programmer turns it into a ready program. Only that in today’s world of rapidly changing expectations and powerful competition, the approach from Ford factories from a century ago is simply archaic. That’s why I value those programmers who can press the big red button and say “hola hola, maybe we should do it differently”.

Those who write code take on the roles of its users. We live in a time of interdisciplinarity, where we must awaken and use all the talents of the people we work with and avoid stiff roles. And here the role of process leaders begins. We must involve developers more often in product design and motivate them to think in terms of the recipients of what we create. By the way, we’ll break a myth about IT people – that they can not talk. Perhaps we rarely include them in discussions? …

Let’s summarize. How to become a great programmer? Traits one should definitely have are:

  • technical skills
  • code quality
  • responsibility for work
  • communicativeness and ability to work in a team
  • open mind
  • passion and commitment
  • self-confidence
  • willingness and ability to learn, adapt and develop
  • the ability to learn from others
  • willingness to share knowledge
  • openness to challenges
  • keep up to date with news and changes
  • inquisitiveness
  • creativity
  • openness to criticism
  • broad horizons: knowledge of the customer’s industry, looking at the product through the eyes of the recipient

Let us return to the literature dealing with the topic of knowledge workers. Many authors pay attention to what our interlocutors emphasize, namely that the knowledge worker (in this case our programmer) is a person who not only has knowledge but above all develops it, is able to properly process and use it [4] . Most authors, like our interlocutors, also put emphasis on disseminating knowledge and sharing it [5].

[1] The creator of the knowledge worker’s concept is P. Drucker. P.F. Drucker, Społeczeństwo pokapitalistyczne, PWN Warszawa 1999.

[2] T.H. Daneport, Zarządzanie pracownikami wiedzy, Kraków 2007

[3] Tamże

[4] M. Fryczyńska, Pracownicy wiedzy – nowe wyzwanie zarządzania organizacjami, „Zarządzanie Zasobami Ludzkimi” 2003, nr 1.

[5] E. Skrzypek, Miejsce zarządzania informacją i wiedzą w strategii przedsiębiorstwa, [w:] A. Stabryła (red.), Zarządzanie firmą w społeczeństwie informacyjnym, Wydawnictwo EJB, Kraków 2002