I tried it for a week and was surprised at how focused, energetic, and productive I became

Image for post
Image for post

Coding Is Not About the Coding
What do you think programming is about?
Writing code?
Writing good code?
No.
It’s just a part of the truth.
https://www.eventbrite.co.uk/e/liveman-united-v-psg-live-on-free-tickets-131363342293
https://www.eventbrite.co.uk/e/streamsman-united-v-psg-live-on-free-tickets-131364144693
https://www.eventbrite.co.uk/e/onlineman-united-v-psg-live-on-free-tickets-131364273077
https://www.eventbrite.co.uk/e/livematch-man-united-v-psg-live-on-free-tickets-131364828739
https://www.eventbrite.co.uk/e/streamsmatch-man-united-v-psg-live-on-free-tickets-131365294131
https://www.eventbrite.co.uk/e/streams-live-man-united-v-psg-live-on-free-tickets-131365462635
https://www.eventbrite.co.uk/e/streams-reddit-man-united-v-psg-live-on-free-tickets-131365903955
https://www.eventbrite.co.uk/e/uefaman-united-v-psg-live-on-free-tickets-131366150693
https://www.eventbrite.co.uk/e/online-streamsman-united-v-psg-live-on-free-tickets-131366463629
https://www.eventbrite.co.uk/e/footballman-united-v-psg-live-on-free-tickets-131367251987
https://www.eventbrite.co.uk/e/total-sportek-man-united-v-psg-live-on-tickets-131367964117
https://www.eventbrite.co.uk/e/uefaman-united-v-psg-live-on-free-2020-tickets-131368287083
Programming is not about coding — programming is about solving problems with coding.
End customers don’t care what technologies, languages, frameworks, or methodologies you use. They care only about one thing: whether your product solves their problem or not.
That’s why no one cares what technologies Google search is using under the hood. Until people can find relative information with it, they will use it.
It’s the number one thing I wish I knew when I started programming.
I would spend less time writing “best code” and more time solving customer’s problems best.
Don’t write code just to write code — solve customers’ problems with the code.
Communication Skills More Important Than Coding Skills
When I just started my career, lack of social skills was not my main problem. But when I moved higher, to the middle, senior, and leadership position, my weak soft skills became my Achilles heel.
When you work on a product with a group of different people (engineers, designers, managers), communication is the only thing that makes you a “team” and helps you effectively develop the product.
Lack of social skills does the opposite — it decreases the product development time and overall productivity.
Here is the real situation you might face:
The leadership team tells your product manager that they want to create a new product feature and put it in the next product release. It’s not urgent, they just want to release it as soon as possible (as always).
The product manager calls you on Zoom, tells you what you need to build, and asks, “How much time do you need to build it?”
You are doing a rough calculation and say, “I need 20 hours.”
The product manager is not satisfied with your answer. He wants to release it as soon as possible and show the management that he can deliver results fast (this is a very common situation).
So he asks you, “Can you build it for 10 hours? We really need this feature in the next product release!”
And you know that you can if you cut the corners (no tests, messy code) but then you will need to refactor it, and it will take an additional 30 hours. Because other engineers will work with your messy code when you release it. And after refactoring, you will need to integrate their code with yours.
So here’s what will happen next. If you have bad social skills, you will not convince the product manager that you actually need 20 hours to build this feature.
Why?
Product managers often have good social skills, from my experience. So if you can’t convince them that refactoring later is worse than spending 20 hours right now, they will easily argue with you and convince you that “refactoring later is OK.” And the whole team will lose an additional 30 hours for this refactoring (I don’t count the time to fix unpredictable bugs after).
But if you have good communication skills you will be able to convince them of the opposite.
So improve your social skills as well as coding skills (send memes in the group chats on Slack or something).
And remember one simple truth:
People work with people, not machines.
Regular Breaks Help to Program Better
For four years I always feel exhausted after work. Somehow I could productively work only for a couple of hours. After that, I didn’t have much energy. Until I learned about the Pomodoro technique.
It’s quite simple. You work for 25 minutes and take a break for five minutes.
Your working routine becomes:
8:00–8:25 — Work
8:25–8:30 — Break
8:30–8:55 — Work
8:55–9:00 — Break

Then I went further and implemented the 52+17 system and my productivity levels spiked by 200%.
So take regular breaks if you want to operate at your maximum capabilities.
10X Engineers Don’t Exist
At the beginning of my career, I thought that a great programmer is a person who knows tons of programming languages, frameworks, and methodologies.
I was wrong.
Such a mindset only gave birth to my impostor syndrome. I thought that I don’t deserve my current position, my salary, and that I am a “fraud.” So I started to follow every popular developer on Twitter, read every technical news, and read thousands of developer blogs just to convince myself that I deserve what I have and to feel more close to the title “great developer.”
This was not a healthy behavior.
But it helped me to discover that a lot of people I followed (I thought were 10X engineers) actually didn’t know a lot of things. They may know how to do some complex things that require a lot of different deep knowledge in a couple of fields and at the same time don’t know some primitive things. Like they know how to design highly scalable database architectures but don’t know how vertical-align an element with CSS.
Big thanks to those developers — like Dan Abramov (the creator of Redux), who wrote this article. They cured my imposter syndrome and showed me that it is OK not to know something.
Programming Is Not Hard if You Know How to Learn
When I started to learn JavaScript, it was hard. Because I learned the wrong way.
I read a lot of theory without the practice, no routine, no end goal. Chaos.
I thought it was normal to learn like this. Until I discovered deliberate practice.
It’s a purposeful and systematic type of practice (learning).
The difference between normal practice and deliberate is that deliberate requires focused attention and is conducted with the specific goal of improving performance.
After I applied a deliberate practice, I began to notice how fast I’m progressing with learning JavaScript. My knowledge started to stick for a long time, not just for five minutes after tutorials. I created the end goal, why I am learning JavaScript, and started to understand what I need to learn, and what I don’t.
Quick note: I’m creating a JavaScript course where I’m using deliberate practice to combine modern and practical JavaScript theory with a lot of real-world practice to teach you how to become a skilled JavaScript developer with knowledge of modern language features.
So here is what you need to perform deliberate practice on your own:
Teacher: provides practice activities designed to help you improve performance.
Perform at maximum effort: constantly being taken out of your comfort zone.
Well defined and specific goals: not just “overall improvement.”
To be in focus: give your full attention, no distractions.
Do conscious actions: no autopilot.
Instant response to feedback and modifying your strategy.
When you start learning a new language, technology, framework, whatever, stick to these rules to get big results as quickly as possible.
There Is No “Best Programming Language”
There is no best “something” in our world. Only best in something.
Let’s take cars. How can we choose the best car in the world? By speed? By safety? By what criteria?
It’s impossible.
We can only choose the best car in a certain category. Like the safest car. Or the best offroad car.
And if we look deeper, every category solves some problems.
For example.
Problem: We have children and we take them to school every day; we want our children to be safe on the way to school.
Solution: Buy the safest car.
Problem: We go camping every weekend, so we need some vehicle that can easily get us to places that are difficult to access.
Solution: Buy the best off-road car.
It’s the same with programming languages. Some languages and tools are better at solving some problems than others.
If we want to build an interactive website, we choose JavaScript.
If we want to go with ML/AI, we choose Python.
Remember, there is no best programming language, there is the best programming language to…

Written by

God is really creative, I mean… just look at me.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store