This is a sad and long story about the relationship in the IT-team, and corporate culture, and joint development. I hope she will help someone not to make our mistakes and build a better relationship with colleagues.
Introduction
At the end of March, 2018 I started working, as it seemed to me, in a reliable and nice Swedish company with a large IT department of 200 people. I dreamed to participate a lot in developing new applications in Java, to learn more about the frameworks of the Spring family, to learn new technologies (before that I accidentally landed a company where SVN was still used), to participate in interesting discussions, receive and leave adequate comments in Code Review (and do not bother only in spaces and indents) - in a word, be part of the professional community and have the opportunity to develop as a specialist. The well-known Swedish corporate culture and the colorful international team encouraged me and strengthened my fruitful cooperation with my company.
In the first months I could really say that I had found everything I was looking for. I quickly plunged into development, took part in the MVP issue, learned a lot of new things and even learned Kotlin, which allowed me to make my own contribution to other projects.
')
But my happiness did not last long ...
Recruiting
In early September, a new employee appeared in our team; for simplicity, I would call him Gianni (a descendant of the Italians who moved to Brazil). Our team leader Cyrus and the seniors who interviewed him did not express any particular enthusiasm, but for some reason he won the heart of Kirin's boss Kim (I am introducing many fictitious names now).
Unlike all of our relaxed developers (who almost staged a strike when they were asked not to wear Bermudas in the summer to work) Gianni looked exactly that brilliant: in any +35 pants, long-sleeved shirt, black polished shoes. He asked for a salary more than the threshold of our seniors, and said that he had five more job offers on the phone. Apparently, under the pressure of all these indisputable arguments, Kim decided to satisfy all the requests of an ambitious young man, despite Kira’s protests. The probationary period lasts six months, so we decided to take and try.
It is interesting that Gianni positioned himself as a Java-Spring-senior, although, as I learned later, in reality I worked with PHP for several years, but before we came to us - with only one project in Java.
The first steps
Since I got the onboarding of a new colleague, I spent quite a lot of time with him in his early days. Everything looked altogether normal, except for the fact that he often continued to stare at the phone even during our conversation with him, and sometimes he ignored everything I said.
The first work task of Gianni was the adjustment of our Kibana. The new release was to take place in 2 weeks, and everyone decided that it would be better for him to get acquainted with our application later. And for Kibana, the period of two weeks was just right (the company had already established the entire infrastructure for it, all that was needed was to fasten it to our application).
A month later, after the release, lengthy sufferers about how difficult it is to set up the logback, and some altercations in the devops (which, naturally, do not want to work) - Kibana was finished. And, despite the fact that we had a period of active correction of bugs of different caliber in one large application and two microservices (you could find something to your liking), Gianni began to tune the Graphan.
Grafana took a total of two months. The first weeks and a half went to write a line with a collection of metrics under each discarded exept, and push it into the review code. Almost immediately after the publication, I left a comment stating that the AOP component is good for collecting metrics, and the second week and a half Gianni, he said, read about AOP in general, about AOP in the spring in particular, to decide whether my idea is reasonable. Only after other developers came to the review, did he begin to implement it.
I remember the day when I really had a lot of work: our senior Karl went on vacation, I had to introduce Sarah, a new developer, and the number of ticketing did not allow me to forget about my main duties. Gianni approached me, saying that he was trying to immerse himself in the AOP and that in order to finally understand what I wanted to see there, he needed either a pair programming session or an idea snippet (whatever that is).
It seemed to me then that screwing aspects to an application in spring consists of approximately three components:
- add dependency;
- component design;
- creating classes with the necessary annotations.
In my opinion, none of them had any technical difficulties with advanced Java users, but the organization of classes could take quite a lot of time. In general, in order not to be distracted from my own bugs and not to impose my own taste on a person, I preferred to prepare a snippet of the code with all sorts of variations on the topic of what opportunities to save time and effort opens AOP.
The implementation has been delayed for another two weeks. That Java was not compiled, metrics were not added. There were no questions to me or to other developers, all sufferings were transferred alone.
In parallel with this, some other strange events began to occur. There were quite a lot of them, but I remember these two well.
. , , , -, - - . , , " " "", -- , .
(, ): ", , - ?"
: ", ."
( , , ): " ----, ."
—
. - ( ), . , . .
, «» (, , AOP ). , :) , , :
code snippet AOP ( " " );
, ;
, ( , );
, ;
.
, , — .
: AOP , , «» , . PO, , , .
— , , . . , :
- ( , , );
- : ( );
- gradle- ;
- static , Spring-.
, , . : « , - ».
: POC , . , , - , . , , . : «». .
, , , , . HR, , — , , . , , . , . .
, . . , , , .
. , .
: . , , , , . , ( 20!!!), — . , ( ) , , , Angular.
:
. .
(): ", ?"
: " , , ."
: ", , "
, , , "" "bbb". - : " - ? , - ."
: "-, , . , , , ."
: " - , , , , ."
: " ? , , ?"
: " , ."
: " ."
(): " ."
, .
, . , , , , , .
. . , . , .
: . (, , ) , — «» , . ( , , ), , , — . , . , , . , .
: ( ) , — . , . , , , .
. , , . , , . HR. , . , ?
. , . , «» , , .
- - — . . … , - .
, , .. . , , «» — . , , , ( ).
— — . , : . .
, , , , . , , - 404, - .
( ), — (, , , , ), , . : , . , , .
, , , / . , .