O artigo não tem nenhum uso prático. A menos que alguém consiga obter um pouco de carga motivacional com sua ajuda e procrastinar.
Começar
Conheci programação em aulas de informática no 9º ano. Naquela época, devido a uma doença congênita, minha visão quase havia se esgotado e, por vários anos, fui educado em casa. Havia muito tempo livre, mas poucas atividades interessantes. Portanto, comecei um novo assunto com grande desejo. Escrever programas era como resolver problemas matemáticos. Mas aqui o problema poderia ser colocado de forma independente e, no final, havia um código que poderia resolvê-lo sem você. É verdade, no início, até o momento em que aprendi a trabalhar com um computador de ouvido, ele ficava apenas na minha cabeça.
A escola acabou. Eu até fiz o exame de ciência da computação, então me deixei levar por esse assunto. Além disso, até recentemente não estava claro em qual universidade entrar. Nem eu nem meus pais tínhamos dúvidas sobre a necessidade de um ensino superior. Não estava claro qual direção escolher.
Por um lado, sempre tive um desejo ardente por matemática e ciências. Mas como uma pessoa sem visão pode aparecer ali? Ainda foi possível continuar o desenvolvimento em direção a TI. Mas, como resultado, foi escolhida uma gestão mais abrangente e universal. Além disso, em uma das universidades dessa especialidade havia ensino a distância. Isso removeu a necessidade de se mudar para uma grande cidade agora. Então, no final, aconteceu. Mas depois de um ano de treinamento, a questão do futuro emprego surgiu com mais clareza.
Eu dificilmente poderia me imaginar como um gerente. O que eu vou fazer? Serei capaz de me realizar? Em geral, para uma pessoa cega, escolher uma profissão é uma atividade nada trivial. Muitos vão a massagistas e medicamentos relacionados. Alguém pode fazer traduções e outros trabalhos com texto. Em geral, existem muitos lugares onde você pode experimentar. Mas sempre existe um grande risco de enfrentar a pouca disponibilidade de algo importante.
Trabalhar com o computador, na minha opinião, é exatamente o caminho onde os cegos podem se mostrar bem. Primeiro, eles já precisam conhecê-lo muito bem. Usar um leitor de tela requer um conhecimento mais profundo do sistema operacional, teclado, teclas de atalho e programas do que o exigido por usuários comuns. A mesma digitação em cursos especializados é estudada imediatamente. E de que outra forma, você ainda não será capaz de espiar.
Em segundo lugar, a maioria dos programas e quase toda a Internet a partir do teclado são acessíveis quase tão bem quanto para trabalhar com um mouse. Isso significa que os cegos não ficarão muito para trás ao realizar as tarefas diárias. E em algum lugar, devido a um conhecimento mais profundo do assunto, e superar o resto.
Bem, e em terceiro lugar, eu simplesmente gostei. E assim, já no segundo ano, voltei a programar, mas com o firme objetivo de fazer disso minha profissão.
Treinamento
É minha profunda convicção que o principal problema de um iniciante é que ele não tem ideia do que a programação moderna é de fato. No meu cofrinho, eu tinha um curso escolar PascalABC.net e algumas centenas de problemas resolvidos do livro didático. Mas os programas reais são escritos em outra coisa, certo? E em quê? Os que ouvimos anteriormente vieram à mente: C ++, java, C #. Como eles diferem e para que são usados não estava claro. Comecei com C ++. Eu desenterrei um livro de algum lugar, onde, como uma introdução em um tom meio geek, o autor discute os prós e contras do fenômeno da máquina virtual java, coleta de lixo e modo C # inseguro, IDE, compilador e bibliotecas que precisamos para trabalhar.
Depois de percorrer os primeiros capítulos, ficou claro que este tutorial não foi escrito para mim e agora não consigo entendê-lo. Um mentor era necessário. E ele foi encontrado.
Alguns entusiastas em uma lista de mala direta para cegos anunciaram a abertura de cursos de programação específicos para esse público e se ofereceram para escolher a tecnologia que gostariam de usar. Votei em C ++ sem dúvida. O que é php e desenvolvimento web era desconhecido e a criação de jogos parecia uma ocupação frívola. Mas no final o php ganhou. Provavelmente porque o próprio sistema de votação pela Internet não estava de forma alguma protegido contra repetidas aprovações.
Portanto, o vetor do meu desenvolvimento mudou involuntariamente para a web. O curso em si durou pouco mais de um mês. Ao longo de algumas sessões esporádicas, só tivemos tempo para conhecer o básico do html. O último até escreveu algumas linhas em php. Mas o entusiasmo do filantropo-organizador diminuiu rapidamente, as aulas eram ministradas cada vez menos. E no final eles pararam completamente. Mas a direção foi definida e eu poderia segui-la sozinho. No entanto, a questão permaneceu sem solução. O que exatamente um programador deve saber?
Na Internet, você pode encontrar uma solução para qualquer problema simples. Mas toda a imagem da leitura de muitos artigos estreitos não fazia sentido. E então, no meu caminho, houve cursos em vídeo.
Eu li muitas opiniões sobre eles. Mais frequentemente, negativos surgiram. Que isso é uma perda de tempo e dinheiro absolutamente inútil. O que eles atraem para si mesmos com promessas fabulosas, na verdade, não dão nada, exceto a confiança do graduado de que ele agora é um guru do desenvolvimento. Os cursos são certamente diferentes. Mas naquele momento em particular me deparei com um material muito bom, com a ajuda do qual descobri as estruturas básicas de php, processamento de formulários, autorização, sessões, cookies, trabalhando com db, oop e mvc em 2 meses. E o mais importante, ele o fez de maneira abrangente. Cada elemento complementou a imagem geral do desenvolvimento do servidor. Ao final dessa etapa, já consegui fazer meu site com uma lógica fora do padrão e me senti um verdadeiro especialista. Iniciantes, mas com uma sólida compreensão de para onde ir a seguir.
Primeiras tarefas
Mas primeiro foi necessário tentar aplicar os conhecimentos existentes na prática. O autoaperfeiçoamento e o desenvolvimento podem ser infinitos. Mas o profissionalismo envolve a aplicação do conhecimento na prática. Além disso, obter resultados agora é um grande incentivo para continuar seus esforços. Bem, e certamente senti a necessidade de provar a mim mesmo que realmente posso.
A melhor maneira de fazer isso era freelancer. Registrei-me em várias bolsas e comecei a rastrear pedidos. E então uma coisa interessante se abriu: quase todos eles eram sobre o frontend ou sobre php. Até então, eu secretamente me arrependia de ter tomado essa direção. Eu realmente não gostei da linguagem de script. Não tinha o rigor do pascal, não compilava e você não pode escrever aplicativos para PC nele. E é exatamente isso que, na minha opinião da época, deveria ser o desenvolvimento. Mas o mercado de trabalho autônomo e remoto alterou minha posição. E logo recebi meu primeiro pedido.
Foi necessário fazer uma página personalizada especial no crm. Ele precisava exibir dados em aplicativos e trabalhar em um formato especial, e o usuário deveria ser capaz de marcá-los com bandeiras. O próprio crm não possuía funções embutidas para resolver uma tarefa tão específica, mas permitia expandir sua funcionalidade usando a linguagem na qual foi escrito - php.
Basta dizer que fiz a tarefa por um ou dois dias durante 2 semanas. Principalmente devido ao fato de que, por hábito, era muito difícil descobrir exatamente como o crm funciona. E onde você pode ver o esquema de seu banco de dados. Mas no final, todos os requisitos foram cumpridos e o cliente ficou muito satisfeito. Porque, como percebi mais tarde, outros desenvolvedores não queriam assumir tal crm.
Estrutura
Mas "rei do freelancer" não é o título que me inspirou no início da jornada. Era necessário algo mais poderoso, arquitetônico, com a ajuda do qual empresas sérias criam serviços de usuário complexos e tecnologicamente avançados - uma estrutura. Ouvi essa palavra em vídeo-cursos, onde os dois professores disseram que essa é a principal ferramenta de seu trabalho. Estava claro que era preciso ir nessa direção.
Para começar, o ignitor de código foi estudado. Foi uma cópia modificada do framework mvc que fizemos por conta própria nos cursos. Era tão simples como uma cortiça, mas já permitia fazer sites reais. Porém, conheci a qualidade deles logo na primeira encomenda para revisão de algum serviço. Dificilmente esquecerei essas 700 linhas de código de ação do controlador. Claro, você pode escrever código ruim em qualquer coisa, mas a CI parecia apenas provocá-lo. Não é de admirar que ele seja uma coisa do passado.
Além disso, antes de mim, como antes de todo viajante decente, 3 estradas se abriram: yii, laravel e symfony. Após uma breve avaliação, escolhi o último. Por razões puramente subjetivas, é claro:
- Gostei muito de sua estrutura de pastas e configuração por meio de anotações.
- Em resenhas na internet, leu-se sobre ele respeito. Pareceu-me um instrumento poderoso e muito complexo. Às vezes excessivo em seu poder. Mas tendo dominado isso, você sempre pode olhar para os jogos na caixa de areia do mundo php com um leve piscar de olhos.
Comecei a estudar. E a melhor maneira de dominar uma nova plataforma é fazer algo interessante nela. De volta à escola, escrevi um programa para meu irmão mais novo estudar contagem. Um gerador de números aleatórios e quatro operações aritméticas básicas. A criança resolve um determinado número de exemplos e, no final, o número de erros é contado e uma nota é dada. Algo muito útil em um determinado estágio do treinamento. E agora ele pode ser implementado em um novo nível tecnológico.
Demorou muito. Eu fiz e remodelar. E, em paralelo, a sinfonia estava retrabalhando meu cérebro, porque eu simplesmente não queria desistir da ideia de empurrar o recipiente em essência. Eu descobri muitos de seus componentes. Atualizado da versão 3 para a versão 4 e estudou git. Cerca de seis meses depois, verifiquei a realidade do sonho rosa de lançar meu superaplicativo para a luz. Fiquei um pouco triste com o resultado zero e percebi que era hora de passar para o próximo nível - a busca por um emprego de verdade.
Continua.