📜 ⬆️ ⬇️

Impostor Syndrome: a battle with front end fatigue

Recently, I talked with a friend from backend development about how many hours I spend programming and learning code in my spare time . He showed an excerpt from Uncle Bob's Pure Code. There, developers who rehearse the code before launching the work are compared with musicians who have been preparing instruments for the concert for many hours.

I liked the analogy, but I'm not sure that I’m ready to fully subscribe to this; This is the very type of thinking that primarily leads to burnout. Well, if you want to deepen your skills and expand your skills, but if you do it continuously throughout the day you will not last long.

Fatigue from the frontend is very real . I have seen a lot of posts about JavaScript fatigue, but it seems to me that the problem extends beyond this particular language.

For clarity: this is not another tirade about how things are changing badly and quickly - I like that technology is developing so quickly. But I can equally well assess how much a problem can overwhelm and sometimes completely flush the brain.
')
As far as I can tell, there are two levels of problem.

First, the frontend developer thinks that in his arsenal it is supposed to have the following:


And on top of that, you mess around, or while you look at things like this:


The second point is something that you do not work with every day and you are not given working time to study them, so how are you going to make sure that you have all the tools at your disposal?


A term like “progressive web application” can sound rather discouraging for a developer. New techniques and technologies lead to a feeling of fatigue - fatigue from the front ( source of the picture )

Now, as a consumer of information, you can:


As an author, you can:


Recently, I discovered that my attention is divided in three: I wrote code, listening to the headphones with half a talk about the code and discussing programming in the Slack chat. I decided that this was the limit - all my holes were clogged with code and I was mentally devastated.

Although this is clearly an extreme case, but I am sure that some of you have experienced something similar. Besides all this, you probably have a full-time job, friends, hobbies. It is not surprising that so many of us feel burnout and doubt the right choice of profession .

Some of my friends-front-lineers expressed a desire to finish all this and go to work, where you can switch off at five o'clock. But something inside me suggests that this job attracts a certain type of people, and even if you become a real estate agent, you still want to be the best agent as far as possible. You will attend meetings in a real estate agency and, in your free time, monitor trends in the value of houses. Many months ago I worked in finance and still studied them in the evenings and read books to become as advanced as possible in the chosen industry.

We are not alone in this behavior. Many professions require you to spend a lot of time and study outside of work. The problem with front-end development can be that the technology is developing so fast that there is a feeling of injustice, as if someone is expanding the football goal during a match. It seems that every single day I receive a letter with a notification that the next technology "XYZ" is dead. That can not be true, because in that case I would be left without working tools.

The ecosystem is constantly changing, and I think this is good. Personally, I like to constantly learn programming and push myself, but I have to admit that sometimes it goes beyond.

I mean the above, here are a few things that I try to keep in mind in order to keep my head from exploding. Some general tips on how to avoid this fatigue.

We are all in the same boat


All programmers I know, both at work and outside, are among the smartest people I know. But they all feel overwhelmed. Most have a “wish list” with technologies that he is trying to master. Maybe there are a handful of people at the top who know their entire list, but most of us are in that position.

We are still confident that Google and Stack Overflow will help, and we have too many open tabs with answers to questions about web technologies. You are not alone!

You need to understand that you are not becoming a bad developer because you have not tried all these fancy things yet.

Yes, even the "famous techies" in the same boat.

It is impossible to know everything. And the rock programming stars you follow on Twitter are really good in only a few areas each. You will notice that these are the areas that made them famous for their good awareness. And again, there will be exceptions, but they are all the same people as us. :)

Each of us has an impostor syndrome


I know several excellent front-end developers who do not want to apply for a vacancy, because they consider it a bit of a fraud to apply for a job without meeting all the stated requirements. I will quote one of them:

“90% of the juniors I see make me feel far behind. In reality, it worries me so much that I think about how to keep my current position, and just try to make more money because I have a feeling that I will leave with this money. ”

The fact is that most job requirements are farce. My friend Bard has well illustrated this in one picture, which gives the translation of the text in the frontend vacancies.


Translation of job description

Just remember, everything will be fine . At each job, at first I felt a lack of immersion, but in the end you get used to their tools and workflow, you learn and become the best developer for this.

Do not be afraid to learn from work, the best way to learn new skills is to use them daily.

If you have an impostor syndrome, most likely you are in fact a decent developer, because otherwise you would not have enough self-analysis skills to realize this.

Stick to the basics


It’s easy to get distracted by shiny new things, but if the basic principles are weak, then your development may not withstand the test of time.

Like a good friend once told me:

“Attention to the basics has always been my mantra. If you can create a good thing and solve problems, then everything else is unimportant. Tools change and always will change. ”

For example, when React soared to fame, it always seemed to work in conjunction with ES6, and I concentrated on studying these changes or additions to the language, and not on the features of the framework itself. When React dies and disappears, the knowledge I gained about the latest JavaScript standard will remain with me. With many features, you can play right in Chrome, so it’s not necessary to run Babel and get stuck in a dependency swamp.

No need to learn everything


This is really the most important thing. I think that we are not killed by new frameworks, libraries and modules, but our belief that we should all study them.

With experience, I came to the conclusion that it’s best to focus on one thing — at the moment I’m digging into functional JavaScript programming in ES6.

There are a lot of things on my list that I would like to study, but I try not to be distracted. For example, it would be nice to brush up on my knowledge of accessibility, play around with Polymer and delve into some of the latest CSS techniques like Grid, but if I learn to read about too many topics at the same time, I won’t get all the information. Other things will not disappear anywhere, I will deal with them when the time comes.

Avoid rushing, trying to consume everything on this topic. Take your time and make sure you understand her completely.

If you are like me, then the list of topics for study you will have to grow all the time, but do not be afraid to reduce it. Not every topic is worth the time spent on it, and you should learn to recognize what is worth studying and what can disappear within a few years. Taking time to study design patterns and technology architectures will always be more useful in the long term than jumping on fashionable frameworks. It will end up with the fact that soon you will have to play bingo again with clever buzzwords.

Most companies do not use the latest technology.


Many new things are constantly appearing, the web is developing at a staggering rate, but usually it takes a long time before companies really begin to introduce these new technologies. Most companies will wait some time until the technology matures and proves itself in practice.

Angular was created six years ago, and I first started working with it in a startup that I chose this framework for myself three years ago. Reactjs has been around for more than three years, and my current company started using it before Christmas. I am sure that most other frameworks were born and disappeared during this time. If I were engaged in them, I would be crazy.

The CSS Flexbox has been available since 2010 - six years ago! Browser support is still incomplete. We started using it in production recently this year, but I don’t see others using it much.

My thesis is that there is no need to hurry with the study of everything. When technology develops rapidly, your employer can develop much more slowly. No need to ride in front of the horse, just keep in mind the trajectory of its movement.

The more you know, the better you understand that you know nothing, and that is normal.


This is absolutely normal. When you started, you did not know what exactly you do not know. Then he studied some things and thought that you are a genius. Then, step by step, this fantasy disappears. You begin to understand how there are actually a lot of things around that you do not know.

Essentially, the more experience, the wider the abyss. With this you need to accept, otherwise she will swallow you. If anything, this feeling should give you confidence that you are moving in the right direction. In our profession of the frontend, you will never sit comfortably on the throne of accumulated knowledge.

Do not spend all your free time to study


It is easy to feel that you are so behind everyone that you need to constantly program and learn. This is a ticket to the village burnout. Set a certain time to develop your skills and think about whether you can talk to your boss about how to allocate this time, and during the rest of the hours work on your favorite thing.

Some of my insights about programming came from the gym. Exercise is extremely important to your mind as it is to your body. Try 20-30 minutes a day to keep from losing focus and prevent burnout.

Spend time with family and friends - do not waste time with them on an empty talking room.

Here is the developer market


Nowadays, you don’t need to worry about finding a job. At the moment we are in a very good position, when there are more jobs than developers. I do not know how long it will last, but get the benefit!

You can get a job without full knowledge. I found that during the interviews, I surpass 99% of people who just chat.

In a pinch, keep in mind the gold stock of the Legacy code. If you are one of those who like to program in the old fashioned way, there will always be companies that are stuck on old software, and they need developers.

Conclusion


I hope that some of these leads will help to avoid some disappointments that could overtake you. The worst thing is to reach the limit and completely burn out, because if this happens, it will be very difficult to regain the former passion, because of which you started programming first.



David Berner is a UK front end developer who has been programming since 1998, when there were still transparent separation gifs and <blink> tags. He is a writer, speaker and programmer, keen on moving the web forward. You can find his rambling stories about this (and any front-end issues) on Fed || Dead .

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


All Articles