The Pomodoro Technique: A Developer’s Perspective

The Pomodoro Technique is a time management method developed by Francesco Cirillo in the late 1980s (I was not born yet 🤯). The technique uses a timer to break down work into intervals, traditionally 25 minutes in length, separated by short breaks.

Getting Started

  1. Choose a task. The first step is selecting the task you want to complete. As a prerequisite, having an already prioritized list of tasks makes this step a whole lot easier, I’ve been using Microsoft To Do (formerly Wunderlist) for several years now so this is how I keep my life organized. I have task lists for different aspects of my life, personal, development, work, etc. so it is very easy to just pick the top task from any of this list and start.
  2. Start the Pomodoro. This step is about commitment, you make a small oath to yourself: I will spend 25 minutes on this task, and I will not interrupt myself. We are surrounded by interruptions, external and internal, notifications, emails, you name it; so you need to commit and make sure you’ll not be distracted from your task. The standard length of a Pomodoro is 25 minutes.
  3. Work. Immerse yourself in the task for the next 25 minutes. That’s it, just work and focus on the task.
  4. Record it. When the Pomodoro rings, record it. That’s it, you’ve successfully completed an entire, interruption-less Pomodoro.
  5. Take a break. Breathe, meditate, grab a coffee, walk or anything not work-related. The standard length for short break is 5 minutes.
  6. More breaks. Every 4 Pomodoros, take a longer break, yes, more breaks! Once you’ve completed four Pomodoros, you may take a longer break. The standard length of a long break is 15 minutes.

Ok, after this short introduction let me share my experiencing after using The Pomodoro Technique as a developer for several years now. 🍅

It worked for me! However, I’ve done some modifications, I found that most of the times 25 minutes chunks are not enough to achieve a significant piece of work, and the amount of time I spent to get back on track is too much, that leaves me with very little time of focus on each Pomodoro.

So, I’ve opted for increasing periods by 2, so instead of 25 minutes for focus I spent 50 and the same goes for breaks.

There you have it, Pomodoro technique is just and old productivity strategy among many others, but I’ve found that it works for me, it allows me to balance my time between work and active breaks and also, it allows me to measure the time I spend doing some particular tasks which is very useful for my estimates as a developer.

Azure ❤️ Containers

Mustafa Toroman, MVP for Microsoft Azure, shared with us the talk “Azure loves Containers” as part of AP’s Dev Talks Meetup. I enjoyed it a lot so I just felt like sharing.

Enjoy!

Mustafa published several books on cloud technologies. Lately, his focus is on designing new solutions in the cloud and migrating existing ones to the cloud. Mustafa possesses over 40 Microsoft certifications. Also, he has held the MCT title for many years and has been awarded the MVP for Microsoft Azure for the last four years in a row. He often speaks at international conferences about cloud technologies and now it’s time for Dev Talks Meetup where he will cover topic ‘Azure Loves Containers’.

Containers are the latest big thing in the cloud. They are light, fast, and consistent. And they fit very well into DevOps. Azure offers multiple container options to choose from. And each one of them makes deployment of our applications easy. Let’s see how to build your containers and deploy them anywhere.

C# Tuple

I have recently found this C# feature and found it interesting, let’s take a look.

C# tuples are types that you define using a lightweight syntax. Basically, it gives you the opportunity to define data structures with multiple fields without the complexity of using classes.

Please look at the following example.

(string, int) tuple = ("Hello", 1);
Console.WriteLine($"Tuple with elements {tuple.Item1} and {tuple.Item2}.");
// Output:
// Tuple with elements Hello and 1.

Optionally, you can define the field names.

(string Text, int Count) tuple = ("Hello", 1);
Console.WriteLine($"Tuple with elements {tuple.Text} and {tuple.Count}.");
// Output:
// Tuple with elements Hello and 1.

Another interesting feature of tuples is the support for equality operators.

(string Text, int Count) left = ("Hello", 1);
(string Text, int Count) right = ("Hello", 1);
Console.WriteLine(left == right);
// Output:
// True

Also, you can assign tuples to each other. Keep in mind that tuples must have the same number of fields and the values must be implicitly converted.

(int, double) tuple1 = (17, 3.14);
(double First, double Second) tuple2 = (0.0, 1.0);
tuple2 = tuple1;
Console.WriteLine($"{nameof(tuple2)}: {tuple2.First} and {tuple2.Second}");
// Output:
// tuple2: 17 and 3.14

Now, I must say that you should not go crazy with tuples; replacing separate classes with tuples because you will save a few lines of code it is not a good idea, so before implementing tuples in your code base make sure to document their usage for scenarios where they could be helpful without sacrificing your code quality.

A tiny overview at tuples, but share your thoughts.

For more information about tuples visit Tuple types – C# reference | Microsoft Docs.