IO.People Classification in IT

This post is an attempt to create a classification of how people consume information and how it affects their work.

Void: No input > No output


This person is a master of ignorance. He doesn’t read books that contain new knowledge, he doesn’t visit conferences, doesn’t watch videos, doesn’t do online courses. He stops learning right after graduation with a strong belief that he learnt everything he needs (and probably he’s right). 

If he reads something — it’s a fiction. It he watches something — it’s a TV-show or a blockbuster. If he visits YouTube channel — it’s Fail Army. All incoming information validated for a single purpose — entertain. Validation filter becomes very advanced with time and around forties there is close to zero chance to let new information in.

This type of person doesn’t do much. His work is usually unchallenging and somewhat repetitive. He likes huge corporations where political games and dark corners of ancient divisions allow to survive and even move up the ladder sometimes. 

Hot spot: Middle manager. 

Gut: Some input > Action output


Learn almost nothing, but somehow do things quite OK. Has supernatural ability to absorb information from the world via osmotic communication. He learns by doing and hates theoretical discussions. However, he do like examples and can somewhat generalize based on them. 

Hot spot: Middle QA engineer.

Abyss: Input > No output


This is a weird personality. He reads about everything and knows quite a lot. Unfortunately, all the knowledge carefully kept inside. He is quite lazy and doesn’t like challenging tasks. The information inside puts pressure on his mind. He always unhappy about everything and usually grumpy. Life sucks. Existential crisis is real. 

Hot spot: Bench.

Sponge: Input > .Squeeze > Output


Absorbs information like a sponge. In some special mood can be quite productive, but he should be squeezed to shine. Direct orders, gentle pushes, flattery and all other manipulations are acceptable to help Sponge overcome his laziness or modesty.

This person can become a real star if he meets a good mentor in his early job positions. 

Hot spot: _.apply(mentor)

Doer: Input > Actions


Learn new things, but in general filter out everything that doesn’t evidently relate to his job. Likes to read books about technology, something similar to ASP.NET 5.0 or Java 8 in Action. Don’t like deep discussions, since they quickly show his narrow focus and it’s not pleasant to feel that way at all.

Hot spot: Developer

Spreader: Input > Information


Reads a lot about everything. Talks and writes about everything he learnt. Promotes learning. Has a blog (often more than one). Visits conferences and do talks about some quite abstract things. LOVES meetups. Likes to participate in discussions about everything and never gives up.

However, somewhat lacks practicality and doesn’t like do things by hands. 

Hot spot: Mentor or Serial entrepreneur

Master. Input > Information and Action


Balanced personality. Learns theory and practice to have a full picture. Know how to focus and cut himself from the noise around. Likes everything: write code, solve problems, write articles and books, help people, do talks. Sometimes this enthusiasm to be everywhere leads to burnout, so he have to do physical exercises and have a good family to keep the energy past forties. 

Hot spot: Lead _

Plum. Input > ACTION

Unique personality type that belongs to few humans on Earth. Maybe you are lucky enough to know them. I do. However, somehow they do sell random stuff. Nobody knows why.

tau-conf #4

We run internal conferences every 6 months. Next one is big enough to have 2 days conference. Here is the program:

tau 4 #all (10 sessions) / day 1
10:00 Gamification. Using game elements in management, marketing, etc. Personal experience from support team / S. Gnedin
10:30 Professional deformation / A. Kovaleva
10:50 coffee break
11:00 Feedback Loops / U. Petriko
11:45 Value-Driven Development (How I run my cozy project using tp3). How to do the right things / A. Parasiatsyeu
12:30 lunch
13:30 Probability Theory for Dummies / A. Shnyukova
14:30 coffee break
14:45 Agile Portfolio Management / D. Borovsky
15:15 Enneagram as a tool of right communication / N. Yadrentseva
16:15 coffee break
16:30 Intro into Game Development / V. Gaidukevich
17:15 coffee break
17:30 How to choose the right chart for your data / O. Seriaga
18:00 Visual Specifications. Why most specifications suck and how to improve them / M. Dubakov

tau 4 #dev (6 sessions) / day 2
11:00 Nature of concurrent and distributed programming. Basic principles of concurrent and distributed programming, their formal foundation, examples on programming languages / A. Shotkin
12:00 coffee break
12:15 Applicative Functors, Monoids and Monads — who are they? With examples in haskell / S. Truhtanov
13:00 lunch
14:00 JavaScript VM / K. Krivlenia
14:45 coffee break
15:00 Intro to Lambda-calculus. Theoretical foundations of functional programming / U.Abramchuk
16:00 coffee break
16:15 New APIs in your browser. Less known features of modern browsers (DOM traversing without jQuery, CSS selectors, Web Components, a little of ES6) / A. Shytkin
17:00 coffee break
17:15 Formal verification. How to write programs to verify other programs / A. Famin

A List of Books Appeared at Our Office This Month

You and Your Research

Joe Armstrong, creator of Erlang, mentioned  Richard W. Hamming’s talk “You and Your Research” in his interview. I read it today. Well, it is great. So many gems that can be applied to software development easily. You should read it.

Here are several cool quotes. Some of them are quite long, but I believe they will give right feeling about the speech.



