I quit my dream job because I can't stand product development



    A few days ago, a friend boasted to me that he had wrapped a dude on a social security interview who worked only in outstaffs. A friend works in a grocery company and is firmly convinced that there is no use to idiots from galleys. There work soulless mercenaries, professional rogues of interviews and lazy people. He says the product will bend before they pick up a color theme in the IDE.

    My friend is categorical, and hates outstaffs even more than they deserve. He believes outstaffs are killing the very essence of development. They take bad developers, drag them to go through social security, sell them at a higher price in a corporation where everything is settled, and the question of survival is not at all, and they just live quietly on a drink of money and imitation of work. In general, he hates them as a hard worker-communist exchange brokers.

    And all my life I worked in outstaffs, and, of course, I think differently. And I wanted to condemn my friend, but I remembered how I myself refused to take grocery developers at interviews.

    Once, the team and I conducted a tech interview, the candidate fumbled well, but we decided that he didn’t suit us just because he came from a grocery company. The guy rubbed for half an hour about the product that he did at his last job. He told not how the product is made, but what the product does for people. He asked us what we are doing, and not how and with what help. Of course, we did not say to each other: “The product is important for him, but he should be shit”, but we were unanimous in our unwillingness to work with it, and we thought of many reasons for refusing.

    I did not attach any importance to this then, but now I understand - it seems that the developers, who are sold three times a year for other people's projects, and the developers, who have been figuring one product for five years, are completely different professionals. Having thoroughly rummaged in myself, I realized that I not only consider myself to be the first, but also subconsciously despise people who have been working on the same project for more than two years.

    Perhaps this is due to bad examples. One food company where I worked used C # 2.0. TWO ZERO. They argued simply: the project is large, if you transfer it to the new version, we’ll spawn a bunch of bugs. And I accept this argument - this is the argument of the business, for which profit is more important than technology. I understand the business, but I can’t understand the developers who are happy with this.

    There are a thousand career reasons for using the latest technology. I can still understand the conscious descent of a career in the toilet - okay, a man found a job for life, this is his choice. But damn it, you have a task, here's a chip from C # 4.0 that automates it. And they answer: “No, I do not need automation. Now I’ll start writing a ton of shit, and it will work. ” They tell me in person that they do not believe in new technology, they do not believe that it will improve their product. And after all, she really will not improve. The pit will not get better from the fact that it was dug out by an excavator instead of a shovel. But for me, these developers are like taxi drivers who hate Yandex and are furious about talking about autopilots. And I'm not ready to work with such developers.

    Obviously, this is an extreme case. Most product teams use fairly new technologies, but the emphasis here is very significant. What is most important for these developers? And what is the most important for me? Very different things.

    For them, I'm a hipster that cuts slices of bread. The man who will destroy the results of three years of work for the sake of new technology. In their value system, I am a pest. My approach, my way of writing code for them is a waste of time. The fact that for me the state of the project in the diet is more important than its state in reality is unthinkable for them.
    In general, I'm sure the guys from food companies can tell me much better why I and people like me are completely useless fools, and I, in principle, am not ready to argue with them. We do different things for different reasons.

    It is important for them what to do and why. To me - even the brains for smart toilets, even the weapons of genocide - the main thing is how we realize this. What unites us is that we all write code.



    But recently, I found a dream job that challenged everything I wrote about. I was invited to make robots, do them on my favorite stack, at a startup pace and with a very cool team. It was work in the most productive team, and I was really happy.

    Every day at this job, I felt like a liar - I'm not the kind of guy they need. While I was reworking the architecture of some insignificant module for three weeks, they did all the real work. And then they also praised me, out of politeness, they say, excellent architecture, Phil. True, we do not need a fuck, and you just eat the budget for perfectionism that is not needed by anyone, but thanks anyway for our loggers being so beautifully snored.

    We quickly dispersed, and I really hope that I did not spend too much of their time and money, because after that I was very ashamed. But my mistake is not that I am the wrong developer - it is that I misunderstood what kind of developer I am. And most importantly - I'm not ready to change. I’m a developer for outstaffs, a galley rower.

    When they hire me, they buy my ability to go for interviews, because my employer will sell me to corporations the next day. An important outstaff skill - I am very good at being the person the team needs. Do they need a guy who sends dozens of emails with questions to everyone? Bazaar zero, you will receive emails. Need an aggressive code review? Hold my beer. Does the team need an attentive mentor? Sit back, I’ll tell you all about the type system. Need to do features at a frantic pace? I’m a machine that will play the code day and night until the Ajail schedule of features comes to the right state. I can’t do the same in the grocery company. My project personalities do not live very long, and after three months the brain requires change.

    The irony is that they sell me to grocery companies. But coming to a new project from outstaff, you are the master of the situation. If you don’t like it, you don’t even need to quit - just ask another. The people who hire us are too busy with the idea that we need to be used to the fullest, they just do not have time to teach us the subject area and the philosophy of the project. They are much more organized than managers in a regular grocery office, because when working with outstaff, the connection between the poured money and the number of closed tickets is very obvious.

    Their organization leads to a very competent description of the tasks and an established development process. They are laid down on staff turnover, so the quality of the code is of great importance to them. So you can work well without delving into the business nature of the project. In my opinion, such conditions are the best for a professional developer.

    The product in outstaff is fleeting, the approach is eternal. I sell and develop my approach. If I had come to that dream job not as a full-time employee, but as an outstaff person, I think everything would have worked out better.

    There are so many projects that I would like to work on. The lucky ones who are working on them now will tell themselves before death: “I did VSCode, it is of great importance for humanity,” and they will be right. I will say to myself: “I wrote excellent code on some projects, this is of great importance for me,” and I will be right. The main thing is to quickly and correctly find out what makes you happy.

    Also popular now: