Carreira de programação. Capítulo 3. Universidade

Continuação da história "Carreira de Programador".

Terminada a escola noturna, era hora de ir para a universidade. Em nossa cidade havia uma universidade técnica. Contava também com uma faculdade de “Matemática e Ciências da Computação”, que contava com um departamento de “Sistemas de Computação”, onde formavam futuros trabalhadores de TI - programadores e administradores.
A escolha foi pequena e candidatei-me à especialidade “Programação em Engenharia Informática”. Havia 2 vestibulares pela frente. Em linguagem e matemática.
Os exames foram precedidos de entrevista, e da escolha da forma de formação - orçamento ou contrato, ou seja. grátis ou por dinheiro.

Meus pais estiveram presentes na minha entrevista e ficaram preocupados com a admissão. Claro, eles escolheram a forma contratual de treinamento. A propósito, custou cerca de US$ 500/ano, o que era muito dinheiro em 2003, especialmente para a nossa pequena cidade. Lembro-me bem do diálogo do meu pai com a moça da secretaria:
A menina: Você pode tentar passar nos exames dentro do orçamento e, se não funcionar, mude para um contrato. Você pode pagar parcelado.
Pai: Não, já decidimos que vamos solicitar um contrato
A menina: Bem, por que, você não arrisca nada
Pai: Não, ainda é um risco. Diga-me, todos estão solicitando um contrato?
A menina: Sim, todo mundo faz. Provavelmente apenas idiotas completos não conseguem
Pai: Então temos uma chance... disse ele sorrindo, e assinamos os documentos de admissão

É claro que as apresentações do ensino médio ainda estavam frescas na memória dos meus pais, então, com o passar dos anos, entendi por que disseram isso.

No verão, antes da admissão, continuei a comprar livros pelos US$ 40 que minha avó me deu de sua pensão.
Do memorável e significativo:
1. "UML 2.0. Análise e design orientado a objetos". Um livro que me ensinou como projetar software de qualquer complexidade, pensar na arquitetura, dividir tudo em componentes, escrever casos de uso e desenhar diagramas UML. Este é o conhecimento que idosos, líderes e arquitetos precisam. Aqueles que materializam um sistema a partir do vazio, quando só há a descrição da ideia.
Conheço pessoas que já têm mais de 30 anos e ainda não conseguem tomar uma decisão a menos que haja uma ordem superior, de um desenvolvedor de alto escalão. No trabalho freelancer e remoto, quando você costuma trabalhar individualmente com um cliente, esse conhecimento também é inestimável.
Eles também são relevantes para desenvolvedores independentes que criam novos aplicativos e serviços. Embora poucas pessoas se preocupem com o design detalhado. É por isso que temos softwares dessa qualidade, engolindo toda a memória, com uma UX torta.
2. "Padrão ANSI C++ 98". Não é bem um livro, mas tem mais de 800 páginas de informações básicas. É claro que não li seção por seção, mas me referi a regras específicas da linguagem ao desenvolver meu compilador C++. A profundidade do conhecimento da linguagem, após estudar e implementar o padrão, não pode ser descrita por nenhum epíteto maravilhoso. Podemos dizer que você sabe tudo sobre o idioma e ainda mais. Trabalho muito longo e meticuloso para estudar o padrão. Mas eu tinha 5 anos de universidade pela frente, então ninguém estava me pressionando
3. "Delphi 6. Guia prático.". Foi um salto rápido para o mundo da GUI e do aprimoramento de formulários. Quase não havia limite de entrada e eu já conhecia muito bem Pascal. Enquanto estudava na universidade, escrevi a maior parte dos programas comerciais em Delphi. Este era um software para estudantes de pós-graduação, contabilidade para pequenas empresas e governo. instituições. Depois, houve vários pedidos freelance. Em meados dos anos XNUMX, o Delphi dominou o mercado de desenvolvimento do Windows. Até agora, no caixa das lojas locais você pode ver programas com fontes e controles familiares, o que distingue imediatamente um aplicativo Delphi de qualquer outro.
4. "Tutorial MFC". Tendo dominado o Delphi, era lógico continuar criando UI em C++. Foi muito mais difícil, nem tudo deu certo e foi compreensível. Porém, também trouxe essa tecnologia para a fase de aplicação em projetos comerciais. Uma empresa alemã de antivírus distribui meu programa, escrito em MFC até hoje.
5. "3 discos com MSDN Library 2001". Não tive Internet imediatamente e, pelo que me lembro, a Biblioteca MSDN não estava online em 2003. De qualquer forma, foi mais fácil instalar o livro de referência do MSDN em meu PC local e encontrar facilmente a documentação para qualquer função WinApi ou classe MFC.
Carreira de programação. Capítulo 3. Universidade
Os livros mais significativos lidos no período 2002-2004