One of the characteristics of successful scientists is having courage. Once you get your courage up and believe that you can do important problems, then you can. If you think you can’t, almost surely you are not going to. 


Most mathematicians, theoretical physicists, and astrophysicists do what we consider their best work when they are young. It is not that they don’t do good work in their old age but what we value most is often what they did early. On the other hand, in music, politics and literature, often what we consider their best work was done late. I don’t know how whatever field you are in fits this scale, but age has some effect.


You observe that most great scientists have tremendous drive. I worked for ten years with John Tukey at Bell Labs. He had tremendous drive. One day about three or four years after I joined, I discovered that John Tukey was slightly younger than I was. John was a genius and I clearly was not. Well I went storming into Bode’s office and said, “How can anybody my age know as much as John Tukey does?” He leaned back in his chair, put his hands behind his head, grinned slightly, and said, “You would be surprised Hamming, how much you would know if you worked as hard as he did that many years.” I simply slunk out of the office!

Given two people with exactly the same ability, the one person who manages day in and day out to get in one more hour of thinking will be tremendously more productive over a lifetime.

The misapplication of effort is a very serious matter. Just hard work is not enough – it must be applied sensibly.


It comes down to an emotional commitment. Most great scientists are completely committed to their problem. Those who don’t become committed seldom produce outstanding, first-class work.

If you are deeply immersed and committed to a topic, day after day after day, your subconscious has nothing to do but work on your problem. And so you wake up one morning, or on some afternoon, and there’s the answer.


If you want to do great work, you clearly must work on important problems, and you should have an idea.

Most great scientists know many important problems. They have something between 10 and 20 important problems for which they are looking for an attack. 

By changing a problem slightly you can often do great work rather than merely good work. 

Open/Closed Doors

Another trait, it took me a while to notice. I noticed the following facts about people who work with the door open or the door closed. I notice that if you have the door to your office closed, you get more work done today and tomorrow, and you are more productive than most. But 10 years later somehow you don’t know quite know what problems are worth working on; all the hard work you do is sort of tangential in importance. He who works with the door open gets all kinds of interruptions, but he also occasionally gets clues as to what the world is and what might be important. Now I cannot prove the cause and effect sequence because you might say, “The closed door is symbolic of a closed mind.” I don’t know. But I can say there is a pretty good correlation between those who work with the doors open and those who ultimately do important things, although people who work with doors closed often work harder. Somehow they seem to work on slightly the wrong thing – not much, but enough that they miss fame.


There are three things you have to do in selling. You have to learn to write clearly and well so that people will read it, you must learn to give reasonably formal talks, and you also must learn to give informal talks.

Educate your boss 

Now you might tell me you haven’t got control over what you have to work on. Well, when you first begin, you may not. But once you’re moderately successful, there are more people asking for results than you can deliver and you have some power of choice, but not completely. I’ll tell you a story about that, and it bears on the subject of educating your boss. I had a boss named Schelkunoff; he was, and still is, a very good friend of mine. Some military person came to me and demanded some answers by Friday. Well, I had already dedicated my computing resources to reducing data on the fly for a group of scientists; I was knee deep in short, small, important problems. This military person wanted me to solve his problem by the end of the day on Friday. I said, “No, I’ll give it to you Monday. I can work on it over the weekend. I’m not going to do it now.” He goes down to my boss, Schelkunoff, and Schelkunoff says, “You must run this for him; he’s got to have it by Friday.” I tell him, “Why do I?”; he says, “You have to.” I said, “Fine, Sergei, but you’re sitting in your office Friday afternoon catching the late bus home to watch as this fellow walks out that door.” I gave the military person the answers late Friday afternoon. I then went to Schelkunoff’s office and sat down; as the man goes out I say, “You see Schelkunoff, this fellow has nothing under his arm; but I gave him the answers.” On Monday morning Schelkunoff called him up and said, “Did you come in to work over the weekend?” I could hear, as it were, a pause as the fellow ran through his mind of what was going to happen; but he knew he would have had to sign in, and he’d better not say he had when he hadn’t, so he said he hadn’t. Ever after that Schelkunoff said, “You set your deadlines; you can change them.”

After all, if you want a decision `No’, you just go to your boss and get a `No’ easy. If you want to do something, don’t ask, do it. Present him with an accomplished fact. Don’t give him a chance to tell you `No’. But if you want a `No’, it’s easy to get a `No’.


Another fault is anger. Often a scientist becomes angry, and this is no way to handle things. Amusement, yes, anger, no. Anger is misdirected. You should follow and cooperate rather than struggle against the system all the time.


In summary, I claim that some of the reasons why so many people who have greatness within their grasp don’t succeed are: they don’t work on important problems, they don’t become emotionally involved, they don’t try and change what is difficult to some other situation which is easily done but is still important, and they keep giving themselves alibis why they don’t. They keep saying that it is a matter of luck.

Learning and Software Development

I am writing quite long article about learning and software development now. Should be ready in 2-3 days.

I believe, learning is a key attribute of a good software development process. Process that empowers learning will work, process that impede learning will fail.

Another quote 🙂

A team of generalists with some specializations can create a better software than a team of highly specialized people. It is not obvious and we need to evaluate this assertion.