
Este post é dedicado ao Dia Mundial da Criança. Quaisquer semelhanças não são coincidências.
Aos 10 anos, ganhei meu primeiro computador e um disco com o Visual Studio 6. Desde então, invento pequenas tarefas para mim — automatizar coisas, criar algum serviço web para três pessoas ou escrever um jogo que depois será excluído da Play Store por estar obsoleto. Claro, perdi os códigos fonte e escrevi códigos que teria vergonha de mostrar a alguém. E aos 10 anos, eu certamente não teria recusado um arquivo do futuro com todos os meus erros — para nunca cometê-los novamente.
Há algumas semanas, perguntei aos colegas da Yandex.Money o que eles aconselhariam a uma criança que deseja se tornar programador, e então lembrei de algumas coisas sobre mim. Assim surgiu este texto. Vamos conversar sobre isso.
Não recomendo gastar muita energia se debatendo na escolha, é melhor experimentar tudo e se envolver em várias áreas. Quando você entender o que há em termos gerais, poderá decidir sozinho em que direção deve seguir e de qual deve se afastar.
Sérgio, programador júnior
Infância
Qual é a atividade mais divertida na infância de um programador, quando ainda não existe internet?
Eu tive duas — desmontar todos os jogos de um disco de '800 jogos em português' com todos os programas de um disco de 'Tudo que um hacker precisa', e depois reescrever todos os jogos nos quais passei mais de 10 horas, do zero em Basic. Não importa o que você produza — mesmo que o resultado não importe.

Você pega, experimenta, rearranja os blocos, faz experimentos e alcança tudo o que pode. Você formata o Windows, leva 10 horas para reinstalá-lo. Tenta recuperar os drivers. Descobre como funciona o DOS. Entende como as jumper settings devem estar para que seu disco rígido funcione no computador do amigo (lá estão 200 megabytes de novos jogos!). Você mexe com software, hardware, desmonta e monta um computador. Você escreve um simulador de futebol por 13 anos, no final.
Quando não há nada, você se torna feliz com isso.
Não se deve subestimar a importância da autoavaliação. Na minha opinião, os novatos em TI subestimam o quanto precisarão controlar rigorosamente seu produto (e na análise também) e o quanto isso consome de tempo em comparação com a parte puramente criativa. E quanto mais interessante for o que você faz, mais complicado e demorado será o processo de verificação.
Isso é, claro, um conselho um tanto abstrato, mas se eu soubesse disso desde o começo.
E não recomendo focar em uma única direção na TI. Aqui também, ter uma visão ampla é importante.
Anna, analista de sistemas sênior
Escola secundária
Em algum momento, em um fórum da cidade de P, foi discutida programação — e surgiram tópicos com o título "Uma grande empresa está procurando programadores PHP". O texto do anúncio era este:
Uma grande empresa está procurando programadores PHP:
Para entender se você deve comparecer à entrevista, execute uma tarefa simples: escreva um programa em PHP que encontre números inteiros positivos x, y e z, de modo que x^5+y^5=z^5. (^ - potência).
Você pode responder aqui.Neste tópico, apenas algumas pessoas se manifestaram — incluindo eu. Com toda a minha inocência de dezesseis anos, respondi:
Realmente, é algo estranho. E também é necessário um computador forte para encontrar isso...
Pois com x,y,z <=1000, não existem tais números — isso é o primeiro ponto (fiz um pequeno teste em VB, até agora não tenho nada maior), e em segundo lugar, o computador fica travado.Sim, uma pegadinha, uma armadilha para iniciantes, sim, típico de troll, e daí? É óbvio que gastei algum tempo em um script simples, mas me esqueci completamente da existência do teorema de Fermat — o que o autor do tópico, o respeitável The_Kid, esclareceu no final.
O resultado é triste - em P, quase não há pessoas que conheçam matemática, mas cada segundo se considera um grande programador. Em três horas, em todos os fóruns onde postei a mensagem, houve cerca de duzentas visualizações... e apenas duas respostas corretas. E o teorema de Fermat está no currículo escolar, e as condições são tão simples que deveriam ser óbvias. A propósito, paralelamente, ao perguntar no MSN, 6 em 6 conhecidos estudantes de Novosibirsk responderam "É o teorema de Fermat".
E quem escolher para trabalhar depois disso?Na época, isso me causou uma onda de indignação no espírito de: "Se eu não escrevi sobre o teorema de Fermat, isso não significa que eu não o conheça" — uma clássica defesa. Estou triste agora? Não, isso também é uma lição para a vida toda. Como naquela vez em que meu jogo foi destacado na loja do Windows Phone na Indonésia, e duas semanas depois foi removido porque não atualizei algumas condições do EULA.
E absolutamente não está claro: se em uma grande empresa não há ninguém para contratar — quem deve ser então? O que fazer? Onde crescer?
Não pense que, ao obter um diploma, você se tornará um programador / taxista / matemático ou algo assim.
Chegaram os tempos em que os tópicos básicos no diploma (matemática, física, informática, filosofia) se tornam muito mais importantes do que os aplicados (programação, design em áreas específicas, etc.). A educação superior começou a se dividir em camadas – básica (engenharia) e aplicada. Devemos aprender não habilidades específicas, mas sim a forma de pensar, a abordagem científica, a compreensão de como resolver problemas e as soft skills.
Isso em relação à universidade. Para as habilidades aplicadas, a pessoa ainda terá toda a vida pela frente.
Oleg, analista de sistemas líder
Universidade
Você escreve código em C++, escreve código em Java. Toca em assembler, afasta a mão, mete-se em Qt e pensa, por que isso está acontecendo com você. No curso do quarto ano, a todos não importa mais em que você escreve seus importantes estágios, — os professores olham o código de qualquer maneira.
Claro, não é assim em todos os lugares — há universidades que são ótimas, mas lá aceitam estudantes que resolveram problemas do ACM na escola, que nas aulas extras extrairam tudo da teoria dos grafos e decoraram quanto de memória todos os algoritmos do mundo requerem.
Eu não fiz isso, não fui a aulas extras, apenas terminei minha classe de matemática, fazendo coisas interessantes ao mesmo tempo. Spoiler — em entrevistas, isso não será de nenhuma utilidade.
Primeiro, é melhor determinar o que você gosta em TI. Se você gosta de todas as áreas, será difícil. Aprender uma linguagem — não levará a nada, apenas causará confusão no futuro.
Yan, especialista em monitoramento financeiro
Uma história real — por um simulador de Windows, feito com um amigo de forma improvisada no 10º ano, na universidade você pode conseguir alguns exames e créditos automaticamente. Você pode até contar a todos como foi legal. O problema é que não foi legal — tinha uma arquitetura confusa, um código horrível e uma total ausência de quaisquer padrões.
Essas coisas precisam ser feitas com um único objetivo — ter seu próprio catálogo de erros. Embora isso não o proteja da síndrome do impostor, quando você se vê em uma grande empresa com alguns conhecimentos superficiais e pensa que estão prestes a te desmascarar.

Apoio, é mais importante ajudar com conselhos sobre o que fazer e onde encontrar informações, do que o contrário. E não é de todo assustador se no início ele tocar em algo às cegas. — A compreensão virá mais tarde. O importante é que ele goste.
Eric, engenheiro de testes.
Todos nós escrevemos planos de desenvolvimento — o que precisamos aprender, com o que devemos nos envolver no futuro próximo e como nos aprimorar. Mas parece que seria útil para todos nós escrever uma carta para nós mesmos no passado — aqui está a minha.
- Dedique um tempo, encontre um livro e instale aquele distribuidor do Ubuntu que você recebeu grátis da Canonical. Certamente há algum problema simples, o Ubuntu funciona em qualquer lugar. E o Linux será muito útil para você.
- Não tenha medo do terminal. O Volkov Commander, claro, cabe em um disquete, mas tente entender por que você precisa de todos esses comandos, faça amizade com a linha de comando. E os disquetes vão desaparecer. Os discos vão desaparecer. Os pen drives também vão desaparecer. Não se preocupe muito.
- Leia sobre algoritmos, entenda classificações, árvores e heaps. Leia livros.
- Para entender os fundamentos, cursos pagos não são necessários. Em breve, o YouTube estará disponível – você vai se surpreender.
- Não fique obcecado com o Basic. Há centenas de tecnologias no mundo que merecem sua atenção, e milhões de coisas que são mais interessantes do que desenhar formulários de usuário no Excel mais uma vez. Experimente pelo menos Python — e depois você se adapta.
- Aprenda a usar o Git, faça backup de todos os seus códigos-fonte. Crie pelo menos um aplicativo cliente-servidor para entender como eles funcionam. Entenda redes, switches e roteadores.
- E se você está lendo isso agora, significa que não foi em vão.
Conte nos comentários o que você diria a si mesmo no passado? Recomende algo para os atuais estudantes do ensino médio e universitários que ainda estão em uma encruzilhada tentando encontrar seu caminho. Vamos conversar sobre isso.
Fonte: habr.com
