The Team Leader at Synergy Codes – Artur Ptaszek, had the opportunity to work in various companies, dealing with many technologies. As he admits, it was a worthwhile experience, but at no point did he feel it was the ‘ultimate’ workplace.
I have always needed more freedom. I emphasized an environment that motivates me to develop. The perfect workplace would be a company that is a developer incubator – he said. Why did he change his mind? Why does he think today that he gets more benefits by working four years on one project? You will learn this from our interview with Artur.
Q: For years, the theme of working in one or choosing different companies has been returning to the IT community. You are a supporter of the first solution – why?
A: The community broods over one or the other, but it seems to be a matter of personal preference. I believe that for people who focus on development, staying in one company may be beneficial. However, the projects must push the employee forward. It is strictly rooted in the development possibilities the company delivers daily.
Why do I prefer the former? I like to have control over my self-development, follow the paths set by myself. When changing the company, I never know what I will think of, how the company approaches development, or whether my colleagues will also focus on accelerating the team development.
A stable environment allows us to stop thinking about change and re-implementation, learning about processes, etc., and focus more on implementing our development plan. That is why I appreciate long-term cooperation with Synergy Codes. Being here enables me to learn about aspects not directly related to programming per se, but process development, automation, and to delve into building development plans. Here, it is worth mentioning that I am a supporter of the T-shape model approach. It assumes a wide development of competencies and a narrow specialization that enables me to implement myself in this model.
Q: Don’t you have the impression that you are missing something because you don’t have the opportunity to learn about the other companies’ work culture?
A: No, I don’t. I even think that I am winning more. Throughout my career, I have had the opportunity to work in various companies with many technologies. It was a worthwhile experience, but at no point did I feel it was the “ultimate” workplace. I have always required more freedom, which means an environment that motivates me to develop and work in a company that is a developer incubator. Once upon a time, I was even on the other side of the wall, believing that changing frequently was good. However, I quickly changed my mind, finding a perfect match.
After a long time, I began to notice what I had lost by changing companies. At Synergy Codes, I had the opportunity to build from scratch and maintain an application developed for four years. You need to know that in the IT industry, the average rotation is two years. I would not find out how my decisions influenced the final solution, nor would I can participate in a larger solution refactor in adapting to new requirements. This project touched on many aspects of development, and we developed it using the best practices: unit tests / e2e, code review, DevOps.
Later, I started to work more dynamically, getting to know many projects, people, and clients. It gave me the impression of being in a completely different company. I am able to look inside our clients’ companies, learn about the organizational culture and even learn about good practices developed by other organizations.
Q: It is the company that should ensure that the employee complacent? If so, how can it be done?
A: There are many ways. One is to create an environment for self-development and free exchange of knowledge. In our company, we organize dev-meetings, lightning talkies. People engage in internal initiatives and projects. We set development goals periodically during the so-called Meaningful Open Conversations with the leader. All these methods motivate action and establish some development rhythm. However, the biggest challenge for any company is to reconcile customer projects and satisfy the thirst for knowledge, but with a suitable approach. Synergy Codes always finds these hours a month for development.
Q: Those who are for more frequent job changes argue that this is the fastest way to raise wages. How do you relate to this statement?
A: That is right! As programmers, we like numbers. It is the quickest and perhaps the easiest way to raise your salary. But is it the only one? As with everything, I believe that the truth lies somewhere in the middle. When deciding to cooperate with a new company, you need to think about every aspect of work, apart from remuneration. You also need to think about the development perspective, projects, clients, and the atmosphere. Too many factors to consider to make a conversation just about money. Sometimes a tiny financial promotion will not persuade to change the job. But a profitable proposal may have a positive effect on the decision to change. It is an individual matter. I would analyze it in-depth.
Q: Who should not working in one company for 5 or 10 years?
A: Referring to the previous question: people who want to succeed fast and earn a lot of… money in a snap. For those for whom this is the main motive in life, the model of my preferences will not be appropriate. However, when something more matters to us, it seems to me that it is worth making a profit and loss account.
Q: You participate in recruitment processes. How do you check whether a given candidate wants to work at Synergy Codes, and not just change their current job?
A: I start with the initial CV screening. If the candidate changes jobs very often, he usually does not pass this stage. Then, during the interview, I try to ask about reasons for changing jobs. A simple question, but it can say a lot. If money is the only reason to change, the warning light comes on immediately. However, if I feel that the motivation to change jobs is different, I start to focus more on whether the candidate tried to take any steps to improve the situation with the current employer, and perhaps it was not positively received. Why is this important to me? It’s very easy to fall into the vicious cycle of complaining. Then each subsequent job will have flaws. How we try to cope or how we fight for a better workplace is crucial.
Q: What else are you looking for among the candidates? What features make you convinced that someone is worth hiring?
A: All recruiters at Synergy Codes share a common goal – to hire a colleague or choose another team member. It is why the lion’s share of recruitment is checking the fit with the team and our organizational culture. Many of these things are non-obvious, and they come out of the conversation. We rarely think about the gestures and emotions that we convey, and yet we can determine what the other party’s intentions are. However, it would be hard to test if it wasn’t for the atmosphere that I am trying to create – each candidate is being taken care of by me and treated like a teammate. Recruitment is done through the implementation of practical tasks, of course, you can use the Internet, and at the very beginning, I do not even expect a beautiful code. Just like at work, refactoring comes as another aspect. Here, the discussion opens, because quite often you can talk about favorite patterns, practices from previous companies, beliefs towards a specific programming paradigm. I do not expect to do something perfectly right or in the paradigm that I use in my projects. I try to establish a friendly relationship with another person so we both can learn something. When there is chemistry between us and the passion for programming spills out of the beaker, it is a clear signal – I want to work with this person!
Q: Are soft skills more important than hard skills? For many, it is illogical to hire someone with a lack of stack knowledge, but with great skills related to, for example, communication.
A: When recruiting, I choose people who are just nice, with an open perspective, and self-development oriented. In recruitment, we care about adjusting to our organizational culture. It is harder to justify choosing a very strong person, who will do most of the work on the project, while their attitude will lead to the fact that the morale of the entire team will suffer. I had the opportunity to work with such people, and the only thing that I remember is their arguments and lack of cooperation. Skills and competencies were automatically relegated to the background as their roughness entered the room first.
It puts me in a difficult position as a Team Leader because ultimately my role is to take care of the well-being of each team member. Making a change in soft skills is definitely more challenging to develop than switching from Angular to React. I am convinced that candidates with extensive experience in various technologies catch up very quickly. What is more, under the supervision of other experts in the team, their knowledge will skyrocket!
Q: For the employer- is hiring long-term employees the best solution? Does the company lose if that the teams consist of the same people for many years?
A: Of course it doesn’t. However, the organization must be nourished with “new blood”. New people in the teams bring interesting insights, different experiences, and methods. Then we all feel the excitement of the new relationship. It adds a breath of freshness, and at the same time, we develop a network of friends. Additionally, if I were to choose, I would not focus on keeping people in one project or team. At Synergy Codes, if someone is willing to change or someone’s competencies are required to set up a completely new team, we just do it.
Q: What, in your opinion, is not enough talked about a programmer’s work?
A: Definitely about the relationship between business and IT, because in the end, we score the same goal, although sometimes it may be quite the opposite. As long as our business is not an Open Source library, we should broaden our soft skills, knowledge of modeling, and agile operation. The programmer will have a job only when there is a constant business need, and the client will earn money selling the product. By getting to know the client and his business, we also become an integral part of it, and technical problems often turn into business ones. Technology helps us achieve it, but the relationship does not work in the opposite direction.
Sometimes I fall into this trap myself, but the cold shower is quickly cooling my enthusiasm. Do not be confused by this approach, as it does not mean abruptly abandoning all good practices! Unit tests, code reviews, or application architecture are still tools of a craftsman-like programmer, but I believe you cannot lose yourself in all of this, just as we do not throw a cannon on a fly. If the client’s application is a simple CRUD, let it be!
Q: What is not enough talked about the Team Leader’s work?
A: Well, how difficult it is to move from the role of a specialist to the role of a man who manages the team. From the moment I became Team Leader, I haven’t been doing this project. It was a shock to me! I’ve been learning programming so long just to quit? After taking this role, the most crucial goal was to hire people who would be competent to implement the project, and I became a beacon guiding them to their goal.
Q: What makes you want to work in one company? What is it about working at Synergy Codes that could attract candidates?
Then, things became even more interesting. With my back office, I started to carry out a strictly DevOps project that would automate the deployment process of the application we were working on. My decision was made by Kubernetes, with which I work to this day. I had the opportunity to propose and implement projects that optimize the work of Synergy Codes programmers. Listing further, I got to know GraphQL, Terraform, Docker, Azure, Google Cloud, Bitbucket Pipelines, Sentry, PostgreSQL, Typescript, React, Redux, Jest, TDD, Bash, Ansible, Express, Node.js, Selenium, and Web Extensions. I did not mention the technologies with which I had only a passing experience.
Apart from hard skills, I have achieved a lot in terms of soft aspects. These are becoming a Tech Lead, taking care of the architecture of our clients’ solutions, acquiring business thinking, presentation skills, managerial competencies, and participating in recruitment. Let me mention further becoming a Team Leader, active participation in the technical development of the company, presence in strategic planning as well. I manage a technical guild, too. These are just some of the possibilities that I get from working at Synergy Codes.
To sum it up briefly, there is one factor that has allowed me to achieve so many things in this company. It is supporting people who want to grow. It’s ingrained in the foundation of Synergy Codes that anyone gets a kick from the company! Every idea is taken into account, and most of it has been or is being implemented. Such an enormous openness to action and flexibility are rare. What our organization represents has allowed me to move to the “long-distance” camp or, if you prefer, “incumbents” and to put it briefly – I do not regret it!