São livros que foram lidos no período 2002-2004. Claro, agora este é um legado miserável, que está sendo reescrito em lotes usando tecnologias .NET e Web. Mas este é o meu caminho, talvez alguns de vocês tenham tido um caminho semelhante.

Primeiro semestre

No final do verão, é hora de fazer o vestibular. Tudo correu bem. Passei no exame de linguagem e matemática e fui matriculado no primeiro ano da especialidade Programação de Sistemas de Computação.
No dia primeiro de setembro, como esperado, fui às primeiras aulas da minha vida. “O tempo de estudante é o momento mais brilhante da vida”, disse-me minha mãe. Eu acreditei de bom grado.
No primeiro dia foram aprovadas 3 duplas de disciplinas de ensino geral, todos se conheceram no grupo e no geral a universidade deixou uma impressão agradável.
Finalmente eles começaram a nos ensinar a verdadeira programação em C! E, além disso, ensinaram história da informática, tecnologia digital e muitas outras informações que foram relevantes para mim. Até xingando. a análise foi útil, pois me permitiu compreender mais profundamente o que escreveu o profundamente respeitado Donald Knuth.

As aulas de programação aconteceram em um ambiente estimulante para mim. Finalmente, as pessoas vieram até mim em busca de ajuda. Eu me senti necessário. No início da aula, recebemos a tarefa de escrever um programa. A tarefa foi projetada para um par e meio, depois meia hora para teste. Consegui escrever a tarefa em 3 a 5 minutos e, no resto do tempo, andei pelo escritório e ajudei outras pessoas a resolver o problema.
Não havia computadores suficientes para todo o grupo, então na maioria das vezes sentávamos dois de cada vez em um PC. Vendo minhas habilidades, três, quatro, às vezes até 5 a 6 pessoas sentaram-se perto da minha mesa e não hesitaram em sentar para aprender o que aprendi alguns anos atrás no livro de Kernighan e Ritchie.
Meus colegas viram minhas habilidades e fizeram perguntas ou se ofereceram para sair depois das aulas. Foi assim que fiz muitos amigos, muitos dos quais ainda hoje somos amigos.

No inverno, chegou a hora da primeira sessão. No total, foi necessário cursar 4 disciplinas: 2 tipos de matemática superior, história e programação. Tudo passou, uns 4 pontos, uns 3. E fui designado para programar automaticamente. Os professores já conheciam minhas habilidades, então não viam sentido em me testar. Felizmente, compareci à sessão com meu livro de registros para obter imediatamente uma assinatura e estava prestes a voltar para casa quando meus colegas me pediram para ficar do lado de fora da porta. Bem. Depois de me colocar no parapeito da janela, na saída do escritório, comecei a esperar. Havia outro cara ao meu lado, que também passou no exame automaticamente.
“Por que você está ficando aqui?” eu perguntei
— “Quero ganhar dinheiro resolvendo problemas. Por quê você está aqui?
- "Eu também. Eu simplesmente não vou ganhar dinheiro. Se você precisar de ajuda, então, pela bondade do meu coração, eu simplesmente decidirei.”
Meu oponente hesitou e murmurou algo em resposta.

Depois de um tempo, os colegas começaram a se afastar da plateia, levando consigo pedaços de papel dobrados que continham os problemas da prova.
“Ajude-me a decidir”, pediu o primeiro temerário. “Ok, vou decidir agora”, respondi. Nem mesmo 5 minutos se passaram antes que eu rabiscasse uma solução em um pedaço de papel amassado com uma caneta esferográfica e devolvesse. Vendo que o esquema estava funcionando, as pessoas começaram a sair da plateia com muito mais frequência, às vezes até duas ou três de cada vez.
Havia três pilhas de folhas no parapeito da minha janela de trabalho. Um pacote contém folhas TODO recém-chegadas. Na minha frente estava uma folha de Em andamento e ao lado dela estava um pacote de “Concluído”.
Este foi o meu melhor momento. Todo o grupo, que era de quase 20 pessoas, recorreu a mim em busca de ajuda. E ajudei a todos.
E o cara que queria ganhar dinheiro saiu às pressas depois de alguns minutos, percebendo que não havia nada para pegar aqui, todas as atenções se voltaram para o altruísta.
Todo o grupo passou no exame com 4ª e 5ª notas, e agora tenho 20 amigos e autoridade inabalável em assuntos de programação.

Primeiro dinheiro

Depois da sessão de inverno, espalharam-se por todo o corpo docente rumores de que havia um cara que poderia resolver qualquer problema de programação, que nos era atribuído em casa ou durante a sessão. E o boca a boca se espalhou não apenas entre os calouros, mas também entre os alunos do último ano.
Como já escrevi, desenvolvi relações de amizade com todos do grupo após o “melhor momento” do exame e começamos a nos comunicar de perto com alguns rapazes. Tornamo-nos amigos de verdade e passamos muito tempo fora da universidade. Para simplificar a apresentação, vamos chamá-los de Elon e Alen (os apelidos são próximos dos reais).
Chamamos Elon pelo nome, mas Alain foi apelidado em homenagem a Alain Delon, por sua habilidade de seduzir qualquer beldade. As meninas literalmente circulavam ao redor dele, em números variados. Em termos de conhecer pessoas e iniciar relacionamentos noturnos, Alain Delon não tinha igual. Ele era um verdadeiro macho alfa para o sexo feminino, o que é completamente incomum para a maioria dos especialistas em TI. Além dos casos amorosos, Alain era designer por vocação. E se ele precisasse desenhar algo, por exemplo, os então populares banners piscantes do formato Web 1.0, ele o fazia com facilidade.

Muito mais pode ser dito sobre Elon. Ainda nos encontramos com ele até hoje, dez anos depois da universidade. Nos primeiros anos ele era um cara magro e bastante silencioso. (O mesmo não pode ser dito do cara grande de hoje em um jipe). No entanto, eu era o mesmo - magro e taciturno. Portanto, acho que rapidamente encontramos uma linguagem comum.
Muitas vezes, depois das aulas, eu, Elon e Alen nos reuníamos em uma cervejaria, coberta com uma lona. Em primeiro lugar, ficava do outro lado da rua da universidade e, em segundo lugar, por um “rublo” e 50 copeques, era possível conseguir algumas guloseimas por 2 horas de uma festa incendiária. Como chope e biscoitos. Mas a questão era diferente.
Elon e Alen eram de outras cidades e moravam em um quarto alugado. Eles estavam constantemente sem dinheiro e havia momentos em que passavam fome. Momentos felizes, quando receberam uma bolsa de estudos de US$ 10 no cartão, foram comemorados no mesmo dia e então chegou a hora de “apertar o cinto” e viver do que Deus manda.

É claro que esta situação motivou os estudantes visitantes a procurarem formas de ganhar dinheiro extra. E na frente deles, com os braços estendidos, estava sentada uma “cabeça brilhante” na minha forma. Que também é flexível e raramente se recusa a ajudar as pessoas.
Não sei se descrevi essa situação corretamente, mas no final das contas essas reuniões no pub levaram à criação da primeira empresa de TI da minha carreira, chamada SKS. O nome era simplesmente composto pelas primeiras letras dos nossos sobrenomes. Nossa jovem empresa, representada por três fundadores, destruiu os concorrentes e toda a universidade nos quatro anos seguintes.

Elon era um ROP. Ou seja, o chefe do departamento de vendas. Nomeadamente, as suas responsabilidades incluíam encontrar novos clientes para o nosso negócio de outsourcing. O canal de vendas eram folhetos A4 impressos horizontalmente, com uma inscrição simples: “Resolvendo problemas de programação”. E abaixo está o número de telefone de Elon.
Esse tipo de publicidade externa foi colocada em todos os andares onde podiam aparecer os alunos que estudavam programação.
Outro, mais forte em termos de fidelização de clientes, foi o canal de vendas boca a boca.

O modelo de negócios era simples. Seja através de uma recomendação ou de um anúncio, um estudante universitário entrou em contato conosco. Ele descreveu um problema de programação que precisava ser resolvido dentro de um determinado prazo, e eu resolvi pagando o preço do estudante. Elon estava envolvido com vendas e recebia sua porcentagem. Alain Delon participava menos do nosso negócio, mas se precisávamos fazer um design, uma imagem ou atrair mais clientes, ele sempre ajudava. Com seu charme, ele trouxe muita gente nova para nós. Tudo o que tive que fazer foi processar esse pipeline a uma velocidade de 5 a 10 tarefas por dia. Os prazos eram rígidos - não mais que uma semana. E na maioria das vezes, isso tinha que ser feito ontem. Portanto, tais circunstâncias rapidamente me ensinaram a escrever programas em um “fluxo”, sem me distrair com cada pequena coisa, como um terremoto de magnitude 5,9 ou um grande acidente fora da janela.

Na época mais quente, antes da sessão, ou seja, em dezembro e maio, parecia que eu tinha todas as tarefas da universidade no meu computador. Felizmente, a maioria deles eram do mesmo tipo, principalmente quando fomos contatados por um atacadista representado por um representante de todo um grupo. Depois foi possível fazer 20 tarefas, por exemplo em assembler, alterando apenas 2 a 3 linhas. Nessa época, os leads fluíam como um rio. A única coisa que faltava eram disquetes. Em 2003-2005, os estudantes pobres da nossa cidade não tinham transferência de dinheiro pela Internet. Além disso, não havia garantias de pagamento, o que hoje é chamado de caução. Portanto, a empresa SKS, como atendente de pedidos, marcou um encontro no território da universidade e demos disquete com uma solução. Quase não houve reembolso (do reembolso inglês - devolução do pagamento a pedido do cliente). Todos ficaram felizes e receberam de 4 a 5 pontos se pudessem aprender o que adicionei ao arquivo readme.txt no disquete. Embora uma simples demonstração de um programa totalmente funcional também causasse um efeito surpreendente entre os professores.

O preço era ridículo, claro, mas aceitamos em quantidade. Por exemplo, uma tarefa doméstica típica custa entre 2 e 3 dólares. Curso 10$. O jackpot na forma de um programa para o trabalho de um candidato caiu uma vez, e chegou a US$ 20 para uma inscrição para um estudante de pós-graduação que se preparava para sua defesa. Na estação quente, essa renda pode ser multiplicada por 100 clientes, o que acaba superando o salário médio da cidade. Nós nos sentimos bem. Eles poderiam pagar por boates e se divertir lá, em vez de engasgar com cheburek até o último centavo.

Do ponto de vista das minhas habilidades, elas se multiplicaram a cada nova tarefa do aluno. Começámos a receber candidaturas de outras faculdades, com um programa de formação diferente. Alguns alunos do último ano já estavam usando Java e XML em todo o seu potencial quando estávamos aprendendo C++/MFC. Alguns precisavam de Assembler, outros de PHP. Aprendi todo um zoológico de tecnologias, bibliotecas, formatos de armazenamento de dados e algoritmos para resolver problemas.
Esse universalismo permanece comigo até hoje. Uma variedade de tecnologias e plataformas também são usadas ao trabalhar em projetos. Agora posso escrever software ou aplicativo para qualquer plataforma, sistema operacional ou dispositivo. A qualidade, claro, vai variar, mas para o negócio que atuo principalmente, o orçamento costuma ser importante. E uma orquestra de um homem só para eles significa cortar o orçamento exatamente tanto quanto o número de desenvolvedores que posso substituir com minhas habilidades.

Se falarmos do maior benefício que estudar na universidade me trouxe, não seriam palestras sobre algoritmos ou filosofia. E não “aprenderá a aprender”, como está na moda dizer sobre as universidades. Em primeiro lugar, serão pessoas com quem mantivemos relações amigáveis ​​​​após o treinamento. E em segundo lugar, esta é a mesma empresa SKS que me transformou em um desenvolvedor profissional, com pedidos reais e diversos.
Gostaria de lembrar uma frase que se adapta muito bem a esta parte da história: Uma pessoa se torna um programador quando outras pessoas começam a usar seus programas e pagam por isso..

Assim, a marca da empresa SKS tornou-se amplamente conhecida não só no meio estudantil, mas também entre os professores. Houve até um caso em que um dos professores veio à minha casa para que eu pudesse ajudá-lo a escrever um programa para suas necessidades científicas. Ele, por sua vez, me ajudou na especialização. Nós dois ficamos tão absortos em nosso trabalho que adormecemos de madrugada. Ele está no sofá e eu numa cadeira em frente ao computador. Mas eles completaram suas tarefas e ambos ficaram satisfeitos com o trabalho um do outro.

Virada do destino

O 4º ano da universidade começou. O último curso após a conclusão do qual é concedido o grau de bacharel. Praticamente não existiam disciplinas de ensino geral, mas apenas aquelas relacionadas a computadores e redes. Agora, às vezes me arrependo de não ter tido tempo ou não ter demonstrado interesse pela mesma eletrônica ou pela estrutura interna das redes. Agora estou terminando por necessidade, mas tenho certeza que esse conhecimento básico é necessário para qualquer desenvolvedor. Por outro lado, você não pode saber tudo.
Eu estava terminando de escrever meu próprio compilador C++, que já era capaz de verificar erros no código de acordo com o padrão e gerar instruções assembly. Sonhei que estava prestes a vender meu compilador por US$ 100 por licença. Multipliquei isso por mil clientes e mentalmente
transportado para um Hammer, com o baixo de 50 Cent explodindo nos alto-falantes e gatas no banco de trás. O que você pode fazer aos 19 anos - essas são as prioridades. O truque do meu compilador caseiro foi produzir erros em russo, em vez do inglês do Visual C++ e gcc, o que não é compreensível para todos. Eu vi isso como um recurso matador que ninguém no mundo ainda havia inventado. Acho que não faz sentido contar mais. Não chegou às vendas. Porém, consegui um conhecimento profundo da linguagem C++, que me alimenta até hoje.

No quarto ano, fui cada vez menos à universidade porque conhecia a maior parte do programa. E o que eu não sabia, resolvi negociando com um aluno que entendesse, por exemplo, de eletrônica ou de teoria das probabilidades. O que não inventamos naquela época. E fones de ouvido invisíveis em um fio no qual a resposta foi ditada. E sair correndo da sala de aula para que um guru em sua especialidade possa escrever para você a solução de todo o exame em 2 minutos. Foi um ótimo tempo.
Durante o mesmo curso, comecei a pensar em um emprego de verdade. Com escritório, aplicações comerciais reais e um salário digno.
Mas naquela época, em nossa cidade, você só conseguia emprego como programador
“1C: Contabilidade”, o que não me agradou em nada. Embora por desespero, eu já estava pronto para isso. Naquela época, minha namorada estava me pressionando para que me mudasse para um apartamento separado.
Caso contrário, dormir com seus pais através da parede não é nada comum. Sim, e já estava cansado de resolver os problemas dos alunos e queria algo mais.

O problema surgiu do nada. Pensei em anunciar no mail.ru que estava procurando um emprego com um salário de US$ 300 para o cargo de programador C++/Java/Delphi. Isto é em 2006. Ao que eles basicamente responderam algo como: “Talvez você devesse escrever para Bill Gates com tais solicitações de salário?” Isso me chateou, mas entre um monte de respostas semelhantes, havia uma pessoa que me contratou como freelancer. Esta foi a única oportunidade em nossa empobrecida Las Vegas de ganhar um bom dinheiro fazendo o que eu sabia fazer.
Assim, estudar na universidade fluiu suavemente para o trabalho no intercâmbio freelance. Fechando o tema universidade, podemos dizer o seguinte: não fui para o 5º ano. Havia uma programação e um conceito de “atendimento gratuito”, que utilizei 146%.
A única coisa que faltava fazer era defender o diploma de especialista. O que fiz com sucesso com a ajuda de meus amigos. Vale dizer que nesse curso eu já havia mudado dos meus pais para um apartamento alugado e comprado um carro novo. Foi assim que começou minha carreira como desenvolvedor profissional.

Os capítulos seguintes serão dedicados a projetos individuais, às falhas mais graves e aos clientes mais inadequados. Uma carreira como freelancer de 5 a 40 $/hora, lançando minha própria startup, como fui banido da bolsa freelance Upwork e como como freelancer me tornei líder de equipe na segunda maior petroleira do mundo. Como voltei ao trabalho remoto depois do escritório e da startup, e como resolvi problemas internos de socialização e maus hábitos.

Para ser continuado ...

Fonte: habr.com

Adicionar um comentário