Carreira de programação. Capítulo 1. Primeiro programa

Carreira de programação. Capítulo 1. Primeiro programaCaros leitores de Habr, apresento a vocês uma série de posts que futuramente pretendo combinar em um livro. Eu queria mergulhar no passado e contar minha história de como me tornei um desenvolvedor e continuo sendo um.

Sobre os pré-requisitos para entrar na TI, o caminho da tentativa e erro, do autoaprendizado e da ingenuidade infantil. Vou começar minha história desde a infância e terminá-la hoje. Espero que este livro seja especialmente útil para aqueles que estão apenas estudando uma especialidade de TI.
E quem já atua em TI provavelmente traçará paralelos com sua própria trajetória.

Neste livro você encontrará referências à literatura que li, à experiência de me comunicar com pessoas com quem me cruzei enquanto estudava, trabalhava e lançava uma startup.
Desde professores universitários até grandes investidores de risco e proprietários de empresas multimilionárias.
Até hoje, 3.5 capítulos do livro estão prontos, de 8 a 10 possíveis. Se os primeiros capítulos obtiverem resposta positiva do público, publicarei o livro inteiro.

Quem sou eu

Não sou John Carmack, Nikolai Durov ou Richard Matthew Stallman. Não trabalhei em empresas como Yandex, VKontakte ou Mail.ru.
Embora eu tivesse experiência de trabalho em uma grande empresa, sobre a qual com certeza falarei. Mas acho que a questão não está tanto no grande nome, mas na própria história do caminho para me tornar um desenvolvedor e, ainda mais, nas vitórias e derrotas que ocorreram durante meus 12 anos de carreira em desenvolvimento comercial. Claro, alguns de vocês têm muito mais experiência em TI. Mas acredito que vale a pena descrever os dramas e vitórias que ocorreram durante minha carreira atual. Houve muitos eventos e todos foram diversos.

Quem sou eu hoje como desenvolvedor
— Participou de mais de 70 projetos comerciais, muitos dos quais escreveu do zero
— Em uma dúzia de nossos próprios projetos: código aberto, startups
— 12 anos em TI. 17 anos atrás - escrevi o primeiro programa
- Pessoa mais valiosa da Microsoft 2016
— Profissional Certificado Microsoft
- Scrum Master Certificado
— Tenho um bom domínio de C#/C++/Java/Python/JS
— Salário — 6000-9000 $/mês. dependendo da carga
— Meu principal local de trabalho hoje é o intercâmbio freelancer Upwork. Através dele trabalho para uma empresa que lida com PNL/AI/ML. Tem uma base de 1 milhão de usuários
— Lançado 3 aplicativos na AppStore e GooglePlay
— Estou me preparando para fundar minha própria empresa de TI em torno do projeto que estou desenvolvendo atualmente

Além do desenvolvimento, escrevo artigos para blogs populares, ensino novas tecnologias e falo em conferências. Eu relaxo na academia e com minha família.

Provavelmente isso é tudo sobre mim no que diz respeito ao tema do livro. A seguir está minha história.

História. Começar.

Aprendi o que é um computador pela primeira vez quando tinha 7 anos. Acabei de começar a primeira série e na aula de artes nos deram lição de casa para fazer um computador de papelão, espuma de borracha e canetas hidrográficas. Claro que meus pais me ajudaram. Mamãe estudou em uma universidade técnica no início dos anos 80 e sabia em primeira mão o que era um computador. Durante o treinamento, ela até conseguiu perfurar cartões perfurados e carregá-los na gigante máquina soviética que ocupava a maior parte da sala de treinamento.

Concluímos nosso dever de casa com nota 5 porque fizemos tudo com diligência. Encontramos uma folha grossa de papelão A4. Recortamos círculos de brinquedos antigos de espuma e usamos canetas hidrográficas para desenhar a interface do usuário. Nosso aparelho tinha apenas alguns botões, mas minha mãe e eu atribuímos a eles as funcionalidades necessárias, e durante a aula mostrei à professora como ao apertar o botão “On” uma lâmpada se acendia no canto da “tela, ”enquanto desenha simultaneamente um círculo vermelho com uma caneta hidrográfica.

Meu próximo encontro com a tecnologia da computação aconteceu por volta da mesma idade. Nos finais de semana, muitas vezes visitava meus avós, que, por sua vez, vendiam diversas porcarias e também compravam de boa vontade por centavos. Relógios antigos, samovares, caldeiras, distintivos, espadas de guerreiros do século XIII e muito mais. Entre toda essa variedade de coisas, alguém trouxe para ele um computador que funcionava com uma TV e um gravador de áudio. Felizmente, minha avó tinha os dois. De fabricação soviética, é claro. TV Electron com oito botões para mudança de canal. E um gravador Vega de duas fitas, que podia até regravar fitas de áudio.
Carreira de programação. Capítulo 1. Primeiro programa
Computador soviético “Poisk” e periféricos: TV “Electron”, gravador “Vega” e cassete áudio com linguagem BASIC

Começamos a descobrir como todo esse sistema funciona. Incluídos com o computador estavam algumas fitas cassete, um manual de instruções muito gasto e outro folheto com o título “Linguagem de programação BASIC”. Apesar da infância, procurei participar ativamente do processo de conexão dos cabos do gravador e da TV. Em seguida, inserimos uma das fitas no compartimento do gravador, pressionamos o botão “Avançar” (ou seja, iniciamos a reprodução) e pseudográficos incompreensíveis de texto e traços apareceram na tela da TV.

A unidade principal em si parecia uma máquina de escrever, apenas bastante amarelada e com peso perceptível. Com a empolgação de uma criança, apertei todas as teclas, não vi nenhum resultado tangível, corri e fui passear. Embora já naquela época eu tivesse diante de mim um manual da linguagem BASIC com exemplos de programas que, devido à minha idade, simplesmente não conseguia reescrever.

Das lembranças de infância, certamente me lembro de todos os gadgets que meus pais compraram para mim, tendo trabalhado com outros parentes. O primeiro chocalho foi o conhecido jogo “Wolf Catches Eggs”. Terminei bem rápido, vi o tão esperado desenho animado no final e queria algo mais. Depois houve Tetris. Naquela época valia 1,000,000 de cupons. Sim, foi na Ucrânia, no início dos anos 90, e recebi um milhão pelo meu sucesso acadêmico. Me sentindo merecidamente milionário, encomendei para meus pais este jogo mais complexo, onde eles tinham que arrumar corretamente figuras de diferentes formatos caindo de cima. No dia da compra, Tetris foi tirado de mim incontrolavelmente pelos meus pais, que por dois dias não conseguiram se livrar dele.

Carreira de programação. Capítulo 1. Primeiro programa
Famoso "Lobo pega ovos e Tetris"

Depois vieram os consoles de jogos. Nossa família morava em uma casa pequena, onde meu tio e minha tia também moravam no quarto ao lado. Meu tio era piloto militar, passou por pontos críticos, então apesar do pudor era muito tenaz e tinha pouco medo, depois de verdade
operações militares. Assim como muitas pessoas nos anos 90, meu tio abriu um negócio e tinha uma renda muito boa. Assim, uma TV importada, um videocassete e depois um decodificador Subor (análogo ao Dendy) apareceram em seu quarto. Fiquei sem fôlego vê-lo jogar Super Mario, TopGun, Terminator e outros jogos. E quando ele entregou o joystick em minhas mãos, minha felicidade não teve limites.

Carreira de programação. Capítulo 1. Primeiro programa
Console de oito bits "Syubor" e o lendário "Super Mario"

Sim, como todas as crianças comuns que cresceram nos anos noventa, passei o dia todo no quintal. Ou jogando bola pioneira, ou badminton, ou subindo nas árvores do jardim, onde cresciam muitas frutas diferentes.
Mas esse novo produto, quando você pode controlar Mario, pular obstáculos e salvar a princesa, foi muitas vezes mais interessante do que qualquer buff de cego, ladushka e clássicos. Portanto, vendo meu interesse genuíno pelos prefixos, meus pais me deram a tarefa de aprender a tabuada. Então eles realizarão meu sonho. Eles a ensinam na segunda série e eu acabei de terminar a primeira. Mas, dito e feito.

Era impossível pensar numa motivação mais forte do que ter a sua própria consola de jogos. E em uma semana eu estava respondendo facilmente às perguntas “sete nove”, “seis três” e assim por diante. O teste foi aprovado e eles me compraram o cobiçado presente. Como você aprenderá mais adiante, os consoles e os jogos de computador desempenharam um papel significativo no meu interesse por programação.

Foi assim que aconteceu ano após ano. A próxima geração de consoles de jogos estava sendo lançada. Primeiro Sega de 16 bits, depois Panasonic e depois Sony PlayStation. Os jogos eram meu entretenimento quando eu era bom. Quando acontecia algum tipo de problema na escola ou em casa, tiravam meus joysticks e, claro, eu não conseguia jogar. E claro, aproveitar o momento em que você voltava da escola, e seu pai ainda não tinha voltado do trabalho para ocupar a TV, também foi uma espécie de sorte. Portanto, é impossível dizer que eu era viciado em jogos ou que passava o dia inteiro jogando. Não houve essa oportunidade. Prefiro passar o dia inteiro no quintal, onde também poderia encontrar alguma coisa
interessante. Por exemplo, um jogo completamente selvagem - tiroteios aéreos. Hoje em dia não se vê algo assim nos pátios, mas naquela época era uma verdadeira guerra. Paintball é apenas uma brincadeira de criança comparado com a carnificina que causamos. Havia balões de ar
carregado com balas de plástico densas. E depois de atirar em outro cara à queima-roupa, ele deixou um hematoma na metade do braço ou na barriga. É assim que vivíamos.

Carreira de programação. Capítulo 1. Primeiro programa
Arma de brinquedo desde a infância

Não seria supérfluo mencionar o filme “Hackers”. Foi lançado apenas em 1995, estrelado por Angelina Jolie, de 20 anos. Dizer que o filme me impressionou fortemente é não dizer nada. Afinal, o pensamento das crianças percebe tudo pelo seu valor nominal.
E como esses caras limparam caixas eletrônicos, desligaram semáforos e brincaram com eletricidade por toda a cidade - para mim foi mágico. Então me ocorreu o pensamento de que seria legal se tornar tão onipotente quanto os hackers.
Alguns anos depois, comprei todas as edições da revista Hacker e tentei hackear o Pentágono, embora ainda não tivesse Internet.

Carreira de programação. Capítulo 1. Primeiro programa
Meus heróis do filme "Hackers"

Uma verdadeira descoberta para mim foi um PC real, com um monitor de lâmpada de 15 polegadas e uma unidade de sistema baseada em um processador Intel Pentium II. Claro, foi comprado por seu tio, que no final dos anos XNUMX já havia crescido o suficiente para poder pagar
tais brinquedos. A primeira vez que ativaram um jogo para mim, não foi muito emocionante. Mas um dia chegou o dia do julgamento, as estrelas se alinharam e viemos visitar nosso tio, que não estava em casa. Perguntei:
— Posso ligar o computador?
“Sim, faça o que quiser com ele”, respondeu a amorosa tia.

Claro, eu fiz o que quis com ele. Havia ícones diferentes na área de trabalho do Windows 98. WinRar, Word, FAR, Klondike, jogos. Após clicar em todos os ícones, minha atenção se concentrou no FAR Manager. Parece uma tela azul incompreensível, mas com uma longa lista (de arquivos) que podem ser iniciados. Ao clicar em cada um deles, percebi o efeito do que estava acontecendo. Alguns funcionaram, outros não. Depois de um tempo, percebi que os arquivos que terminam em “.exe” são os mais interessantes. Eles lançam diversas fotos legais nas quais você também pode clicar. Provavelmente lancei todos os arquivos exe disponíveis no computador do meu tio, e então eles mal me puxaram pelas orelhas do brinquedo superinteressante e me levaram para casa.

Carreira de programação. Capítulo 1. Primeiro programa
O mesmo gerente FAR

Depois surgiram os clubes de informática. Meu amigo e eu íamos lá muitas vezes para jogar Counter Strike e Quake online, o que não podíamos fazer em casa. Muitas vezes pedia troco aos meus pais para poder jogar meia hora no clube. Vendo meus olhos, como o gato do Shrek, eles me ofereceram outro contrato lucrativo. Termino o ano letivo sem nota C e eles me compram um computador. O contrato foi assinado no início do ano, em setembro, e o cobiçado PC deveria chegar já em junho, sujeito ao cumprimento dos acordos.
Eu tentei o meu melhor. Até vendi meu querido Sony Playstation por emoção para me distrair menos dos estudos. Embora eu fosse um aluno mais ou menos, o 9º ano foi significativo para mim. Nariz sangrando, eu só precisava tirar boas notas.

Já na primavera, antecipando a compra de um PC, aconteceu provavelmente o acontecimento mais significativo da minha vida. Tento pensar no futuro e, um belo dia, disse ao meu pai:
- Pai, não sei usar computador. Vamos nos inscrever nos cursos

Dito e feito. Ao abrir o jornal com anúncios, o pai encontrou um bloco escrito em letras pequenas com o título "Cursos de informática". Liguei para os professores e alguns dias depois já estava fazendo esses cursos. Os cursos aconteciam do outro lado da cidade, em um antigo prédio de painéis Khrushchev, no terceiro andar. Em uma sala havia três PCs seguidos, e aqueles que queriam estudar eram treinados neles.

Lembro-me da minha primeira lição. O Windows 98 demorou muito para carregar, aí o professor tomou a palavra:
- Então. Aqui está uma área de trabalho do Windows. Ele contém ícones de programas. Na parte inferior está o botão Iniciar. Lembrar! Todo o trabalho começa com o botão Iniciar. Clique nele com o botão esquerdo do mouse.
Ele continuou.
- Aqui - você vê os programas instalados. Calculadora, Bloco de Notas, Word, Excel. Você também pode desligar o computador clicando no botão “Desligar”. Tente.
Finalmente ele passou para a parte mais difícil para mim naquele momento.
“Na área de trabalho”, disse o professor, você também pode ver programas que podem ser iniciados com um clique duplo.
- Dobro!? - Como é isso em geral?
- Vamos tentar. Inicie o Bloco de Notas clicando duas vezes nele com o botão esquerdo do mouse.

Sim, idiota. O mais difícil naquele momento foi segurar o mouse no mesmo lugar e ao mesmo tempo clicar duas vezes rapidamente. No segundo clique, o mouse estremeceu um pouco e o atalho junto com ele. Mesmo assim, consegui superar uma tarefa tão intransponível durante a aula.
Depois houve treinamento em Word e Excel. Um dia, eles simplesmente me deixaram ver fotos da natureza e de monumentos arquitetônicos. Foi a atividade mais interessante da minha memória. Muito mais divertido do que aprender a formatar texto no Word.

Ao lado do meu PC, outros alunos estudavam. Algumas vezes me deparei com caras que estavam escrevendo programas, enquanto discutiam acaloradamente esse processo. Isso também me interessou. Lembrando do filme Hackers e cansado do MS Office, pedi para ser transferido para cursos
programação. Como todos os acontecimentos significativos da vida, isso aconteceu espontaneamente, por interesse.

Cheguei à minha primeira aula de programação com minha mãe. Não me lembro por quê. Aparentemente ela teve que negociar novos cursos e efetuar o pagamento. Era primavera lá fora, já estava escuro. Percorremos toda a cidade em microônibus-Gazelle até a periferia, chegamos ao famoso
painel Khrushchev, subiu ao chão e nos deixou entrar.
Eles me sentaram no computador final e abriram um programa com tela totalmente azul e letras amarelas.
- Este é o Turbo Pascal. A professora comentou sua ação.
- Olha, aqui escrevi uma documentação de como funciona. Leia e dê uma olhada.
Na minha frente havia uma tela de texto amarelo e absolutamente incompreensível. Tentei descobrir algo por mim mesmo, mas não consegui. Gramática chinesa e é isso.
Finalmente, depois de algum tempo, o líder do curso me entregou um pedaço de papel A4 impresso. Nele estava escrita alguma coisa estranha, que eu já havia vislumbrado nos monitores dos caras dos cursos de programação.
- Reescreva o que está escrito aqui. A professora comandou e saiu.
Comecei a escrever:
programa Summa;

Escrevi, procurando simultaneamente letras inglesas no teclado. No Word, pelo menos treinei russo, mas aqui tenho que aprender outras letras. O programa foi digitado com um dedo, mas com muito cuidado.
começo, fim, var, inteiro - O que é isso? Embora eu tenha estudado inglês desde a primeira série e soubesse o significado de muitas palavras, não conseguia conectar tudo. Como um urso treinado em uma bicicleta, continuei a pedalar. Finalmente algo familiar:
writeln('Digite o primeiro número');
Então - writeln('Digite o segundo número');
Então - writeln('Resultado = ',c);
Carreira de programação. Capítulo 1. Primeiro programa
Aquele primeiro programa Turbo Pascal

Ufa, eu escrevi. Tirei as mãos do teclado e esperei que o guru aparecesse para obter mais instruções. Finalmente ele veio, examinou a tela e me disse para pressionar a tecla F9.
“Agora o programa está compilado e verificado em busca de erros”, disse o guru
Não houve erros. Aí ele disse para apertar Ctrl+F9, que também tive que explicar passo a passo pela primeira vez. O que você precisa fazer é segurar Ctrl e pressionar F9. A tela ficou preta e finalmente apareceu uma mensagem que entendi: “Digite o primeiro número”.
Ao comando do professor, digitei 7. Depois o segundo número. Eu digito 3 e pressiono Enter.

A linha 'Resultado = 10' aparece na tela na velocidade da luz. Foi uma euforia e eu nunca tinha experimentado nada parecido antes na minha vida. Foi como se todo o Universo se abrisse diante de mim e eu me encontrasse em uma espécie de portal. O calor passou pelo meu corpo, um sorriso apareceu em meu rosto e em algum lugar bem no fundo do subconsciente eu percebi - que isso é meu. De forma muito intuitiva, a nível emocional, comecei a sentir o enorme potencial desta caixa vibrante debaixo da mesa. Há tantas coisas que você pode fazer com as próprias mãos, e ela fará isso!
Que isso é algum tipo de mágica. Estava completamente além da minha compreensão como aquele texto amarelo e incompreensível em uma tela azul se transformou em um programa conveniente e compreensível. O que também conta! O que me surpreendeu não foi o cálculo em si, mas o fato dos hieróglifos escritos terem se transformado em calculadora. Houve uma lacuna entre esses dois eventos naquela época. Mas intuitivamente senti que esta peça de hardware poderia fazer quase tudo.

Quase todo o caminho para casa no microônibus, senti como se estivesse no espaço. Essa imagem com a inscrição “Resultado” estava girando na minha cabeça, como aconteceu, o que mais essa máquina pode fazer, posso escrever algo sozinho sem um pedaço de papel. Mil perguntas que me interessaram, entusiasmaram e inspiraram ao mesmo tempo. Eu tinha 14 anos. Naquele dia a profissão me escolheu.

Para ser continuado ...

Fonte: habr.com

Adicionar um comentário