An Egregious Tool
First of all :
This is a reflection on the typescript coding standards except, instead of amazing, I think they're egregious.
Let's get one thing straight
First and foremost, my expectations for software engineering have not been met nor surpassed. This experience has veered off of its path and taken me on an adventure. I feel like I am running full speed but remaining in the same place, no progression. I find that using ESLint is quite monstrous. It is maddening to say the least, and while it is practical, I do not prefer its use. It is bothersome, like a crying kid who wants candy. It is frustrating to deal with, particularly because some of its errors seem unnecessary. I’m no professional by any means, but as someone who is striving to be one, I can absolutely understand how it's supposed to help. It all just feels nitpicky, like my mom when she wants her house cleaned. The coding standards implemented this past week have been my biggest source of frustration. While I understand its necessity in keeping code polished and more importantly, syntactically correct, the tool is a bit overbearing. And truth be told, I am unsure about my tolerance for it.
Here's the real issue
The issue with the coding standards isn’t that they’re being enforced, but rather the way that it’s happening.
This much I do know
As a developing software engineer, what I know is that information and the way it is conveyed, is extremely important. That makes development of such an apparatus just as important. In regards to myself personally, I spend a lot of time understanding the idea or the logic behind tools, methods or objects I’ve learned to apply. With that said, many of these implementations feel right; they feel natural and they make sense. ESLint is a tool that I found to be obnoxious. It is a code analysis tool that identifies problems and inconsistencies within code, which sounds beneficial right? Well, I have had the opposite experience. Errors due to whitespace, or quotes, or even words it doesn’t understand, had my head spinning. I am still learning, which means I am a flawed programmer; I make many mistakes. But with a tool like ESLint, one error can multiply into fifteen quicker than the first issue can be resolved.
Making progress
For weeks I have been focused on improving my ability to effectively implement functions given a prompt with specifications, and we’ve come to the point where it needs to be poised as well, not just proficient enough to run. Adapting is typically one of my strengths, but I’ll admit, this change of footing is proving a little more difficult for me. Using ESLint reminds me of Pavlov’s dog, where he learned to start salivating each time he heard a bell ring, only with me, I’m learning to stop practicing substandard coding habits whenever I see an error message. I don’t have to like it, but it’s not completely useless. After using it consistently for a week, I can wholeheartedly vouch for the advancements of my code with stricter typing and explicit return types, which are some things I struggle with.
A not so enlightened ending
In the end, the newly enforced coding standards through tools like ESLint are valuable to a software developer for organization, clarity, and overall comprehension. But, I have to say I don’t enjoy its use. I can appreciate the way it conditions me to avoid making certain mistakes in code, but I dislike how it does so—like I’m a child in need of a timeout. As a pupil, I prefer using tools that guide me without the ruthlessness of its rules to back me into a corner. As I continue to reach new stages of skill development, I may find myself favoring ESLint’s strictness, but until then, I find it unfavorable to use.