In the case of web development, it is always better to choose trusted professionals and reputable companies like Fireart (https://fireart.studio/swift-app-development-company/). In this article, we will analyze the sign of weak developers that is called tunnel vision.
We use the term “tunnel vision” in a figurative sense – this is a cognitive distortion that manifests itself in a person as an unconditional adherence to a chosen position on any issue, which he does not subject to attempts at critical reflection.
In the case of developers, we are usually talking about preferences in the choice of technologies, patterns, any style features in writing code, and other engineering solutions that are usually chosen for a specific task based on some arguments, facts, and metrics. In a way, this is another facet of the already mentioned idealism, but the important difference is that this habit is based on previous experience and prevents the developer from getting a new, more constructive experience.
This can be a case of “duckling syndrome” when a developer simply “sticks” to the approach they took to solve similar problems the first time, romanticizes it, and has continued to use only it since then.
The subject of such attachment can be either a programming language, framework or platform, or a non-specific tool, such as a code editor. Yes, vim/emacs/eclipse/substitute what you want are great tools, but not ideal for all possible cases.
Examples of such behavior when writing code:
- Solving any tasks on working with strings through regular expressions.
- Implementation of absolutely all modules and entities in the form of classes (in cases where the language offers alternatives).
- Layout of absolutely any pages and components using the same markup technique, for example, flexbox.
- The habit of using redundant or implicit syntactic constructs. For example, wrapping all function code in a try/catch, explicitly casting in weakly typed languages, or favoring single-line expressions simply because they are single-line.
In a broader sense, it can be an irrational commitment to some packages and libraries, or the desire to drag them into any codebase. This also includes reckless coverage of everything and everything with tests, or, for example, merging branches in git without fail through rebase.
These tricks are not necessarily a problem in and of themselves. The problem is precisely what a person uses thoughtlessly and is not even interested in alternatives. As a result, such a developer becomes inflexible, begins to gradually lag behind the fast-paced industry, introducing overly complex or poorly readable solutions into modern codebases. Over time, he becomes a “weak” and outdated developer.
Such programmers create a lot of unnecessary iterations for their teams during the code review process and produce bugs that have arisen due to the use of obsolete techniques and code fragments in new contexts, and which could have been avoided. In addition, such approaches can also be found in a developer during an oral interview – you just need to invite him to think about solving certain problems. And you will most likely hear the same keywords, repeated titles and names, or a similar line of thought in all cases.
In addition, it is quite possible to find these patterns in well-established, mature developers, and even in opinion leaders and recognized industry experts. This does not mean at all that they are “weak” – although, to be honest, this happens. But there are two points to be made here:
First, as has been said several times, do not make rules absolute.
Well, and an important result – in accordance with the laws of dialectics, any process contains its own negation. In this case, during professional growth, the developer may well take some of the generally recognized shortcomings into service already consciously. After all, as you know, to break the rules, you must at least know them. And in order not to worry about such things and trust the professionals – click here.