📜 ⬆️ ⬇️

5 important and missed skills needed by the best developer

image

Foreword


You have seen these articles a thousand times:



What they say is that you need to learn “reactjs” or “node” . Create 1.000.000.000 ToDo application. Read Python Crash Course and boom, you're the best developer.

This is all (theoretical) technical knowledge. You need them, but do you think that a hairdresser who knows how to hold scissors technically correct is good? There are more skills to evaluate in every profession!
')
Let's talk about what I think are overlooked skills.

Abstract thinking


As a developer, you must implement a function that someone will use. This someone may be you, the client, your colleagues, people from the Internet whom you will never meet.

Knowing this, your task is to think for all of them and bring the function to its essence.
Your management wants to see how often people click something on a website. You must understand that they are people with specific thinking .

Your managers think in lists, numbers and tables. At the moment, the larger picture of your complex program does not concern them, and they do not understand it. They should not. This work is yours!

Let's return to the task “how often the user clicks on the site” . I imagine myself in both roles. In the role of the user, and the one who sees the data and tries to figure out what the user needed.

For the end user, everything should be the same. Maybe a disclaimer will appear, which he presses once. And that’s it. These features should not be visible to the end user. Well, that was easy. Always think about your end user first! Is always!

Now, let's think about who benefits from the data. So what does he want to see? Just a number. How is 42 ? But what does this number mean? Maybe the best way to measure is not the click frequency, but the goal of the click? You go back to your development team or shareholders and tell them that it may be better to have statistics on how often we click and what actions follow the click? Perhaps you heard something like, “Oh, can you do that? Yes, let's do it . You can continue to delve into abstraction, but I think you caught it.

Wording the right question


I saw this all the time, from Junior to Senior Developer. You get the task, and you complete it. I call these people Code Monkeys .

Part of being a developer is to ask questions and get to the bottom of what we need to achieve (this returns to the question of abstraction).
One statement can be interpreted in 1000 ways.
You must understand why you implement this function. So you better see the problems and future risks.

The question “why” in a company is often seen as a trust issue .
You will hear statements like:


Posing a question and trying to understand why has nothing to do with trust. As a developer, you know the internal workings of the system. You can see technical problems and exit points, what might work and what might not work. If you've ever heard the sayings above, repeating the following always works:


Communication with people without technical knowledge


How often this happens in chats like Slack:
You open a channel for the whole company, and you see several links to a post on a super-technical blog about why “forEach” is faster than a “map” in JavaScript.

Or you say: “No, we can’t do this” and you begin to explain that ReactJS does not have this function and you will have to load the npm package.

If your product manager is not from a former developer, then he / she will not understand a word from what you are talking about.

Instead, you should try to find a good analogy in an area where everyone understands everything. Similarly, as I did at the very beginning with the hairdresser. A person without a technical base can understand this and conclude that you are right.

Patience


You saw these guides on YouTube, where people create something in a video in 15 minutes, and then you try to repeat, and it takes a lot, a lot, a lot longer!

You are upset that you cannot implement this list of tasks. This is also the first time you have touched a code. Yutuber already has ten years of practical experience and, moreover, prepared before shooting the video and implemented this list of tasks at least once, and now he simply repeats the script.

You know - where did this cliche come from, that the developers are the creatures of the night? Because we like it? Because we are antisocial? This can only be true for a small fraction. The main reason is that writing code takes time! A lot of time if you are trying to learn something new!

Firm opinion


I am a guy with a strong opinion opinion syndrome when it comes to web development, and I tell people my opinion even if I know they don’t like it. I do not do this to bother people or knock them down. How can my opinion be so emotionally significant that after hearing you doubt your own existence? Sorry, but there are many more significant problems around, and you should figure out how to deal with them, because otherwise it leads to only one thing: Stagnation. You will be the same at 18, 25 and 50 years old. I know this is easier to write than to do, but it’s important for you to know: “The way you behave now is the only thing that has led you into such a distance”

The worst thing that can happen on the development team is when everyone has an opinion, but no one expresses it! If this happens, you are dead. This is the beginning of the end. If you are not a code monkey, then you feel less motivated and more upset every day, and it will not only be with you. One day, unexpectedly, people who have worked for a company for several years will leave - because they cannot bear it anymore.

I am not saying that you need to say "I do not like it." You have to say why and provide some examples. Don't be f * ck, but be less upset every day. Because it doesn’t help anyone. So either express your opinion, or do not have an opinion and be a code monkey, or leave the company to find a better job or become a freelancer. I do not know which of this is correct, but do not stagnate.

Thanks for reading!

From the author of the translation
My opinion may not coincide with the opinion of the author of the original text.
I respect all approaches of programmers to solve tasks, and would not call anyone code monkey.
I also respect the feelings of others and would not encourage anyone to be less upset.
And so on.
Thank you for reading this text, I tried and translated it for you and I plan to read your comments with a cup of Strawberry Gourmet tea (very tasty) with pleasure.
Feel free to: 3.

Source: https://habr.com/ru/post/461647/


All Articles