My Approach to Task/Time Management. Part 1: Framework

Table of Contents

We are coming closer to a new year. During this time we look back at the previous year evaluating if it is successful or not. We also set goals and objectives for the upcoming one usually promising ourselves to become better, to deliver more, to rest cooler, to spend more time with relatives, beloved and friends. Unfortunately, there are only 24 hours in a day, so in order to reach these goals we need to prioritize our objectives carefully to do the right things and perform task and time management to be able to deliver more during the same time.

Introduction

The last several years, I spent a lot of time experimenting and trying different approaches and tools for task and time management. I have several incentives to do that. First, I am a kind of “slow” person: it takes me a lot of time to complete tasks because I like to do the things right. I spend a lot of time to go deep to the roots of a topic, and only after I start to understand the topic I can produce something. So, I do an extra mile trying to grasp every piece of information, and according to the Pareto rule, this extra mile takes 80% of my time. Moreover, on this extra mile I usually discover a lot of other interesting things that further distract my path to the goal. Of course, I know about this issue and try to deal with it. Second, being a researcher means that you usually have a number of concurrent projects. Moreover, research is a very competitive space because several groups of the most brilliant people work on the same ideas at the same time. Therefore, you have to plan and allocate your time very carefully in order to be the first among them. “Publish or perish” is the moto of the modern research world, and if you are not the first it would be difficult to justify why your work should be published. Additionally, as a researcher you need periods of “deep work”, when you are 100% concentrated on solving a particular issue. These are the periods when you are in so-called flow state and in your day you need to find slots for such periods. Third, the area of my interests is Information Technology, and a lot of interesting things has been happening there, so it takes a lot of time to be on the wave.

Throughout these years I tried several methodologies and approaches for planning, task/time management and performance improvement. Moreover, I read a lot of articles on these topics applying the ideas I found interesting. In this set of articles, I will try to describe in details the approach I have been coming to in the last three years based on the gained knowledge and experimentation. Of course, this is not the approach set in stone, it still evolves, however, to my point of view it is stable enough to offer it to the readers.

In this first part, I will not concentrate on particular tools, I will describe the framework of my approach. If you like it, you can use the framework with your own favourite tools. However, if you want to read about my tool set, please wait for the second part.

Time Division

The main goal of time and task management is about improving your performance. This is not a big secret that in order to improve something you have to measure this at first and then, comparing the measurements, you can conclude if you become better. Obviously, the data for comparison should be collected in the same context, i.e., all variables must be fixed except the measured one. One of the main such variables that has to be fixed is the period of time when you measure your performance.

There are some invariants for time periods like seconds, minutes and hours. However, during a day our energy level and productivity varies considerably. Therefore, we cannot compare our performance related to task management using these time invariants. There are more coarse-grained time periods like days. Unfortunately, productivity during different days also cannot be directly compared: there are working days and weekends, there are days after weekends and there are TGIFs :) Hence, the most natural recurrent planning period is a week.

However, for some reason human beings are more adjusted to plan using months as a time invariant: if you look at some plans most probably they would be monthly-bounded. For instance, usually we receive our salaries every month. At the same time, from the measurement point of view this is not a good time invariant: there can be from 28 to 31 days in a month. Measuring your progress when the period varies in such a big range will lead to incomparable results. Interestingly, although a year duration also varies (there are either 365 or 366 days), I do not feel that this is a big issue for planning and performance measurement. In the end, a leap year happens roughly once every 4 years.

Thus, it is totally fine to use weeks for planning, more or less ok to use years, and not really good to plan using months. However, you still need a period roughly equal to a month because week is a too fine-grained period, while a year is too coarse-grained. I decided to use 4 weeks or 28 days as a such equivalent. I still call this period as month, but my year now consists of 13 months (365 days ~ 52 weeks = 13 four-week months). Hence, comparing to normal people who have only twelve months, I have an additional one to achieve more :) It’s like to have a 25th hour a day.

So as my months are not equivalent to normal months, I identify them using numbers from 1 to 13 (or if you’re too superstitious you can omit month 13 and have month 14 in your calendar). I also mark the weeks within a month with numbers: from 1 to 4. Thus, to identify a particular smallest period of planning (week) I need 3 numbers: year, month number, and week number. This identifier has the following format: <year>:<month>:<week>|W<year_week>. For instance, this week has the identifier 2019:13:03|W51: this is the 51st week in the year, the 03rd week of the 13th month of the 2019th year.

Using these time invariants I can easily do planning drilling down the goals, and do retrospection pivoting the results.

Types of Assignments

Generally, I divide all my “assignments” into two groups:

  1. Tasks
  2. Habits

Tasks

A task is an “assignment” that has a concrete result: you can always say if you have completed a task. For instance, “to clean a room” is a task because you can always say if you have cleaned the room completely, if you have just wiped off the dust (partially completed task), if you are waiting for your sister to clean the corridor in order to start cleaning your room, or if you decide to do the cleaning other day. Hence, each my task have a status: TODO - the task is planned to be done on a particular day; DONE - the task is completed; PRTL - the task is completed partially; WAIT - the task is planned but I wait for some input to start working on it; MOVE - the task is rescheduled for another day due to some reason. In my framework, the most often task statuses are TODO, DONE and PRTL; while WAIT I use rarely. Although I have the MOVE task status, I almost do not use it. The reason is that with my tool set it is just easier to actually move the task to a new day. However, if you want to track if you achieve all the goals set for a day this status is necessary. With it you would see how many tasks you have planned for a day, how many of them you have completed, and what tasks you have moved to another day.

There are two ways to express tasks. You can formulate them:

  • In the imperative form. For instance, “to do the homework” and “to clean the room”, or simply “do the homework” and “clean the room” correspondingly. This is the most usual way of task wording;
  • In the form as the task is done. For instance, “the homework is done” and “the room is cleaned”.

I have read the opinion that some people might unwittingly resist to execute orders. Therefore, they will unconsciously sabotage completing the tasks formulated in the imperative form. For this group of people the second form is more acceptable. At the same time, you should be careful with the second form as well: you brain can decide that the task is already completed and you do not need to spend time on it. My advice is to experiment with both ways and find what fits you better. Personally, I use the second form.

Every task should fit the S.M.A.R.T. criteria. Here is the quote from Wikipedia:

Ideally speaking, each corporate, department, and section objective should be:

  • Specific – target a specific area for improvement.
  • Measurable – quantify or at least suggest an indicator of progress.
  • Assignable – specify who will do it.
  • Realistic – state what results can realistically be achieved, given available resources.
  • Time-related – specify when the result(s) can be achieved.

Let’s consider what does this mean. Specific means that a task should not be generic. You should know exactly what should be done. For instance, “Write a blog post about time management” is a specific task, while “Write a blog post once a week” is not; or “Read a book” is a generic task, while “Read “The Witcher” book” is a specific one. In the end, you should be able to say if you have done the task or not.

You should be able to track the progress of a task. Therefore, you have to specify a criteria how to measure it. For instance, you can set a number of control points that correspond to an approximate value of task completion. Personally, I prefer within a day have short tasks. Therefore, I drill down volumetric tasks into several small subtasks so that they can be completed within one day. Therefore, I do not spend my time into defining and tracking these control points.

Every my task is usually assigned to myself, or in a WAIT state (when I wait for an input from other people). This criteria is not closely related to tasks, because we are considering the context where there is only one executor.

Realistic is a very important criteria. Unfortunately, we have a bad habit to plan more than we can complete. This could happen due to a number of reasons. For instance, other people could ask you about a small favour. For some reason, we usually give to the favour a higher priority than to our own tasks and goals. Therefore, you should be careful when you promise something to other people. It is better sometimes to say “No” than to promise and do not complete your own tasks. The second issue that prevents us from being realistic is our desire to take opportunities. It is closely related to FOMO (fear of missing out). That’s why we prefer to give a green light to all the opportunities that come to our table. In the era of information technologies, there are tons of different opportunities that fall on us, so you should estimate your energy carefully and do not take on your plate more than you can eat. The third issue is what I call “be better than yesterday trap”. This issue can be better explained with the following example. Imagine that today you have had a very good day: you have done all the planned items and even succeeded to complete some additional tasks. Now, when you plan tomorrow’s agenda, you add even more tasks to do based on high results of the previous day. It is possible that you would manage to complete this plan, however, you will be exhausted and most probably the next day you will be able to do nothing. This trap exists due to the popular trend “be better than yesterday”. A solution to this issue is to use longer periods of time based on which you plan next activities. For instance, you can work more for a week and then if you still perform good, you can increase the load. This is similar to what runners for long distances recommend to do: increase your distance no more than 10% a week. It seems that this rule also works here. If you have the same pace you usually cover longer distances comparing to accelerate-rest style of running.

Time-related or I call it time-bound is a very important property. According to the Parkinson’s law, “the work takes all the time available for its completion”. So, if you do not specify any deadline the work will take forever. This property does not contradict the previous one. This states that every work should have a deadline, while the previous says that the deadline should be realistic.

Habits

The second type of “assignment” is habit. The main difference between tasks and habits is that for the latter you cannot say if they are completed. You can only develop and practice them relentlessly hoping that they will become mature enough not to be broken accidentally. For instance, “waking up early”, “do sport 3 times a week”, “meditate in the morning”, “read a book before going to bed” are habits.

The process of developing a habit takes time. You cannot assign a habit to be done in particular day. The literature says that you need at least one month of habit practicing to develop it. But the process does not stop after this month: you still need to abide your habit. Thus, you usually assign a task to develop a habit to longer periods of time (weeks, months and years). Unfortunately, due to the external (e.g., illness) or internal (e.g., laziness) factors we can break the developed habit, and then we need to start the process of its development from the scratch.

Developing a habit is very difficult because you should do all your best to not turn from your path. In order to make this process easier, I rely on 3 pillars:

  • Your habit goals should be always in front of your eyes. This mean that from time to time during a day you should see what habits you are currently developing to remind yourself about them.
  • Develop only one new habit at a time. Developing new habit is a very energy consuming task, because you should also control that you have not broken the habits developed before. Therefore, it is better to avoid the situation when you develop simultaneously several new. For instance, Benjamin Franklin, practicing his principles, started to work on a new one only if during the previous week there had been no violations to already developed principle. I am not comparing myself with this historical person, but I also find out that it is almost impossible to work on more than one habit at a time. However, once you feel that you have developed a habit and do not have trespasses, you can add a new one to practice. However, you still have to track the developed habits. Hence, it is better to have them also in front of your eyes.
  • Split habits into small tasks. Every habit is a sequence of actions that you have to repeat periodically (usually, every day). Therefore, you can set and assign the tasks related to the habit for these days. For instance, the habit “do sport 3 times a week” could be decomposed into tasks “Do sport” and assigned to Monday, Wednesday and Friday. Thus, you will clearly see if during the week you have reached the goal of developing a habit (all the tasks for the habit are done) or you need to continue practicing this habit also during the next week.

It should be noted that sometimes you want not to develop a new habit but give up a bad one. Some people say that this is a more difficult task that develop a new one. However, there are some advices also in this case. First of all, you can substitute a bad habit with a good or at least not that harmful one. For instance, if you are giving up smoking, instead of smoking you can eat a candy. The second piece of advice is to avoid triggers of the habit. For instance, you may avoid drinking coffee in the morning when you also use to smoke a cigarette. The third recommendation is the following. When you experience a desire to smoke, concentrate on it and draw in your mind a bad future picture if you don’t get rid of it (e.g., lungs cancer, etc), so that you start to fear. Fear is a very strong feeling that works on much lower levels than conciousness, therefore it may help you to get rid of the habit. Still, you have to track your everyday progress as well.

Habits have only two states: DONE - if I reached all habit tasks during the period (usually, a week or a month), or FAIL - otherwise. If I have failed to reach the habit during this week I have to try to develop it next week too, and so on until the habit is DONE. Only then I can proceed with the following habit.

Planning

I set tasks on the level of days, weeks and months, while habits are scheduled on weeks and months. You can mention that I do not have a year plan. It is not because I do not want to do this, but because I found it very difficult for me to plan on this level. I really admire people who can make a plan for five, three or even a year ahead. My life is so dynamic that it is hard to plan even three months ahead. Therefore, on the year level I can just set the high-level expectations that I would like to reach, but this is not a strict list of items to do.

For every week, month and year I create a separate file where I do my planning and track my progress. However, you can use other facilities for planning, for example, you can allocate a page in your notebook for year, another page for a month and so on.

I plan the agenda of the next period just before it starts. For instance, on Sunday I plan my next week. Similarly, on the last Sunday of the four week cycle together with the next week agenda I also plan my next month. In general, planning does not take a lot of time, and you can do it at the most convenient time. I know that some people prefer to plan their day in the morning. This allows them to tune into the working mood.

Still, I have a separate file for a year where I describe my goals and the achieved results. Moreover, I usually do the mid-year revision of this file so as I am not good at planning more than several months ahead.

Year Planning

As I have already mentioned I am not good at planning particular tasks a year ahead. However, I found it useful to set high level objectives for a year in several life aspects. This allows me to check if I am moving in the right direction and what areas can be improved. However, for me a year plan is not a strict thing to follow. Moreover, I usually do the mid-year revision of this file to check where I am.

In the literature, you can find different lists of life aspects. For me, the list provided below seems the least controversial, however you can create or find the one that you like more. You do not have to set the objectives in every category, only some of them can be selected that are relevant to you. For instance, I do not set goals in every area, but my year plan template contains the full list, because it is possible that the next year I will have plans in other categories as well. I should note that the list below is sorted in the alphabetical order so that you can prioritize the categories according to your own preferences:

  • Career, Business & Work
  • Education & Self-development
  • Emotions & Life colorfulness
  • Friends, Relatives, Colleagues & Other people around
  • Health & Sport
  • Inner world
  • Money, Finances & Investments
  • Personal life & Family

Month Planning

As you may already guess, the month plan is not tightly connected to the year plan. On the year level, I set the objectives that are quite abstract, while on the month level you set particular tasks to be done. Personally, I consider the month plan as the most coarse-grain time invariant. I have a plan for each month is a separate file. They are names using the <year>:<month> format, e.g., 2019:13.

The month plan has two sections: habits and tasks. The habits section contains the list of habits that I would like to practice during this month. The tasks section lists the tasks I have to complete. Obviously, I cannot remember all tasks at the time of planning, but at least I can mention the most crucial ones. For example, you may have external deadlines that fall into this month. The things that have to be prepared for these deadlines are the tasks in my month plan. For instance, I have conference deadlines, therefore, the things required for a conference paper are listed as tasks. As one of the item in the task list I also have the name of the book I plan to read this month. This does not mean that I will read only one book, but at least, I will cover the planned one.

During the month, once I remember other tasks I add them to the list as well. Later, when I do the retrospection, the list of all tasks planned and done during the month help me to recover the context required to describe the month in details.

Week Planning

Week plan is the main working item. As I previously described, I identify each week using the format of <year>:<month>:<week>|W<year_week>, therefore, I can easily find what weeks are related to which month.

A week plan file consists of the following parts:

  • Week plan. I usually fill this part at Sunday’s evening. There, I put all the tasks that I plan to complete during the week, and I list all the habits that I want to develop or not forget about during this period of time. The habits are in the upper part, so they are constantly in front of my eyes when I open this file.
  • Plan for each week day. In this part, I have 7 visually separated sections one for each day of a week. Each section has a title that specifies exact date and a week day name. I put the tasks for that day into the body of a section. I can take them from the week tasks and assign to a particular day. However, usually week tasks are coarse-grained and drilled down into several fine-grained tasks small enough to be done within a day. I also put as tasks scheduled meetings. Of course, this approach does not substitute completely specialized calendar software. However, if you do not need notification, invitation and reservation capabilities you can use this approach. These tasks are also used to recover the context of the day to see on what I spend my working time. In the bottom part of a day section I put the names of the metrics that I measure during a day and their concrete values.
  • Epilogue. Epilogue contains the values of the metrics that I’ve collected during the week, and the description of the week in a text form. Thus, I can estimate and describe if the week is successful or not.

Collected Metrics

Currently, I collect a number of metrics on the level of weeks and days. So as I usually plan on the level of the weeks, in the end of the week the metrics collected daily are aggregated, and their aggregates are also reflected in the epilogue part of the week file. I have a goal for a metric, the value that I would like to reach during this week. As I previously mentioned, it is better to set goals on longer periods because short periods are more susceptible to bursts.

It is important to note that you should be able to influence directly on the metrics that you collect. For instance, it is worthless to collect data about the stock price of your company because most probably you have a very minor influence on it if you are just an ordinary employee.

Currently, on an every day basis I collect the following metrics that I try to improve:

  • Weight
  • Time of deep work

