JavaRush /Java Blog /Random EN /Coffee break #62. How to stay productive all day long. Ho...

Coffee break #62. How to stay productive all day long. How a New Developer Can Get Taken Seriously

Published in the Random EN group

How to Stay Productive All Day - Programming and Scheduling Tips

Source: Free Code Camp I've been writing code wrong my whole life. I thought I could just sit down at my desk, open my laptop, grab a task from my to-do list, and write code until I felt tired. But in reality, this style of working always killed my productivity after two to four hours of coding. I was so tired that I didn't want to do anything other than basic tasks (like code reviews). Coffee break #63.  How to stay productive all day long.  How a new developer can get taken seriously - 1Today I can write code for more than eight hours a day, and even then I don’t feel tired. What has changed? My approach to work. After 62-plus self-help books, dozens of productivity articles and studies, and a ton of trial and error, I've developed a productivity system that helps me code, create, and live life to the fullest without procrastination, fatigue, or brain clutter.

My productivity system

My productivity system is based on three main principles:
  1. Schedule.
  2. Tasks for tomorrow.
  3. System 69.
Let's take a closer look at each of them.

Creating a schedule

Everything starts according to schedule. What, where and when I complete my tasks. My schedule looks like this: Coffee break #63.  How to stay productive all day long.  How a new developer can get taken seriously - 2I use a whiteboard to constantly remind myself of what I should be doing at any given time. I always neglected schedules, thinking that I knew what I should do and when. But in reality, I always forgot to do daily activities, even when it seemed like I had developed a habit. For example, when I woke up at 7:00 am, I knew that I had one free hour before work. At this hour, I wanted to carry out my morning rituals (breakfast, exercise, shower) and read for 30 minutes. But often in the morning I forgot to find time to read. I spent extra time on one activity (breakfast) at the expense of another (reading). And without a schedule, I spent a lot of time deciding what to do next. I could finish my workout in the afternoon, take a shower, sit down at my desk, open my laptop, and spend 10 minutes thinking about what task to take next. If you calculate how long it takes to make these decisions every day, those 10 minutes turn into 60 minutes. One hour! That's a lot. Another thing is that in the process of deciding what to do next, I always had an angel and a demon sitting on my shoulders, “helping” me decide whether I should work on important things or do light work, or even take a break to relax. I often had to use willpower to force myself to do the “right” things without a schedule. Once I made a schedule, these problems disappeared. Now I always have time to do what I have in mind. I always know what to do next. I don't need to use willpower to force myself to do important things. The schedule puts my decision-making process on autopilot. If you want to create a schedule, I recommend using Google Calendar for this. This way, you can easily edit your schedule or share it with someone else. Additionally, I recommend keeping your schedule on a piece of paper or on a whiteboard to always remind yourself of what, where, and when you should be doing.

Making a to-do list for tomorrow

While a schedule helps me decide what, where, and when I should do something, a to-do list helps me refine my list of tasks. I could have a “perfectly planned” day and still not accomplish what was important to me. This is where the to-do list comes in. It helps me put my decision making on autopilot and spend less time and cognitive resources on it. It also ensures that I only do the necessary things (most of the time). My to-do list is simple: I use a regular paper notepad to make it and Notion as a digital copy. Coffee break #63.  How to stay productive all day long.  How a new developer can get taken seriously - 3I create a to-do list for tomorrow in the evening. Why? When you plan your day in the morning, you think about every task that needs to be completed that day. This is fine when the task is clear and simple and you know what to do (for example, "checking John's code"). But when you don't know what exactly needs to be done, it takes time to figure it out. For example, when you know that you need to write an article, but you don’t know what. Take time to explore your ideas and choose the right topic to write about. Apart from this, there is a possibility that you will get trapped in your thought process (when you start imagining the results, details, processes and other various things related to the task, then you will spend 5, 10, 15 or even more minutes on it). Creating a to-do list in the morning takes away from your most productive time. Therefore, it is best to make a to-do list for tomorrow at the end of the day.

System 69

When I started writing code, I did it like this:
  1. I open my laptop.
  2. I launch the code editor (VSCode).
  3. I choose a task.
  4. I write code until I get tired.
  5. Taking a break (spending time on social networks).
Does it look normal? I thought so. Until I read about the Pomodoro method. It is a time management technique in which you break your work into intervals, usually 25 minutes long, separated by short breaks. For example, 25 minutes of code work and a 5-minute break after. You divide your entire working day into such breaks.
  • Writing code 25 minutes.
  • Break 5 minutes.
  • Writing code 25 minutes.
  • Break 5 minutes.
  • Writing code 25 minutes.
  • And so on until the end of the working day.
I tried it and it worked, but not as good as I imagined. I definitely became more productive, by about an hour, but I found that the 25 minute work intervals were too short for me (it took me 5-10 minutes to get going, so I couldn't do any "heavy work" for more than 15 minutes at those intervals) . So I went ahead and found the 52 + 17 rule. What is it? 52 minutes of work and 17 minutes of break. Much like the Pomodoro method. I tested it and it worked better for me than the 25 + 5 intervals. I was now able to be productive for two more hours, but I still felt sick after the work day. So I didn't stop with the 52 + 17 rule. I started researching productivity and motivation deeper and learned about effective breaks. When most people hear the word “break,” the first association is “doing something other than work.” For example, scrolling through your Instagram feed, chatting with friends, or watching YouTube. Formally, these are all breaks, but not effective ones. The main sign of an effective break is that it gives you energy, not takes it away. An example of my effective breaks:
  • Physical exercise.
  • Shower.
  • Walk (without headphones).
  • Breathing exercises (Wim Hof ​​method).
After learning about effective breaks, my workday became almost perfect: 52 minutes of work (8 minutes of warm-up and 45 minutes of intense work) and 17 minutes of effective breaks that give me energy. Everything worked great and I thought I could leave it at that... But I moved on. I was obsessed with making every hour of my work the most productive hour on earth. And I think I succeeded. One thing that kept me from being in a constant flow state was distractions. For years I didn't pay attention to them. All those notifications popping up on my phone, the noise of people around me, the hundreds of open tabs and windows on my laptop... I set the timer for 52 minutes, start working, and then BAM! A new notification appears. And I ask myself: “What is there?” Concentration on the task was lost. Productivity is gone. One tiny notification instantly ruined my productivity. I never paid attention to this until I started diving deep into the field of personal development. Now, when I'm working, I turn off all notifications, tell people not to disturb me, put on headphones (if I'm working in a noisy environment), close all browser tabs not related to the task, and do everything I can to avoid get distracted during working hours . So far so good - my system now truly seemed perfect. But can I go further? Certainly. The last piece of the puzzle is NO multitasking . When I hear today that someone can multitask, it makes me smile. Multitasking doesn't work. It is a myth. There is one study that shows that only 2.5% of test subjects can multitask with the same level of efficiency as performing a single task. The remaining 97.5% are not. Therefore, when I take a task and start doing it, I focus only on it. Not two. Not at three. Only on one. This is the rule I follow during working hours. Always. Okay, now we have all the pieces of System 69. Let's glue them together and see what we get:
  1. 52 minutes of work.
  2. 17 minutes of productive break.
  3. We remove all distractions.
  4. We focus on one task at a time.
Amazing! This is my System 69.

In conclusion…

Here are the three pillars of my productivity system. You can use my productivity system to successfully complete any job, not just programming. But use it wisely. Best wishes!

How a New Developer Can Get Taken Seriously

Source: Free Code Camp You may be familiar with the trick that lies in wait for all aspiring developers: I can’t get a job because I don’t have experience, and I can’t get experience because they don’t hire me! This is something we all face at the beginning of our careers. We constantly see advertisements for “entry level” positions that require 2-3 years of experience. The situation is very annoying. And when you receive another refusal, it seems that it is also hopeless. So, what should a new developer with no experience do to get his first job?Coffee break #63.  How to stay productive all day long.  How a new developer can get taken seriously - 4

Understand why work experience is so important to employers

Try to put yourself in the employer's shoes. This will allow you to understand why some people are hired and others are not. It will also help you not take being ignored or rejected personally. Every decision to hire a new employee is a risk. Will this person bring more income to the company than the cost of his salary? Your task is to convince the employer that you are capable of making a profit. The problem is that for an employer, the most powerful signal about a person’s ability to bring profit is the presence of work experience. If there is no experience, then hiring this person is risky. Therefore, you need to provide some other signals that will convince the employer that your employment does not pose a risk to him. And it's not just about technical skills. Hiring decisions are made by people. Therefore, the lack of experience can be overcome by personal qualities, enthusiasm, interest in working in a particular company, and initiative to create new projects. All this together can inspire confidence in you.

A formula that will help you gain the trust of your employer

Trust = Proven Skills + Visibility To gain trust, you need to show that you have the right skills. And it needs to be shown to the right people. Again, we're not just talking about technical skills. The ability to write an application is very important for a developer, but soft skills are no less important. Not only will you need excellent communication skills and motivation, but you will also need the ability to communicate these to a potential employer. You need to demonstrate them and convince them that you know how to use these skills to bring profit to the company. This will help convince the employer to give you a chance and hire you, even if you have no experience. For a successful demonstration you need:
  1. Create projects.
  2. Write.
  3. Make the right connections.
Let's look at each point and see how to effectively combine them so that without experience you look like a competent specialist in the eyes of the employer.

Create projects using your technology stack

The ability to build real-world projects in your technology stack of choice is a huge plus here. If the company you want to work for doesn't make sure you have technical skills, you won't get the job. But there is one caveat. I've heard many stories of developers being hired for positions they weren't qualified for. Employers were attracted to certain character traits of these candidates and the potential they saw in them. That is, you need to be technically competent, but you shouldn’t think that that’s all that’s important. The best way to show off your technical skills is to create something that no one has created before. When you build something by following only a tutorial, it only shows that you are capable of learning and following instructions. But it doesn't demonstrate your ability to solve complex and unique problems and create something from scratch. Employers are looking for candidates with skills that can be applied to solving real-world problems. This is what you will ultimately get paid for. My advice is to start by finding a good course that teaches the technology stack that interests you. Courses and tutorials are great for introducing technology and stack practice (this is important!). But they can't always teach you how to solve practical problems and create real things. Therefore, I recommend that after completing the course, create your own project using the theory that you have mastered. While you are working on a project, document all your actions, write down what you are doing and why. This will be useful for the next point in our plan to build trust in you as a specialist.

Write about everything you create and learn

Documentation provides several important benefits. For starters, it helps clarify ideas and processes. When you write down your actions, it encourages you to think and act more clearly and concisely. In addition, it helps to clearly structure all processes, because your goal is to present your ideas in a way that someone else can read and understand. All of this is probably easier said than done, but if you can do it, it will set you apart from other candidates when searching for a job. Another benefit that writing provides is improved oral communication. Once you get a job and become a professional developer, you will be a much more effective communicator than if you had no writing practice.

Simple writing system

Writing can be difficult, especially if it's new to you. Personally, I like to write, I do it all the time, but sometimes it is still difficult. So I want to share with you a simple tip that will allow you to start writing today.

Set aside time to write every day

This is very important because it ensures consistency, and therefore improves skills. After writing a lot of texts, I discovered that the path to success lies through writing bad texts. Just sitting and waiting for inspiration is not the best option. You just need to start writing. Once you start, you will be surprised to find that words come to your mind as if by themselves. But if you don't start writing, this stream of words won't flow. Therefore, immediately determine how much time you can devote to writing each day. Note: writing texts and editing are two different things. They should be thought of as two different tasks.

Write from a teacher's point of view

I've seen a lot of posts and tweets written by aspiring developers along the lines of "I learned this..." or "Today I worked on this...". All this, of course, is good. But if you write as if you are teaching all these things, and not learning them yourself. This way the texts inspire more confidence. For example, let's say you want to become a front-end developer using React. And you're writing a menu planning application. Instead of posting about what you learned about React, write an article on “How to build a menu planning app in React.” This shift in focus improves your image as a developer and how others perceive your skills. I think a lot of people are embarrassed to write in this style because they don't feel qualified to teach someone. But if you have completed something, you can write about it from the position of a teacher. You will become a fairly authoritative source of knowledge for people who want to build something similar, but cannot yet do it themselves. When you write articles, you not only communicate your technical skills, but you also show that you have confidence in them, which is attractive to potential employers.

Keep a list of ideas

An updated list of ideas will save you from creative crisis. Every time an idea comes into my head, I simply add another item with a short description to my list. And when I sit down to write, I either continue working on an article I've already started, or choose the next idea from the list. Having a list also eliminates the problem of selection. You don't have to remember everything you wanted to write about. Just take the next point and start writing. If you have no ideas, then write educational posts and tell them how to create projects that you once created yourself.

Separate writing and editing

This turned out to be very important for me. I was constantly taking pauses in writing because I was trying to reword things and edit things as I went along. But now I separate writing and editing. When I write, I just write. I don’t think about it, I don’t choose my words carefully, I just write. If I feel that I have already said everything I wanted, then I put the text aside and don’t touch it until the next day. In the morning, with a fresh mind, I re-read and edit what I wrote.

Write not only about technical things

Since you are a developer, you may feel like you should only focus on development. But I advise you to step aside a little and also write on topics that are not dedicated to programming in its pure form. Ultimately, companies hire people, not code. And people may or may not be suitable for each individual company. Your writing can tell a potential employer about how you work and think. Thanks to this, you will become a completely concrete, living person in the eyes of this employer, and not just another resume. And that's before you even have a chance to talk! For example, you can write about why you love programming, what motivates you to work hard, how you relieve stress in your free time. Although this is not related to work, although it is closely related to the life of a developer.

Build connections with people from the IT community

Creating the necessary connections is the last point of our plan. Developers often point out that networking has a huge impact on job search success. At the same time, starting to build a network of contacts is not so easy. The fact is that doing this is uncomfortable, which is why many people don’t do it. This means that you have a good chance to stand out from the crowd. Your portfolio and the texts you have written have given you an online presence. Now it's time to expand this presence by building a network of acquaintances. My two favorite tools for this are LinkedIn and Twitter. The ultimate goal is to build a network of contacts so you don't have to look for a job. Ideally, you simply contact your friends and receive suitable offers. Building such a network of acquaintances takes time, but it is worth it. For aspiring developers, your initial goal is to increase your visibility and get the word out that you're looking for work. Thanks to this, people will pay attention to you and your projects. And it’s quite possible that you will catch the eye of a potential employer. To increase your online visibility, I recommend doing the following. There is no need to attack everyone. You need to reach out to the people who work at the companies you want to work for and demonstrate your interest. To get started, make a list of 10 companies you would like to work for. Then find 2-3 employees from each of these companies. Focus on people who occupy approximately the same positions that you yourself would like to get into. Connect with these people on LinkedIn or follow them on Twitter (if they have accounts on these networks, of course). Then simply send everyone a message following the template:
  • Short introduction
  • What do you admire about the company where this person works?
  • A simple question that will be easy for your recipient to answer
For example, if I want to work in Ghost, my message might look like this: “Hi! My name is Ken. I'm a self-taught developer. I'm excited about what Ghost is doing for the publishing industry. The subscription functionality you recently launched is something! Tell me, what do you, as a front-end developer, like most about working on a product with such an important mission?” Please note that you are not asking for a job. You just start a conversation and a relationship. The message is short, to the point, and asks a question that you can't just Google. This example works because I really admire Ghost. Your admiration and desire to work for the company must be genuine. People are good at recognizing pretense even from a distance, so it can be a disservice to you. Once again, I will draw your attention to the fact that the goal is not to get a job, but to start a conversation and build a relationship with a person. Being persistent and intentional about meeting different people from different companies will help you a lot in the long run. Try to meet someone every day. Once you start a relationship, you may be able to develop it further by meeting offline, chatting via video, and discussing your career goals. Networks that provide great career opportunities to people are created this way.

How to combine all this into a single system

Now that we know all the components, let's see how to effectively combine them into a working system. My favorite method is setting aside time. Determine how much time you can devote to all this daily (depending on the density of your schedule). Then divide this time into three parts. The first will be for creating projects, the second for writing, and the third for building a network of acquaintances. For the first third of the time, you will be working on a personal project. Secondly, describe the project you are working on. Alternatively, you can describe how you solved certain problems you encountered (if the description of the project for some reason does not suit you as a topic). Finally, for the remaining third of the allocated time, look for information about companies and get to know the people working in them. All of these steps may seem simple (in fact, they are simple), but their impact is profound. It is these small and seemingly insignificant actions, performed constantly, that help build a great career from scratch.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION