Profissão: Programador. Nem tudo está claro

Escrevemos sobre front-end e back-end , sobre desenvolvimento e testes móveismas esses foram casos especiais. Quando uma pessoa aborda a primeira ou a próxima profissão, ela raramente diz que se tornará um desenvolvedor para iOS ou um proctologista, como regra, isso soa como um "programador" e um "médico". A especialização vem depois, com experiência. Mas, para afirmar com firmeza que você deseja se tornar um programador, médico, arquiteto, geólogo, etc., você precisa se livrar da romantização da profissão e abordá-la de maneira sensata e significativa. Mesmo que você tenha decidido se tornar um programador de repente, "entre na TI depois dos 35". Se falamos de programadores da perspectiva do romance, essas são as pessoas que transformam nossas idéias em código e tornam a vida melhor, mais fácil e mais conveniente. Para ser franco, o trabalho de um programador é um trabalho tenso, geralmente rotineiro, com muitos prós e contras. Nós vamos falar sobre isso.

Artista - Nadezhda Kotkina, posou - cyber_roach

Quem é esse?


O termo "programador" pode ocultar programadores de perfil restrito, desenvolvedores de software, engenheiros, analistas de sistemas etc. No entanto, todos os programadores têm uma coisa em comum - a capacidade de inserir requisitos humanos no código da máquina para tornar o trabalho ou entretenimento automatizado, conveniente e simples. O programador cria instruções para o computador, como resultado da execução dessas instruções, algum tipo de resultado alvo é obtido. 

Você deve pensar se você é um futuro programador, se ...

... sua motivação vem de dentro, você gosta do processo de controlar um computador, quer não apenas usar um programa (jogo, aplicativo), mas também saber como ele funciona, modificá-lo.

... você não espera renda louca e não acha que a programação é um novo rock and roll, principalmente o desejo de criar mágica: transformar idéias em código.

... você sabe como melhorar qualquer programa, site, aplicativo móvel. Você sabe exatamente o que deseja do programa e deseja aprender como criar um código perfeito.

Onde é necessário?


Hoje, são necessários programadores em todos os lugares e não acho que essa tendência mude nos próximos 10 a 15 anos. Os programadores são necessários na indústria, ciência, espaço, negócios, medicina, transporte e até mesmo nas empresas de TI (brincando com piadas, você sabe o quão difícil é encontrar um ótimo programador ou desenvolvedor 1C para uma loja on-line no 1C-Bitrix?!). Em geral, mesmo no instituto da igreja e da caridade, há uma demanda por programadores. E isso é ótimo, porque você pode escolher não apenas a profissão de programador, mas também relacioná-la ao seu hobby: química, biologia, mecânica, comunicação e até mesmo história e linguística. Além disso, se você combinar as habilidades de desenvolvimento de software e os conceitos básicos do negócio principal, seu preço de mercado aumentará tremendamente e a concorrência mudará.

Portanto, você precisa entender não muito onde trabalhar, mas quanto do desenvolvimento está mais perto de você.

  • — (, , , , IoT ..). .
  • - ( ) — - , , - . WEB, .
  • — , . , , .
  • — , , — (, , ..). .
  • , — , . , , . , COVID-19, :-)
  • ( ) — , . , . 
  • DevOps/DevSecOps — , . « , », DevOps , .
  • Os negócios de desenvolvimento e software aplicados são um mundo de desenvolvimento separado, onde você pode escrever um desktop no Delphi e ganhar milhões, conhecer o COBOL e ser o especialista mais seduzido no mercado, navegar no Java e desempenhar um papel de liderança na comunidade, etc. Esse é um caminho de desenvolvimento arriscado, principalmente para desenvolvedores experientes, mas se você se apaixonar por C / C ++ / Java ou algum tipo de "latim da programação" - por que não? 

Novamente, listo as principais áreas, mas, de fato, em sua interface, novas áreas promissoras são formadas, por exemplo, processamento de linguagem natural (PNL), AR / VR, desenvolvimento de jogos, automação de testes e assim por diante. 

É importante entender outra divisão.

  1. - , , , , UI/UX .. , ( ?:-))
  2. -- , : , CRM, ERP, , , , -, 1 .. , , - , , . 

No curso de ensino de programação, você certamente se familiarizará com todas as áreas e tarefas um pouco, portanto, literalmente seis meses após o início do treinamento, você terá uma idéia de para quais lados vai se mudar. Por exemplo, tenho um amigo que não queria fazer nada além do relacionado ao preenchimento de software dos leitores. Como resultado, ele passou pela Barnes & Noble, trabalhou com projetos do Google e agora trabalha na China (ele está satisfeito, saudável e fã da vida no país). Todo mundo tem seu próprio caminho.

Requisitos profissionais básicos


Escrever código por si só não é a tarefa mais difícil, é muito mais difícil entender os requisitos, interpretá-los e traduzi-los para uma linguagem amigável à máquina. Trabalhar com o cliente do código (aqui queremos dizer o cliente, colegas, empregadores, etc.) é sempre nervos e aventuras, porque eles mesmos não sabem o que querem, pensam de maneira simplista e consideram a tecnologia onipotente. Mas se você finge ser um programador profissional, precisa não apenas desaprovar as teclas, mas também trabalhar ativamente com as pessoas, com tarefas técnicas, requisitos etc. Isso distingue o programador de um codificador simples. 

  • Pensamento crítico - a capacidade de destacar o principal dos requisitos, de abordar seu próprio código e o código de outra pessoa em termos de otimização e aprimoramento constantes; habilidades para encontrar as melhores maneiras de resolver problemas.
  • — . , , . — .

  • , , — , . , « », .
  • — , . , ?! , ! , , , , , . , , - . , , 00:09, + ;-)
  • — , . , , . 

  • — , , code style .
  • — . , , SDK, API, . — 6-12 .
  • — , , , . , -, ( , ). , , . 

Peço que você não acredite em contos de fadas sobre programadores introvertidos. Se você quiser crescer na programação, mantenha o seu introvertido. Se você quer ser um introvertido, rapidamente se deparará com o teto do desenvolvimento profissional, porque a comunicação ainda é necessária na atividade do desenvolvedor. Mesmo em um site remoto, você terá que se comunicar com colegas, participar de comícios, retrospectivas e discussões. 

A necessidade de conhecimento de línguas estrangeiras


É possível prescindir do desenvolvimento do conhecimento de um idioma estrangeiro (em particular o inglês)? Pode. É o suficiente para aprender a sintaxe e as palavras de uma linguagem de programação, você pode pensar e se comunicar exclusivamente em russo. A ignorância do idioma não será um obstáculo ao crescimento, desenvolvimento, comunicação de muitas empresas. 

No entanto - o que dá conhecimento de uma língua estrangeira?

  • . , ( ).
  • .
  • , , , .. , .
  • .
  • -.
  • .

Houve muitas discussões sobre Habré sobre um nível confortável e suficiente de proficiência em inglês para trabalhar no setor de TI. Na minha opinião, para não ficar surdo e burro, você precisa de um mínimo de intermediário superior ou intermediário com fala ativa (por exemplo, você é bom em gramática, mas tem um bom nível de idioma no currículo, na comunicação pessoal ou no estágio).

Onde estudar


Nas universidades russas modernas, existem muitas especialidades para programadores, existem programas de graduação e pós-graduação, existem formatos adicionais de educação. Se você ainda está apenas escolhendo sua universidade, é claro que vale a pena ir para uma faculdade especial, ou para física, matemática e outras especialidades técnicas.

Se você precisar programar como uma ferramenta auxiliar para a especialidade principal, procure uma opção adjacente (como cibernética médica e ciência da computação) ou estude paralelamente à especialização principal.

Se você já tem uma educação, então para você há auto-educação, vários cursos, escolas on-line, universidades corporativas, etc. Você pode aprender a programar com essas ferramentas de aprendizado, de maneira totalmente independente ou mesmo com um mentor.Você pode ler sobre educação adicional aqui .


Chamo sua atenção especial: o ensino superior ainda é importante, porque é importante para o empregador, é necessário quando se muda para outro país e também fornece a base, a base, que nos permitirá desenvolver rapidamente em qualquer nova direção.

Além disso, não é tão importante qual linguagem de programação você aprende, como é importante que você saiba sobre matemática, algoritmos, computação, administração de redes e servidores, princípios de rede, pilhas e assim por diante. E essa base não é ruim nas universidades. 

Principais livros e ferramentas de aprendizagem


Cada especialidade tem seu próprio conjunto de livros e recursos para treinamento, mas há coisas que todos devem ler.

  • A Arte da Programação, Donald Knuth
  • As Pérolas da Programação, John Bentley
  • « »,
  • « . , », .
  • «. », .
  • « . Ebay?»,
  • « », .
  • « . »,
  • «. »,
  • « »,
  • « . »,
  • « -»,
  • «-. », ,

Esses livros não apenas contêm conhecimento praticamente útil, mas também motivam, moldam o pensamento e a visão de mundo do programador. E eu peço a você: ler, ler desenvolve seu pensamento, memória e o torna invencível em qualquer entrevista.

Dos seus recursos favoritos:

  • Codecademy é uma plataforma interativa universal para o ensino de linguagens de programação. Lambidas, conquistas, gamificação são todas motivações.
  • O Udacity é um recurso em inglês para aprender programação.
  • O Codewars é uma enorme coleção de tarefas de teste para treinamento de habilidades em qualquer linguagem de programação.
  • Coursera - sem comentários, apenas a melhor palestra “miscelânea”.
  • O MIT OpenCourseware é um mar de cursos do Instituto de Tecnologia de Massachusetts.

Aqui está uma boa visão geral dos cursos , compilados por outro autor, mais específicos sobre os cursos de russo. 

Outra seleção enorme e fresca de útil online para programadores.

Conselho: mesmo que às vezes você tenha preguiça de estudar, ouça palestras pelo menos em segundo plano, para mergulhar na terminologia, preste atenção em alguns momentos imperceptíveis durante o estudo intensivo.


Mitos da profissão


Existem muitos mitos e boatos sobre programadores: sobre caráter, grosseria, incapacidade de construir uma vida pessoal etc. Mas esses são casos especiais que podem ser encontrados na profissão. Por exemplo, uma vez eu estava perto do campo da medicina e posso dizer que também existem muitas mulheres casadas no trabalho e casadas no trabalho, muitos introvertidos duros e rudes, mas homens profissionais (um tanto chapados). E, em geral, é difícil imaginar o "enclave" da felicidade em qualquer área específica.


E se o programador também é um jogador ... Você sempre pode encontrar um par ;-)

Portanto, analisarei os quatro mitos mais populares.

  1. . . , - , , , . , , — , , . 500 . , . « » «» , . , : . 
  2. . , . , , , , , , , - , . , . , , ( !), , , , , , — , , , .
  3. . , . , , CTO, CIO .. . 
  4. . . ? ;-)


Se você está aprendendo a ser programador, um dia você definitivamente vai querer parar com tudo, porque o caminho parecerá muito longo. Você se cansará das tarefas monótonas de treinamento, cada compilação malsucedida causará desespero aborrecido e doloroso, você sonhará com indicadores, recursões e princípios de POO (bem, ou chamadas de função malsucedidas). Todo esse barulho parecerá insano longe não apenas do seu primeiro projeto independente, mas também da primeira fusão corporativa ... 

O desejo de sair é o primeiro sinal de que você está seguindo o caminho certo, que está realmente tenso e não manipula algum código usando o método copiar e colar do Google (nem mesmo com o GitHub!). Somente quando você está tão treinado em tarefas simples que elas se tornarão desagradáveis ​​para você, você pode avançar com confiança para um novo estágio com uma excelente base de conhecimento. 

A dica é simples: não deixe cair. Faça uma pausa, durma com esses pensamentos, desista do treinamento por uma semana e volte. Você mesmo não notará como algo "clica" na sua cabeça e tudo se encaixa e aqui está, a primeira mesclagem, o primeiro código de revisão, o primeiro commit de código aberto, a primeira apresentação na reunião, seu projeto de estimação, as primeiras tarefas em Posts do meio. Não pare - tudo será!


All Articles