Efficient programmer's notes
80 subscribers
4 photos
30 links
https://boosty.to/andreykas/donate - link to support me

This channel was created to share my experience in making countless attempts to be a more efficient and healthy person and programmer
Download Telegram
Some thoughts on this channel

Hello, my friends. It's been about a month since I've started this channel. And there are already 10 posts in here. These posts mostly are about good habits + efficiency. I appreciate all of you who were reading them. Hope it was valuable.

Also wanted to add that I fell in love with writing. Although, it's super hard for me. I still spend plenty of time writing one post. Partly cause it's hard to put my thoughts on paper, partly due to the fact that English is not my native language. No pain, no gain)

I think it's time to introduce new topics/rubrics. Maybe, make this channel a bit more technical, a bit more about Flutter and mobile development in general. Since there will be more topics, I want to add more structure by using hashtags. #efficiency, #habits, #career, #learninpublic, #books, #dev, #flutter, #thoughts and more.

I've recently written about learning in public and its benefits. Yesterday, I set a goal (actually, goals) for myself until the end of the year. It's connected to Flutter and animations. From now on I'll post my progress here under the hashtag #learninpublic. Wish me luck!
👍1
Parkinson's law and how to hack it

I've already mentioned this law in one of my previous posts.

"The work expands so as to fill the time available for its completion. Thus, an elderly lady of leisure can spend the entire day in writing and despatching a postcard to her niece at Bognor Regis. An hour will be spent in finding the postcard, another in hunting for spectacles, half-an-hour in a search for the address, an hour and a quarter in composition, and twenty minutes in deciding whether or not to take an umbrella when going to the pillar-box in the next street. The total effort which would occupy a busy man for three minutes all told may in this fashion leave another person prostrate after a day of doubt, anxiety and toil."

It's an excerpt from the original essay of Cyril Parkinson written in 1955 where he described this law for the first time. The main goal of this essay is to show the natural tendency for officials to make more work for each other. He even gives us convincing proof from the history of the British Admiralty from 1914 to 1928. While the number of ships and marines decreased by 67.7% and 31.5% respectively, the number of Admiralty officials increased by 78.5% over a period of fourteen years!!!

This is all very interesting and the full essay is totally worth reading, but the main goal of my post is to make you more efficient. And that's why I've taken the first paragraph of Parkinson's work with a story about an old lady. How often do we find ourselves in a similar situation, when we have so much more to get done? I do more often than wanted.

I can't say that the woman has made something terribly wrong. If she had no other things to do during the day, then why not? I even want to compliment her on putting and meeting some kind of deadline (the end of the day).

- But it's not our case. So what can we do to use our time more efficiently?

- In short, set clear deadlines and meet them.

- Really? That's all?

- Almost. There is a catch. This strategy may not fit every task from your to-do list. Furthermore, in some cases, if you do it wrong, it can even lead to bad consequences.

- Will you tell us about everything?

- I'll do my best in one of the next posts. For now, you can read a short interesting study on self-imposed deadlines from MIT uni. It answers 3 important questions:
1. Do people self-impose costly deadlines in tasks where procrastination may impede performance?
2. Are self-imposed deadlines effective in improving task performance?
3. Do people set their deadlines optimally, for maximum performance enhancement?

#efficiency #habits
Read the source

What is the best way to become a better writer? Reading more. The same concept can be applied to programming.

I've been reading a lot of source code recently. Of course, not for fun. I had a troublesome task I'd never done before. Therefore I didn't know where to start.

So I've git-cloned an open-source library that solved a similar problem, and decided to adapt it to my needs. Little did I know what awaited me. I wanted to take the path of least resistance but found myself reading and understanding the code written by a stranger. Luckily, the package was small and relatively simple. However, I've managed to learn a lot of new things and changed my view on this topic.

Here is how reading sources may benefit you as a developer:

- It may help you to learn from gurus. Let's imagine you know a skilled programmer, but he is not as public as he could be. There is no conference with him on youtube you could watch or blog you could read. However, he contributes to open-source. The only way to learn from him is to read his code and try to understand something.

- Sometimes it's easier and faster to read the sources than look through docs or watch a tutorial on Youtube. Moreover, library creators often leave many comments in their code.

- You'll learn how popular libraries work under the hood and will be able to choose the most appropriate one. I often see heated debates about state management libraries/approaches in Flutter. How one is 1000 times faster and more convenient than another. Hello, GetX versus anything else. Everything in Dart/Flutter world is open-source. So try to understand how does it work.

- You develop a crucial skill - reading code. It's not a secret that an average developer spends more time reading code than writing. So, read more code to read code more efficiently.

- You may start contributing to open-source. Many companies appreciate it when hiring a developer. Maybe you'll add a new feature that many people need or fix an annoying bug when the maintainer has no time for it.

CAUTION! You can also face suboptimal code when sneaking through GitHub repositories. How to distinguish the good from the bad? I think you should know the basic "code smells" and have a bit of experience to trust your guts.

#career #dev #efficiency #thoughts
Size matters

I've recently read about interesting studies from Microsoft. According to them, if you are looking for a technological solution to boost your productivity, almost the only effective way is to buy a large monitor or even two of them.

I found it intriguing because I'm still working on my 13-inch laptop and have recently started to think it's not enough anymore.

Another study from the University of Utah has shown that people using 24-inch monitors complete a series of tasks faster than people with 18-inch monitors by around 52% working with text documents and 26% with spreadsheets. They've also found that taking something more than 24-inch doesn't actually improve users' performance anymore.

Of course, users from experimental group may not have known hotkeys for switching between windows or their tasks can't be compared to programming. So, one may say it doesn't work this way.

But I see some obvious reasons for such results and how bigger monitor can increase my productivity as a programmer.

A bigger screen:

1. Decreases switches between windows.

I usually have 3-4 windows opened at once while working: code editor, phone simulator or browser, UI design, and StackOverflow. For now, I have 3 macOS desktops with needed apps in full-screen mode. Switching from one to another takes time and mental energy.

2. Allows seeing more information at once.

"When people have to remember more, they tend to focus on fewer possibilities and fewer possible solutions. In other words, when people can only see a limited amount of their data, they have to remember the rest, which tends to limit them to fewer solutions and fewer strategies." You can focus on solving the problem instead of remembering some parts of your program.

3. Takes more space in my vision field, which results in better concentration, because I become less distracted. (Personal point)

I've also read from some authoriative sources, that 24-inch is not the limit. The perfect size and configuration depends on type of tasks you have to complete and your working style. So, choose your own path to happiness.

What's your current setup? Are you happy with it?

#efficiency
I've changed my mind about office work

If you don't know, I've recently switched my job place. And now I'm officially a member of the CodePilots team. I still do develop cross-platform mobile apps using the Flutter framework, though.

I always thought that working from home was the best thing mankind had invented. I've never understood my friends who prefer office work. My main argument was that I didn't want to spend several hours in a traffic jam daily. So I was looking for a fully remote job. I even declined one job offer right after I knew that I would have to show up in an office at least three times a week*. By the way, the office was just about 15 minutes away from my place.

My new company allows me to work remotely as long as I want to, though there is an office in my city. This means that now I have an opportunity to work in an office while nobody is forcing me to do it.

Given this freedom of choice, I've decided to try to work a couple of days in the office. And it was a game-changer.

Here are a few advantages of working in the office compared to working remotely I've noticed so far:
- You're not sitting at home all alone all day long, letting your social skills slowly degrade. You go out. You meet a lot of new cool people with the same interests as yours in person. So, you can chat with them during the launch time.
- An office is a place where you don't need to gather all your willpower to get things done. You sit down - you work, just like everybody else in the room.
- Some people have small devils at home that don't allow them to concentrate on something besides their cry. Probably, an office is their "lifeboat."

The problem with transportation remains. Despite this, I started working in the office 3-4 days a week without noticing it.

The conclusion is that it's best when the company takes your interests into account and allows you to pick an option that works out best for you.

*people call it a hybrid work

#career #efficiency #thoughts
👍3🤔1