So as a lot of people try to loose weight, this is a very typical metric. In the beginning of a week I set a goal what weight I would like to have by the end of the week. So as loosing weight is a quite taught task don’t be too ambitions when you set the goals. Currently, I have a goal to loose 1% of my weight every week until I get the value I like.

I would like to spend a little bit more time on the second metric to explain what is “time of deep work” and how I measure it. Deep work is the period of time when you are concentrated on a task and not distracted by anything else. During such periods you usually make the difference. However, we like to be distracted. Therefore, people invented the so-called Pomodoro technique, when you work during a short period of time (usually 25 minutes) and then reward yourself with 5 minutes break when you can do anything not related to your task. After four such iterations, you make a bigger break (e.g., 15 minutes). Although this is a great technique, I have found it not very useful for me. The reason is the so-called flow state. This is the state similar to the one when you do your hobby, and this is the time when you produce the best results. However, after the start of deep work you need sometime to appear in this flow state(if at all you would be able to feel it). If your work is interrupted after 25 minutes, this mean that you have lower chances to appear in this state, and your most productive periods within the periods of deep work will be shorter.

Therefore, I adapted Pomodoro technique to overcome this issue. I created four different Pomodoro intervals (15, 30, 45, and 60 minutes). If I know that the task that I am going to do is short I use 15m interval. Moreover, in order to put myself into a working mood I also set timer for this interval. Sometimes you feel internal resistance to work on some task. Then, you can trick your mind by saying that you will work only 15 minutes on this task. However, after these 15 minutes the resistance feeling evaporates and you can continue to work on the task. When I start working on longer tasks I usually use 45m or 30m intervals. When I am very fresh, I use 60 minutes intervals. After each working interval, I make a break (it can be as simple as standing up from a chair and walking for a while, or doing some physical excersize). I seldom have longer breaks (15 minutes) because usually I am naturally interrupted after a couple of hours, e.g., I can go for a lunch, or I do sport, etc.

Every day I record how many my intervals I have finished without any interruption (if I am interrupted during an interval, I reset the timer and start it again). In the end of the day, I convert these amounts of intervals into time and use it as a metric.

Currently, my indicative value for this metric is about 4 hours a day. I have been measuring this metric for about a year, however, I have not managed to improve it significantly. However, it seems that this will be my main goal in 2020.

On a weekly basis, I have recently started to track the SEO metrics of my website (the amount of users, sessions, spend time). Although, I cannot directly influence on them they indicate what topics are interesting to the public.

Results

In the beginning of using this framework, I described plans and results in separate files. However, soon I discovered that this work is redundant: after a period has passed you do not need the initial version of the plan. You just need to observe what has been done, and the statuses of tasks, especially MOVE, facilitate this need. Thus, currently I do not have separate files for plan and factual results. I have just one file for a period of time where I put my plan before the start of the period and describe the results once it is over.

Having the hierarchy of time periods, it is very easy for me to do the retrospection. For each day, I have a set of planned tasks and a set of metrics that I measure. Once the task is done, I change its status correspondingly (it may also require to change the status of the task in the week plan part). As for metrics, I also record their values during a day and in the end of the day I calculate the totals.

In the end of the week, I aggregate the metrics and describe my feelings about the week in the epilogue. Within a week you usually remember well what you have been working on and if you are satisfied with the results. Thus, this task does not take much time and efforts.

Then, in the end of the month I just need to open four files corresponding to the weeks of the month, refresh my memories and calculate month totals. So as my months have exactly the same duration, I can easily compare them and estimate my progress/regress.

Of course, in the end of the year I have more work to do. However, this is totally fine because this is a holiday season, so spending a bit more time on planning and retrospection does not hurt.

Improvements

Of course, my current time/task management framework is not perfect. There are several things that I would like to add or improve. I have already practiced some of them, but so far they are not part of my routine.

First, I want to improve my planning abilities. I would like to be able to estimate exactly how much time each task requires. This would allow me to plan my load for a day more accurately. Comparing plan and fact values, theoretically, should set the ground to achieve this goal. I have already tried to do this using two different tools for task/time management that comprise these capabilities:

  • Trello with the Plus for Trello extension
  • A custom TODO file created in Microsoft Excel/LibreOffice Calc/Google Sheets;

Trello provides you a possibility to plan and track the statuses of tasks using Kanban boards. The “Plus for Trello” extension allows you to plan and track the time spent on a task. Moreover, it allows you to plot different graphs that shows what tasks are not done, how much time you spend on tasks on particular day, show plan/fact on tasks or group of tasks, etc.

However, there are some limitations of these tools that prevent me from using them as personal time/task manager. First, with the Kanban board interface it is not possible to have a hierarchy of time periods and to set goals for a month, split month goals into week tasks, and drill down week tasks into every day duties. Additionally, there is no place where you can describe your feelings during a week or day in a free form. Moreover, currently I do not see an easy way to do the retrospection. So, I would say that these products are very powerful and useful for project management, however, they are not well-suited for personal task management.

Another option that I used for time/task management with plan/fact measuring capabilities was a custom spreadsheet document (e.g., Microsoft Excel, Libreoffice Calc or Google Sheet doc). There, I put into one list all the tasks that I need to do. Each task had a number of properties: due date when it should be done, project which it belongs to, status, and estimated time and factual time. Using spreadsheet software filtering capabilities, it is possible to filter tasks based on these properties and their values. For instance, it is possible to show only new tasks, or tasks belonging to a particular project, etc. I tracked the time spent on a task using an external stopwatch, and once the task is done, I put it into the factual time field. Having this data I could see how my planned and factual times correlate.

However, even a custom spreadsheet had some limitations. Similarly to the Trello case, I could not easily split tasks to weeks and perform the retrospection. Second, the endless list is not a good UX pattern when you deal with tasks that you have to do. Still, I think that such a spreadsheet can be useful for personal project management.

Second, I want to learn how to prioritize tasks and execute the ones that are the most beneficial. One more property that I had in my spreadsheet document was priority. The priority was assigned according to the Eisenhower Matrix:

  • Important and Not Urgent (6)
  • Important and Urgent (4)
  • Not Important and Urgent (2)
  • Not Important and Not Urgent (1)

I will not describe here the approach in details. You can read a couple of articles to grasp the idea and how to divide your tasks into these categories. However, the main goal of this prioritization is to spend more time on important tasks, and try to avoid not important tasks. More precisely, you should concentrate on “Important and Not Urgent” tasks that improve yourself considerably, and escape from doing “Not Important and Not Urgent” tasks.

In order to achieve this goal, I added some gamification. To each category I assigned a coefficient $K_{importance}$, its values you can see in parenthesis. Moreover, each task status also had its coefficient $C_{task\_status}$:

  • Planned (0)
  • Done (1)
  • Partially Done (0.5)
  • Cancelled (-0.5)
  • Not Done (-1).

Each task has a score calculated by the following formula:

$$score = \begin{cases} t_{real}*K_{importance}*C_{task\_status}, & \mbox{if } \mbox{ task is Done} \\ t_{planned}*K_{importance}*C_{task\_status}, & \mbox{otherwise}\end{cases}$$

Thus, if the task is done and it belongs to the “Important and Not Urgent” category I received the largest positive score, while if the task is not done, I received the largest negative score. In the end of the day, I simply summed all the points getting the final score showing if the day was successful or not.

However, this approach had a number of issues. First, it does not count if my planning is consistent with the factual results. For instance, having a task done but working on it more than I have planned is not penalized by this system, therefore, there is no incentive to plan better and have a task time-bounded. The second issue stems from the usual situation when instead of the planned “Important and Not Urgent” task, you have to do “Not Important and Urgent” tasks. On the days when such a rush happened, I received negative final day score. This is quite depressing, especially knowing that you worked really hard on these days, but they look like the days when you had the worst performance.So after half of a year of planning in this spreadsheet document, I stopped using it.

These were my first attempts to add prioritization and plan/fact estimations to my framework. Although they were not successful, I still think that in the future I would need to come back to these questions.

Third, I want to develop a fixed schedule. I would like to wake up, go to work and come back, have evening routines, and go to bed everyday roughly at the same time. Unfortunately, currently I am not good at doing this, but I plan to develop this habit in the future.

Conclusion

Phew! Quite a tough to read blog post has come out: a lot of text, no figures and even a formula! Hopefully, if you are looking for a time/task management approach, it was a useful reading for you. In the next part, I will describe my tool set that I use to implement this framework.

Yury Zhauniarovich
Yury Zhauniarovich
Lead Data Scientist
Independent Cyber Security Researcher

Related