Just watched interesting video from Fredrik Christenson and it invoked many thoughts. Let’s have a look:
It’s pretty long, but here is a quote which summarizes it:
One of the most frustrating people I know when it comes to working is the sort of person who focuses more on subjective developer value than the maintaining ability of a project…
They are [those frustrating people] everywhere…
There is always someone at a company who is willing to risk the whole goddamn project for a library that does almost nothing, it’s pointless to add it in. The value that you get is so low but the complexity goes up and you are basically just fucking up the codebase for other people who are not as interested in that specific little thing.
And then Fredrik goes on and on and finally gives an example of such a small not interesting no value thing. Its… React Hooks! What??
He is so right, so right. Those people are indeed everywhere. And I am one of those. Here a few examples of bad things that I did.
- At SimCorp i was always whining about stopping using APL and move completely to C#. There was no value for doing so for the company. APL did just well to solve all their business problems
- At StrategicVision I did a terrible thing. I have started the transition from AngularJS to ReactJS. There was no business value for doing so for the company. They could do as well without it.
- At Transferroom I started using styled-components while SASS could do just well there.
- At Svitla Systems on the project for one of its customers, I do actively use React Hooks.
I think React Hooks are a huge value for front-end applications and I will write why I think so in a different post. But other than that all my actions can be considered harmful for the company. APL developers did not want to dig into much, much more complex C#. StrategicVision now has to support part of the app done in Angular and part of the app done in React which is just crazy. Transferroom now has to support SASS, CSS Modules, and styled-components.
I did all of that and as a result, I can land a better job now because I am experienced in many front end libraries. But why did I succeed doing bad things for the companies I worked for? Well because of the self-sustaining vicious circle of resume-driven development.
Look, I used to be very focused on what is the most important in programming: solving problems for the business. But that made me pitiful. In the old blog post which is not online anymore, I am trying to answer what to learn Java or C# many years ago. And my point was: it did not matter at all, these were just tools. I really believed so and I still do. We need to be able to solve the problem and do pure good for our employers.
- Companies require candidates to know irrelevant things that are used on their projects that can be learned in a matter of weeks –>
- Developers join and want to continue to be marketable –>
- Developers start using technologies with doubtful value for the company but required in job postings –>
- Companies require candidates to know irrelevant things that are used on their projects
Hence there is little place for rational engineering thinking. And we can not only blame developers for that. It’s a fashion industry and we all have to either accept it or bail out. However, there is also a good thing. We progress really, really fast. Our experience as programmers and software users became so much better even in comparison to what we had 10 years ago. At least this is my subjective impression and this blog is all about these impressions any way 🙂