Two skills that will help you become a great developer


    From a translator: This article is a translation of the original article by Bar Franek, a JavaScript specialist. In his new material, he decided to tell what skills help the developer in his daily work. But this is not about software tools, but rather mental ones.

    It makes no difference whether you have been working as a programmer for many years or just started your journey. It doesn’t matter what position you occupy, work in the office or freelance. If you are a programmer, then your success is due to two extremely important skills: focus on business and concentrate.

    Skillbox recommends: Practical annual course "PHP developer from scratch to PRO . "
    We remind you: for all readers of “Habr” - a discount of 10,000 rubles when registering for any Skillbox course using the “Habr” promo code.

    “The ability to deeply immerse yourself in your work is extremely rare and at the same time extremely important for the economy. Those few who have developed this skill will always be in a good position, ”says Cal Newport in his book Deep Work.

    I am going to use the moments read in the book, connecting them with my own experience and knowledge. I do this in order to tell how to become a successful developer.

    From fear of code to lead developer

    I am a self-taught programmer who began his career in programming at age 20. I always considered myself a creative nature and thought that they would work where a creative approach is needed.

    And it happened. After graduating from college, I started working in a company that was engaged in graphic and web design. I became a professional in Photoshop, knew a little HTML and CSS. But I did not study more complex things - that which required knowledge of PHP, for example, I outsourced.

    I was afraid of the code for a long time and left this work for the guys with a diploma about the completion of the specialty "Programming". I believed that if you make a mistake in one character, you can derail the entire business of the client. In principle, this was not too different from the real state of things.

    Now I work for a Fortune 50 company, am a professional developer and participate in the creation of software that is used by millions of people every day. But how did I reach my current position without being a programmer at the beginning?

    My “secret” is the ability to focus and plunge into the essence of the problem. There is nothing more special about me. I just found a way to concentrate on one thing for a long time and not be distracted.

    Programming is an art.

    Indeed, programming often requires creativity. It may look too “technical” and dry for the average person. But in fact, you are a creator. You can create something out of nothing. And this “nothing” is your own idea or the offer of a product manager.

    Then you begin to work and clothe the idea with flesh, give it life. Not with colors or words, but with the help of code (well, yes, of course, there are some words in the code, but you know what I mean, right?).

    If you want to create a cool product, software, then you need to constantly practice. The quantity and quality of your work will increase when you learn to work focused for a long time.

    Art, music, writing - all this requires long periods of intense and continuous work. Distracted by a writer or artist - like death, you can lose inspiration. But programming is no different from writing a book.

    You become a more skilled programmer with each new successfully (or not particularly) completed task. Next, you manage to work by doing more in less time. All this is a matter of experience.

    Yes, you can become a super developer.

    I don't like words like a ninja, a rock star or a super developer. Actually, few programmers like these terms, but companies and recruiters simply adore them.

    Super developers do not know how to fly and save people, like superheroes do in Marvel comics. No, they just do more high quality work per unit of time than regular developers. And they are able to do the task for a long time and without being distracted.

    This, I will tell you, is not a gift of fate. No one with this skill is born, it cannot be “turned on”. In order for this skill to appear, you need to constantly train and work.

    I have interviewed a variety of specialties dozens of times, and I can tell you that super-developers are in demand everywhere and always. Recruiters are looking for them, trying to determine which of the applicants has the necessary qualities.

    By the way, there are much more open vacancies for various IT specialties than job seekers themselves, so finding a job for a developer is not so difficult. The task for business is to close the “hole” in vacancies, so companies will do a lot to hire a good developer.

    “Project managers believe that the lack of a strong talented developer is one of the potential threats to the company's growth,” - The Developer Coefficient .

    It’s really difficult to find a really talented developer. Almost any company will be satisfied simply with a good specialist, without a super- prefix. In principle, this is almost enough, since such a specialist can perform the task for the solution of which he was hired. No more and no less. Finding just a good developer is a great blessing for a company, because a bad developer can be too expensive.

    Two steps that allow you to combine your programmer skill with focus and concentration

    It's time to start pacing on the career ladder. There are many opportunities, and if you like what you do, you can achieve a lot.

    An example is the transformation of a developer from a junior to a senior. You can go through this stage of development without any special problems - but only if you develop in yourself the above skills.

    “In order to remain an economically valuable workforce, you need to understand how to quickly learn complex things. It requires hard work and concentration. If you do not develop this skill in yourself, most likely you will not be able to succeed, ”- Deep Work.

    Learning to focus hard

    The first thing I would like to say is: learning to focus is really hard. This means you won’t be able to start writing tons of good code right away. And you won’t be able to do this if you don’t realize how easy it is to distract a person.

    The ability to focus comes with practice, for this you need to spend a lot of time. It’s not easy, but worth it. If you are ready for difficulties, then ok, little by little you can begin to move towards the goal.

    Do not confuse employment with productivity. The

    need to concentrate does not mean that you should close in a dark room and program for 14 hours in a row. Just because you are doing something does not mean that the task deserves to be worked on.

    In other words, you need to learn how to set priorities. You need to be able to understand what is important and what is not. True, this is not included in the topic of today's article, but such a skill is also significant.

    The ability to focus brings obvious results for everyone. You can compare the fruits of your work in a state of deep concentration with the work of the sun's beam when it hits a magnifying glass. The beam, focusing, allows you to burn traces even on the hardest tree or other material. The same thing with focusing during work - without the ability to concentrate, you won’t be able to work, it’s the same as trying to work with a magnifying glass in diffuse lighting conditions.

    Any distraction from work means a drop in concentration and a dissipation of attention (in our analogy - sunlight). If you learn to focus on work, you can bring all the “rays” together and do important work if not perfect, then close to that. By the way, there is no need to always use your skill - it is enough to be able to concentrate on the most important tasks.

    Step 1. Eliminate distractions

    Multitasking against a person is a lie. You are fooling yourself if you think you can write good programs while being distracted by Slack or reading news.

    We live in a world that distracts us always and everywhere. Technology is good, but sometimes it only helps to divert attention.

    It is necessary to remove all unnecessary:

    • Put the phone in silent mode or turn it off altogether. So that the phone does not bother, you can use special software, for example, Forest .
    • Close Slack. This also applies to other instant messengers. Most of them are very loud, so the message signal in any case distracts you at work. In order to get rid of this, exit all messengers. Many of them are not critical.
    • Close any other applications that may distract your attention, such as email clients.
    • The hardest thing is to close and not re-open tabs in the browser that have nothing to do with your work. In order not to perform this task yourself, you can use specialized applications.
    • We use headphones. They allow you not to be distracted and concentrate on work. In addition, many recommend finding music that helps you focus, and work only for it.

    Step 2. Secret Weapon - Pomodoro

    If you are already starting to panic, realizing that for eight hours you can’t help but get distracted, then don’t worry. The Pomodoro technique will help you . It consists in the following:

    Break your work into 25-minute blocks (tomatoes)

    Try to work for 25 minutes, without being distracted. Use timers, you can hourglass, mechanical, software.

    After working, rest for five minutes.

    It is extremely important that every 25 minutes you get up and leave for five minutes. Have a drink of water, stick on various sites, go wash yourself. Anyway, you need to completely distract from work for these five minutes.

    Complete only one task at a time

    You can search for a bug, develop new functions, write code. If the task is too large (develop an application), then it should be divided into separate segments for five minutes.

    Some tasks require the implementation of several blocks (tomatoes). So, you may need three tomato parrots to add a specific function and two more to test new items.

    All this is necessary in order to divide seemingly impossible tasks into many parts. For the most part, we procrastinate, because we are simply afraid to undertake particularly difficult tasks. And then it turns out that we gradually move these tasks aside, leaving them for later. And then we are afraid of them even more, because the amount of work that needs to be done does not go anywhere. If we break down a large task into separate elements, for example, “write 300 words”, then the problem is not so terrible.

    Refusal of procrastination (at least partially) will make you a person a better developer.

    You can’t be

    distracted. If you are distracted, then you need to start all over again.

    How to work for 25 minutes without a break?

    Even this is a problem for many. Perhaps you yourself, without noticing it, were always distracted, so a minimum of time was spent on the work itself from the working day. If it’s difficult, try starting with ten minutes, then 15, then 20 and 25.

    If you wish, you can increase the blocks up to 55 minutes, if 25 minutes are not enough for you and you have learned not to be distracted by extraneous factors.

    It may well be that even 25 minutes of continuous operation will seem difficult to you, because you cannot look out the window, check your mail, Telegram. If it’s very difficult, try to do only one block a day (this does not mean that you will work 25 minutes a day, but means that you try not to be distracted by completing your task). But remember: if you are distracted, 25 minutes you need to start counting again.

    How does this help you become a good developer?

    Let's be realistic. It will not help your career that you will switch from the code editor to chat, then check mail and instant messengers while Asana is hanging an important task that must be completed right now.

    But a few hours of work performed with a deep immersion in the task will help you complete a much larger volume in a day than you usually do, being distracted by literally everything.

    As already mentioned, try to start with one “tomato”, then gradually increase their number, and then the size of the “tomatoes” themselves, that is, the amount of time during which you work with maximum concentration.

    So minutes will merge into hours, hours into days, and days into weeks and months. And you, without noticing it, learn how to work with maximum efficiency, which will not go unnoticed at work. Yes, and your skill as a programmer is pumped in earnest, after which there will be more opportunities, because any company needs such programmers.

    From a translator: as a conclusion, we can say that the advice itself from this article is not a revelation or breakdown, but with their help you can learn to work well without procrastinating and not being distracted by unnecessary things.

    Skillbox recommends:

    Also popular now: