My job is not interesting. I cannot grow here. There is not enough coding. I'm not progressing in my career.
I've heard this from many people in the department I work for. If so many people say so, there must be some truth in it. Reservation systems might not be the most interesting topics in IT when others are building robots and artificial intelligence for almost every area of our lives.
On the other hand, checking these complaining people's pull requests what you can see is that the delivered code is of questionable quality. Lengthy functions, general lack of OOP, non-well-describing names, etc.
The job is boring. Still, the code could be written with care, it could have a decent quality. But no tests. No refactoring. Just adding a few lines here and there to already long functions. In fact, the quality degrades with each such pull request.
Yet, their job is boring and they cannot grow. They feel demotivated.
They don't want to put in the effort to make the most out of it.
They don't understand that if they write good code covered with meaningful tests they don't do a favour to their employer. They do a favour for themselves. They learn, they practice how to craft good code. They can try out different concepts, they can check what is working in what situation. They enhance their knowledge, making themselves more employable. It should be a clear win-win.
So what can be the reason not to do so? One reason can be that management doesn't support quality work, or only by words. This reason is also nothing more than fingerpointing. Let's take some lessons from the Navy Seals and extreme ownership. Stop blaming others and ask yourself what you could do better. Take ownership and act.
I don't want to brag, but my first pull request on the project I joined, made my teammates come to my desk and congratulate. Though I didn't do anything special. I just tried to do whatever it takes to be content with the code I submit. To be proud of it or at least to be able to look in the mirror. This required clean code, refactoring and adding tests. And yet it was not perfect. However it'll be easy to enhance it and because of well-named functions, it's easy to understand even for non-developers. For me, deliver such pull requests is the best and only true way to turn people around. But it won't work with everyone, I know.
My demotivated friends out there, who think you have not enough possibility to write code, listen to me for a second! You have more possibilities than you'd think! Refactor! Make the code better! Leave the campground cleaner than you found it! And if you really feel that quality is not a concern for your organization, find another one. But until then, do your best. Not for anyone else, but you!
This article has been originally published on my blog.