The cruel truth of everyday life of a programmer: 8 observations

For several years I was writing the code, and I was paid to do it. During this time, I learned about some unpleasant things regarding the work of a programmer. I've always wanted to write about it. I hope you understand that I am not telling you all this in order to upset you. I consider this article a special nihilistic gift for anyone willing to accept such a gift. I built the material as follows: first, in the title of the section, I briefly describe the unpleasant observation I made, then I bring stories from life, an overview of the situation, talk about what is connected with it, and end the section with brief conclusions. While reading this material, remember that in the world there is a balance between white and black, between good and bad.











1. The more you follow technical trends, the easier it is to replace you



▍Life Story



When I was in college, everyone talked about learning Java, that someone who knows this language will easily find a job. I didn't like Java. It always seemed to me that I was doing something wrong. But then I came across JavaScript. I, an inexperienced programmer, then thought that this language is very similar to the C language, which I have always liked very much. Now I know that JavaScript is more like Lisp than C.



As a result, I started learning JavaScript. I ended up working as a web developer. I've seen tons of JS projects run by people who don't really understand how JS works. In addition, I've seen a lot of managers who don't want to hire JS specialists until they just have no other choice. That is why, at least in my country, top-class JS professionals get 1.5 to 2 times more than comparable Java programmers.



▍Ideas related to basic observation



Here is a transcript of Donald Knuth 's talk in which he advises not to follow trends.



And here is an excerpt of my favorite poem from English poetry, written by Robert Frost:



I will also remember someday This

distant forest morning:

After all, there was another path in front of me,

But I decided to turn right -

And that decided everything else.




▍Conclusions



Lack of specialists in a field that you are well versed in increases your value.



2. Work colleagues are not your friends



▍Situation overview



This observation, in general, is consistent with common sense. The people we spend a lot of time with usually don't become our friends. Of course, you can meet a real friend at work, but this is unlikely. There are people who are ready to go to any baseness for the sake of something that affects their position in the service. Therefore, do not be surprised when you come across unclean thoughts of colleagues at work, with latent opposition to the implementation of your plans or with lies.



▍Ideas related to basic observation



To illustrate this situation, I found one scene from the TV series Malcolm in the Spotlight. At this point, family members become aware that Reese's teacher holds a grudge against him and gives him a low grade without reading his test. This can happen in a work collective, when a manager plays the role of a teacher, and a programmer plays the role of Reese.



▍Conclusions



Watch what you do and what you say. There may be people among your colleagues who are ready to use anything against you.



3. Your boss will take credit for what your hard work has achieved.



▍First story from life



In my country, to graduate from college, you have to work for free for 6 months. Usually this is work in government agencies. This is called “community benefit”. While doing my "activity", I created a project that a few months later was presented as something done by someone else.



▍Second story from life



While working for a consulting company, I discovered a flaw in one module that was used in many projects. I don’t want to go into details. I will just say that after I fixed it, performance increased by 40%, and the cost of server resources was reduced by 30%. After that, the head of the company gave my immediate supervisor a raise and a salary increase. Sad story.



▍Third life story



I worked for a grocery company. There was an error in the code of one of the projects of this company, which many programmers have been trying to fix for about 5 months. It was my turn to try to deal with her. I forked the open source project on which the company's project was based. After that I recreated the entire module and found that there were errors in the official documentation and that some formulas were wrong. After finding this out, I proposed a solution to the problem.



Then my boss suggested that I go to the head of the company and explain the solution I proposed, since the company was going to buy many licenses for proprietary software in order to get around this error. As we left the principal's office, my boss told him that he had a better solution than mine, and that what I was talking about was just an idea. When we got out, I asked the boss what "other solution" he was proposing. To which he replied: “There is no other solution. We're going to use yours. "



I don’t want to think badly of people, but I’m sure my boss did just that for a reason. If I did everything right, he can earn points from the management, and if I was wrong, he can blame me. After all, I suggested the idea. As a result, the error was corrected using my suggestion and everyone forgot that this error had been the main problem of the project for six months.



▍Conclusions



Get ready to defend your job. Use emails and version control systems as proof that you did something. Always document what you do.



4. If you tell someone that you plan to quit, the company will become your enemy.



▍Situation overview



This is a kind of unwritten rule for software companies. I made this mistake. At my first job, I told my boss that I was going to an interview. He did his best to disrupt my plans, constantly called me during the interview, and loaded me with additional work. I became a victim of other nasty things. For example, my pass was taken away and I could not enter the building.



In addition, if the company becomes aware that you are considering leaving and it happens that someone needs to be fired, you will be the first candidate for departure. The worst thing in this situation is that in the place where you are going to move, you may not be accepted. Sometimes people are left without work precisely because of such "inconsistencies". I know many programmers who have faced similar situations. I would say that every year I hear a couple of such stories, when someone tries to move to another place, and then something goes wrong and the person is left without work at all.



▍Conclusions



Try to make sure that no one in the organization where you work is aware that you are looking for a new job. If you need to interview, do it on the weekend, or take time off and leave work early. You can talk about something only if you are confident that you will be accepted in the new place. That is - at the moment when you were made an offer and you are discussing the details with the new employer. Among other things, the new employer should be asked to give you time to put things in order at your current job. 



5. Certification == a waste of time



▍Situation overview



Anyone who has been working in the field of information technology for a long time knows that most often the presence of certificates does not say anything about the real level of preparedness of a candidate for a certain vacancy. I know this firsthand, I've hired employees and created annual business plans with the owners of several companies.



When it comes to finding programmers for Java projects, there is complete chaos here, since in this area certificates are quite rigidly standardized. As a result, managers, if they come across a developer whose productivity does not suit them, simply ask to pick someone else with the same certificates. And that's how it's done. The worst part of this is that sometimes with such a recruiting system, excellent programmers with many years of experience are overlooked, replacing them with newcomers who have just graduated who create less quality programs.



▍Ideas related to basic observation



Mark Twain will be quoted: "There are three types of lies: lies, blatant lies and statistics." I would like to replace the word "statistics" with the word "certification" in this quote.



Here is a video of Kent Beck criticizing the SCRUM certification.



▍Conclusions



Certification is not a substitute for hard and thoughtful work. Even educational documents are not a substitute for the experience gained in the process of such work. The professional qualities of people should be assessed by the results of their work and by nothing else.



6. Colleagues and bosses always strive to look at your computer screen, and sometimes they are not limited to this



▍Situation overview



A typical example of such an awkward situation is when a boss catches a subordinate watching Doge memes and videos with kittens. This happened to me last year when I was caught watching a Red Hot Chili Peppers concert at the Cheops pyramid.



But this kind of "peeping" is not the most unpleasant thing. If you spend enough time in management circles, you will learn that many companies install time trackers on all their computers that monitor employee behavior. As a result, the company can know how much time people are spending on real work. As a result, companies have almost comprehensive information about what exactly their staff does. From a technical point of view, corporate computers belong to companies, not their employees, so on these computers, you still need to do work, and not just anything.



▍Conclusions



Always be a professional - both in and out of the office. Especially if you are using corporate devices. The fact is that, using such devices, you will never know exactly who is watching what you are doing. And by the way, always sign out of your system account when leaving your computer.



7. The office is a great place (just like in the movies!)



▍Situation overview



The only reason company investors spend a lot of money on furnishing great offices and goodies for employees is because they want employees to make them richer. The fact that people need comfortable jobs doesn't really bother anyone.



▍Conclusions



A passion for work is great, but remember that it's a business and that it's all about money.



8. , .





I saw one CEO, who is also the founder, get fired for failing to make the company more profitable. She, for 5 years in a row, showed a stable annual growth of 40%. During this time, the number of its employees grew from 40 to 500. These were stunning numbers, great for any business, but investors were concerned about the slow return on their investments. Some of them had the idea that it would be nice to find a "more capable company leader." Then the founder left the company. The last thing I know about this company is that it found itself in a situation where no one in it knew exactly how its product worked. For a year, she did not release anything new and employees began to leave her, even those who were hired recently.



▍Conclusions



Sometimes you and your team get great results. But, unfortunately, the real owners of the company do not know about this. They end up making the wrong decisions. Don't take it personally and don't be too hard on yourself.



Outcome



I have just told you about some unpleasant observations I made while working in the software development industry.



Remembering all this, I thought about people who believe that being a programmer is very easy. They think so, probably thinking that programmers find it easier than other specialists to find high-paying jobs. Or, perhaps, because programmers, in their opinion, do not have a life, but a dream. But it is not so. Being a good programmer means working hard and hard.



Have you come across in practice something similar to what the author of this article is talking about?






All Articles