Self-control of time for self-education and time for reading books

    Work as a programmer involves constant compulsory self-education. Self-training includes, firstly, deepening knowledge in already familiar areas, and secondly, acquiring skills in unknown and missing areas. This all, of course, sounds beautifully on paper, but in fact we still have bouts of laziness, getting stuck in the technology stack and burnout from the routine. New sensations help in the fight against the dark side of development. That's just the sensations should be really new: to understand for the tenth time the nuances of the "new" api from another social network quickly becomes a veiled routine.

    Responsible work in itself contributes to the development of the first type of knowledge, which improves the skills of a narrow specialist. At the same time, the second type is also replenished, but very slowly, spontaneously and uncontrollably. And that means unsatisfactory. But I want to know more, to be able to better, to blush less often for my decisions, to lift my nose higher.

    In the article, I describe my approach, which helps me more effectively fill gaps in knowledge, and also with great pleasure to engage in gamedev as a hobby.

    The main solution here is simple and well-known to everyone: self-education. It can take many forms: an additional project for a hobby; educational courses and seminars (text / audio / video); contests and competitions; books. For me, books have become the most useful and effective, so the examples of supervised learning methods that I use will be described using their examples.

    What is the problem? Take and read!

    Reading special technical literature is not only useful and interesting, but still difficult, boring and long at times. Of course, there are very fascinating moments that describe an elegant pattern or anecdote about someone else’s unsuccessful decision in development with obvious jambs (maybe even the same as yours) . But basically such books lose to their entertaining brethren, especially after a busy day, when you want to relax more and not pull on.

    Here's what makes it easier to spend a relaxing time: Dawkins's “Selfish Gene” or McConnell's “Perfect Code”; Shrider's Blood, Sweat, and Pixels, or Freeman's Design Patterns? ( Although in fairness it’s worth adding that all these books were the most fascinating on the list ).

    Here began a useful book. Is everything all right now?

    But no. Behind himself, he noticed that for the first time he began to read McConnell's Perfect Code, he slowed down in reading somewhere in the middle. And somehow you can quietly take a break a week, two weeks ... then read an hour ... and again a pause for a week. A book can be read for years, but not finished, but a false sense of gradual progress is still present. And the feeling of shame for long breaks discreetly discourages any desire to return to an object that delivers so many unpleasant experiences.

    So who is the enemy?

    My enemy was a lack of visibility. When you don’t see a constantly pressing task, it seems like it doesn’t. And you can put it in a long box. I did not have tools to solve this problem, but I still found a suitable one for myself. And this is a simple career capital table in Google Docs. Any table will do, including in paper form. I found this technique in Nyuport’s book “Into work with the head”. He has several methods there, but this one came up to me.

    Methodology “Table of career capital”

    Basic rules:

    1. Create a table with 3 columns: Date; Hours spent; Tasks to be performed.
    2. At the end of each day, fill in the next row of the table. A list of tasks that are significant for self-education is included in the Tasks Being Taken and how many hours have been invested in each of the tasks. In "Spent hours" is the sum of hours by task.
    3. If not a single task was completed in a day, then put dashes and zeros so that they callused the eyes.
    4. Include only tasks that are meaningful to your learning. Repair in an apartment can often be more important than self-education, but you should not include it here. However, this rule is very blurry.
    5. It is preferable to set tasks in the SMART format, that is, to be: specific (read book A); measurable (1 book is read and understood); achievable (I already read similar books and this force); relevant (my algorithms slow down! There is something to be done with this); indicating the deadline for delivery (maximum 2 months to read).
    6. The total number of current tasks should not be too large so as not to be sprayed. For me it is about 6 tasks. At the same time, the rule is strictly observed that at the same time you cannot read more than 2 books.
    7. At the end of the month, all hours are summarized and compared with your average. If more than average - we feel very good; if below average - we still feel good; if below the required minimum, we feel unwell and either adjust our behavior or lower the minimum bar.

    That's all - the method is very simple. For a detailed description with examples, you can refer to one of Newport's books.

    At home, I bring in a watch with a gradation of 0.25 hours (15 minutes).
    I get 30 to 120 hours a month.
    Minimum bar: 30 hours.
    Average bar: 60 hours.
    The table can be refined, complicated and decorated with different diagrams for a pleasant visualization.

    And the bonus of this approach is that you find out how much real time it takes you to read one book. Anyway, what exactly do you read more often.

    Below I give some of the books with their net reading costs. First technical, then general education and border (non-chronological list).

    - [40.25 hours] The perfect code. McConnell.
    - [1.75 hours] Scrum guide and strategy.
    - [34.50 hours] Artificial intelligence in computer games. Alex J. Champandar.
    - [26.50 hours] Design patterns. Freeman, Freeman, Sierra.
    - [24.75 hours] (English) Patterns in game programming. Robert Nistrom.
    - [17.50 hours] The selfish gene. Dawkins.
    - [5.50 hours] Raising a child. Hyphenreuter.
    - [8.00 hours] To work with the head. Nyuport.
    - [12.75 hours] (English) Harry Potter 1.
    - [9.75 hours] (English) Harry Potter 2.
    - [11.25 hours] (English) Harry Potter 3.
    - [22.75 hours] (English) Harry Potter 4.
    - [26.75 hours] (English) Harry Potter 5.
    - [18.25 hours] (English) Harry Potter 6.
    - [19.75 hours] (English ) Harry Potter 7.
    - [5.50 hours] Freeriding. Mark Levy.
    - [13.00 h.] (English) How to win friends. Cornegey.
    - [4.25 hours] Machiavelli. Sovereign.
    - [7.50 hours] Blood, sweat and Schreier pixels.
    - [23.75 hours] All about color. Lindsey.


    Dry numbers say that technical books are read only at a slightly lower speed than lighter or fiction ones. Just technical several times thicker. And at a time a lot of technical literature to absorb is very difficult.

    By the way, I want to note that the presence of some books on the list does not mean that I liked them and I would recommend them to someone other than my enemies. Therefore, it is impossible to perceive it in any way.

    For game development, I can advise: "Perfect code"; "Design Patterns"; "Patterns in game programming"; "Blood, sweat and pixels"; "All about color."

    In the comments, it would be great to see your lists of recommended books.

    Also popular now: