Tuesday, April 20, 2021

Messy JavaScript

I have landed in a project where much code was written by people no longer here. And this really sux. But let's describe the story.

History

Some long time ago some company hired a CTO. A very strong technical person - however technical skills are not everything. Communication issues increased and at some point in time CTO left.

After no technical leader R&D started to degrade. Some people were quite skilled and had broad horizons. Some were not. Company degraded. Money were wasted.

Company was bought by an investor. Investor is someone who gives you money but wants to get more back from you. This rarely leads to something good - quite often company is shred into pieces and sold part by part. Whatever remains will die.

Code quality

Initial designer(s) were skilled and had ideas about their creation. Followers had no idea. Currently code works only thanks to glue and stick tape.
There are no tests. Code is not testable, not mockable and not reusable. Not maintainable.
There is a lot of documentation - spread on multiple places, always outdated, often not accessible, often unreadable.
Processes. Some nice sheets and pictures. Long meetings to praise abstract things. Nothing relates in any way to reality.
Security. There is some on the paper. In reality the only thing that protects us is the closed source and a lot of luck we had so far.

My place in this mess

I was hired as a senior full stack developer. Given much more responsibility. Money not following the market. Quickly it revealed to be just a replacement of more expensive German developers with cheap Polish developers working for a bowl of rice.
Things are falling apart. Investor is pushing a lot. New features are developed, technical debt is large and keeps growing. I'm trying to decrease the technical debt and improve maintainability at least.
In the future I'm very likely to switch the job... This is the first time I'm considering job switch so quickly - not yet even a year passed since I was hired.

No comments: