O trabalho como programador envolve auto-educação compulsória constante. O autotreinamento inclui, primeiramente, aprofundar o conhecimento em áreas já familiares e, em segundo lugar, adquirir habilidades em áreas desconhecidas e ausentes. Tudo isso, é claro, soa lindamente no papel, mas na verdade ainda temos crises de preguiça, ficando presas na pilha de tecnologia e esgotando a rotina. Novas sensações ajudam na luta contra o lado sombrio do desenvolvimento. É exatamente isso que as sensações devem ser realmente novas: entender pela décima vez que as nuances da "nova" API de outra rede social rapidamente se tornam uma rotina velada.

O trabalho responsável por si só contribui para o desenvolvimento do primeiro tipo de conhecimento, o que melhora as habilidades de um especialista restrito. Ao mesmo tempo, o segundo tipo também é reabastecido, mas muito lentamente, espontaneamente e incontrolavelmente. E isso significa insatisfatório. Mas quero saber mais, poder melhorar, corar com menos frequência por minhas decisões, levantar meu nariz mais alto.
No artigo, descrevo minha abordagem, o que me ajuda a preencher de maneira mais eficaz as lacunas no conhecimento e também com grande prazer de me engajar no gamedev como hobby.
A principal solução aqui é simples e conhecida por todos: auto-educação. Pode assumir várias formas: um projeto adicional para um hobby; cursos e seminários educacionais
(texto / áudio / vídeo) ; concursos e competições; livros. Para mim, os livros se tornaram os mais úteis e eficazes; portanto, os exemplos de métodos de aprendizado supervisionado que eu uso serão descritos usando seus exemplos.
Qual é o problema? Pegue e leia!
Ler literatura técnica especial não é apenas útil e interessante, mas ainda difícil, entediante e longo, às vezes. É claro que há momentos muito fascinantes que descrevem um padrão elegante ou uma anedota sobre a decisão malsucedida de outra pessoa no desenvolvimento com batentes óbvios
(talvez até o mesmo que o seu) . Mas, basicamente, esses livros perdem para seus irmãos divertidos, especialmente depois de um dia agitado, quando você quer relaxar mais e não se exercitar.
Aqui está o que torna mais fácil passar um tempo relaxante: “Selfish Gene”, de Dawkins, ou “Perfect Code”, de McConnell; Sangue de Shrider, suor e pixels, ou padrões de design de Freeman? (
Embora, para ser justo, vale acrescentar que todos esses livros foram os mais fascinantes da lista ).
Aqui começou um livro útil. Está tudo bem agora?
Mas não. Atrás de si mesmo, ele percebeu que, pela primeira vez, começou a ler o Código Perfeito de McConnell, que diminuiu a velocidade lendo em algum lugar no meio. E de alguma forma você pode fazer uma pausa calma por semana, duas semanas ... depois ler uma hora ... e novamente uma pausa por uma semana. Um livro pode ser lido por anos, mas não concluído, mas ainda existe um falso senso de progresso gradual. E o sentimento de vergonha por longos intervalos desencoraja discretamente qualquer desejo de retornar a um objeto que oferece tantas experiências desagradáveis.
Então quem é o inimigo?
Meu inimigo era uma falta de visibilidade. Quando você não vê uma tarefa constantemente pressionada, parece que não. E você pode colocá-lo em uma caixa longa. Eu não tinha ferramentas para resolver esse problema, mas ainda encontrei uma adequada para mim. E esta é uma tabela simples de capital de carreira no Google Docs. Qualquer mesa serve, inclusive em papel. Encontrei essa técnica no livro de Nyuport, "Trabalhando com a cabeça". Ele tem vários métodos lá, mas esse veio até mim.
Metodologia “Tabela de capital de carreira”
Regras básicas:
- Crie uma tabela com 3 colunas: Data; Horas gastas; Tarefas a serem executadas.
- No final de cada dia, preencha a próxima linha da tabela. Uma lista de tarefas significativas para a autoeducação está incluída nas Tarefas que estão sendo executadas e quantas horas foram investidas em cada uma das tarefas. Em "Horas gastas" é a soma das horas por tarefa.
- Se nem uma única tarefa foi concluída em um dia, coloque traços e zeros para que eles calassem os olhos.
- Inclua apenas tarefas que sejam significativas para o seu aprendizado. O reparo em um apartamento geralmente pode ser mais importante que a auto-educação, mas você não deve incluí-lo aqui. No entanto, essa regra é muito embaçada.
- É preferível definir tarefas no formato SMART, ou seja: específicas (leia o livro A); mensurável (1 livro é lido e compreendido); alcançável (eu já li livros semelhantes e essa força); relevante (meus algoritmos diminuem a velocidade! Há algo a ser feito com isso); indicando o prazo para entrega (máximo de 2 meses para leitura).
- O número total de tarefas atuais não deve ser muito grande para não ser pulverizado. Para mim, são cerca de 6 tarefas. Ao mesmo tempo, a regra é estritamente observada que, ao mesmo tempo, você não pode ler mais de dois livros.
- No final do mês, todas as horas são resumidas e comparadas com a sua média. Se mais do que a média - nos sentimos muito bem; se abaixo da média - ainda nos sentimos bem; se abaixo do mínimo exigido, nos sentimos mal e ajustamos nosso comportamento ou diminuímos a barra mínima.
Isso é tudo - o método é muito simples. Para uma descrição detalhada com exemplos, você pode consultar um dos livros de Newport.
Em casa, trago um relógio com uma gradação de 0,25 horas (15 minutos).
Eu recebo de 30 a 120 horas por mês.
Bar mínimo: 30 horas.
Bar médio: 60 horas.
A mesa pode ser refinada, complicada e decorada com diagramas diferentes para uma visualização agradável.
E o bônus dessa abordagem é que você descobre quanto tempo leva para ler um livro. Enfim, o que exatamente você lê com mais frequência.
Abaixo, dou alguns dos livros com seus custos líquidos de leitura. Primeiro ensino técnico, depois ensino geral e fronteira (lista não cronológica).
- [40,25 horas] O código perfeito. McConnell.
- [1,75 horas] Guia e estratégia do Scrum.
- [34.50 horas] Inteligência artificial em jogos de computador. Alex J. Champandar.
- [26.50 horas] Padrões de design. Freeman, Freeman, Sierra.
- [24.75 horas] (inglês) Padrões na programação de jogos. Robert Nistrom.
- [17,50 horas] O gene egoísta. Dawkins.
- [5,50 horas] Criando um filho. Hyphenreuter.
- [8.00 horas] Para trabalhar com a cabeça. Nyuport.
- [12,75 horas] (inglês) Harry Potter 1.
- [9,75 horas] (inglês) Harry Potter 2.
- [11,25 horas] (inglês) Harry Potter 3.
- [22,75 horas] (inglês) Harry Potter 4.
- [26,75 horas] (inglês) Harry Potter 5.
- [18,25 horas] (inglês) Harry Potter 6.
- [19.75 horas] (inglês) Harry Potter 7.
- [5,50 horas] Freeriding. Mark Levy.
- [13.00 h.] (Português) Como ganhar amigos. Cornegey.
- [4,25 horas] Maquiavel. Soberano.
- [7,50 horas] Sangue, suor e pixels de Schreier.
- [23,75 horas] Tudo sobre cores. Lindsey.
Conclusão
Números secos dizem que os livros técnicos são lidos apenas a uma velocidade ligeiramente menor que os livros mais leves ou de ficção. Apenas técnico várias vezes mais espesso. E, ao mesmo tempo, muita literatura técnica para absorver é muito difícil.
A propósito, quero observar que a presença de alguns livros na lista não significa que eu gostei deles e os recomendo a alguém que não seja meus inimigos. Portanto, é impossível percebê-lo de qualquer maneira.
Para o desenvolvimento de jogos, posso aconselhar: "Código perfeito"; "Padrões de design"; "Padrões na programação de jogos"; "Sangue, suor e pixels"; "Tudo sobre cores."
Nos comentários, seria ótimo ver suas listas de livros recomendados.