Após um post recente, recebemos muitas perguntas e comentários interessantes. Inclusive você queria saber como, em nossa opinião, se tornar um programador muito procurado.
Os projetos do estúdio Krasnodar Plarium diferem significativamente um do outro na pilha de tecnologia usada. Temos que resolver diversos problemas e envolver um grande número de profissionais. Programadores são uma parte importante da equipe do Plarium Krasnodar. No total, mais de 50 de nossos colegas estão trabalhando na criação de código em projetos de estúdio.
Analisamos sua experiência e estamos prontos para responder às perguntas.

Qualquer um pode ser um programador
Talvez todas as pessoas de TI sejam solicitadas de tempos em tempos: quem pode se tornar um programador? Se você quiser, alguém pode entrar nessa profissão, você só precisa desenvolver certas qualidades em si mesmo. Existem pelo menos dois requisitos básicos para um programador: a capacidade de pensar e analisar. A educação recebida, ao contrário dos estereótipos, não é tão importante, embora a formação técnica simplifique significativamente a tarefa.
O significado da base matemática depende do que exatamente você fará no futuro. Portanto, na Ciência de Dados, o conhecimento profundo em matemática é uma competência obrigatória de um programador. Para resolver a maioria dos problemas nessa área, é necessário criar modelos complexos. Obviamente, se você pensa em seqüência e lógica, pode escrever uma fórmula adequada sem um doutorado em matemática. No entanto, o treinamento teórico apropriado economizará muito tempo e esforço.
O inglês agora é o padrão não-escrito da indústria. Existem muito menos tutoriais de qualidade em russo. Documentação sobre tecnologias atuais, notícias, seminários, palestras de oradores competentes, com raras exceções, são publicadas em inglês. Versões localizadas podem não existir.

O aprendizado nunca acaba
O setor de TI está se desenvolvendo continuamente. A cada poucos anos, novas linguagens de programação são desenvolvidas. Bibliotecas, kits de ferramentas e técnicas eficazes de codificação aparecem com mais frequência. Por esse motivo, a educação especializada e o desempenho acadêmico não são uma panacéia, porque, na verdade, o treinamento em programação nunca termina. As universidades e faculdades são mais propensas a formar os padrões de pensamento necessários. O conhecimento adquirido dentro dos muros da alma mater raramente é aplicado na prática, como muitos de nossos colegas estão convencidos. Informações verdadeiramente importantes devem ser extraídas independentemente.
Aprender linguagens de programação não deve fazer longas pausas. É aconselhável dedicar várias horas a esta lição diariamente. E ao longo do caminho - para desenvolver habilidades de gerenciamento de tempo. Embora essa competência não dependa de especialização futura, quanto mais rápido você aprender a gerenciar seu tempo corretamente, mais bem-sucedidos serão seus estudos e mais trabalhos. Uma parte importante da educação para um programador é a comunicação com os colegas. Nessas conversas, você pode aprender sobre novas tecnologias e segredos profissionais.
Internet é a melhor fonte de conhecimento
Para iniciantes e profissionais, a Internet é a principal fonte de conhecimento. Você precisará de recursos especializados para programadores e sites em geral. Por exemplo, é melhor acompanhar as notícias via Twitter. Lá você encontrará hackers de desenvolvedores experientes.
Há muitas informações úteis no YouTube: tutoriais de diferentes níveis de dificuldade, notas de aula, seminários, apresentações, demonstrações visuais dos recursos de várias tecnologias. Não ignore as transmissões de codificação ao vivo (conduzidas no Twitch e no YouTube). Nelas, você pode ver ao vivo como os especialistas bem-sucedidos funcionam e, se algo parecer incompreensível, faça imediatamente uma pergunta ao streamer. Truques e abordagens de trabalho, assistidos por transmissões, até a organização das janelas e os atalhos de teclado usados, economizarão muito tempo e evitarão erros irritantes.
No processo de treinamento, é extremamente importante analisar o código já em execução. O GitHub e serviços similares são úteis aqui. Os livros de programação não podem fornecer a mesma quantidade de qualidade e exemplos relevantes.
Em seu trabalho diário, os especialistas em Plarium Krasnodar também usam uma série de outros sites. Selecionamos os mais interessantes e preparamos uma seleção de recursos para programadores.
Se você planeja se dedicar ao C # e ao desenvolvimento da Web, fontes úteis de informação serão:
-
https://blogs.msdn.microsoft.com/dotnet-
https://metanit.com-
https://learn.javascript.ru/Se você estiver interessado em aprender sobre o mecanismo do Unity, fique atento às atualizações dos seguintes recursos:
-
https://connect.unity.com-
https://blogs.unity3d.com-
https://jacksondunstan.comSe você quiser mergulhar na indústria de desenvolvimento de jogos, visite estes sites:
-
https://dtf.ru-
https://gamasutra.com-
https://www.alanzucconi.com-
https://app2top.ru-
https://simonschreibt.de-
https://engineering.riotgames.com-
https://proglib.io/p/gamedev-blogs
Programador - Especialista Universal
O programador de TI é um soldado universal. Não é necessário se concentrar em um campo específico de atividade: apesar de uma pilha diferente de tecnologias, um especialista pode facilmente mudar do desenvolvedor de jogos para a Enterprise e vice-versa. Isso não cancela o fato de que você precisa entender os recursos do trabalho. Por exemplo, um programador em gamedev ainda precisa entender a indústria de jogos e ser um jogador.
No processo de aprendizagem, surge inevitavelmente a questão de qual é melhor: pesquisar o número máximo possível de tecnologias ou se especializar em algo específico. A resposta virá com a experiência - à medida que você resolve as tarefas do programador que encontrará no trabalho diário.
Erros comuns para iniciantes
Analisamos os erros típicos de programadores iniciantes e, com base neles, formulamos algumas dicas. Não pise no ancinho de outra pessoa!
O código não pode ser complicado, a menos que seja absolutamente necessário. A lista deve ser fácil de ler, para que fique imediatamente claro o que e como cada parte do programa faz. As situações são inadmissíveis quando, após algum tempo, você não consegue descobrir como usar classes ou bibliotecas criadas anteriormente. Construções volumosas e não óbvias são difíceis de depurar e é fácil cometer erros ao escrevê-las.
Não reinvente a roda. Para quase qualquer tarefa, você pode encontrar um pedaço de código adequado. Se as pesquisas não tiverem êxito, é provável que você tenha formulado incorretamente a solicitação. Frequentemente, os programadores tendem a ter alguma autoconfiança. Mesmo que as pesquisas tenham sido bem-sucedidas, pode parecer que o código auto-escrito é melhor do que uma solução pronta. Com o tempo, você começará a entender exatamente quando o esforço despendido na criação do sistema do zero é justificado. Antes disso, é mais aconselhável usar os desenvolvimentos de outras pessoas.
Não há necessidade de desistir de livros. Um engenheiro difere de um codificador convencional com um bom conhecimento de teoria. Com esse treinamento, ele navega melhor na pilha de tecnologias, encontra rapidamente as melhores soluções e comete menos erros. A base teórica fundamental é ajudada por livros especializados, mas não por artigos.
Meça sete vezes, corte uma vez. Se o prazo permitir, você precisa pensar em todas as nuances antes de começar a escrever o código. Caso contrário, você poderá perder muito tempo pesquisando erros e otimizando algoritmos. Melhor aprimorar sua capacidade de pensar corretamente, em vez de digitar rapidamente o código.
Trabalho alternativo, rápido e de qualidade. Algumas tarefas precisam ser resolvidas o mais rápido possível, mesmo que o código não pareça muito bom. Em outros casos, os prazos não são tão críticos e a qualidade pode ser enfatizada. Se você começar a alternar entre essas abordagens de programação, no final, começará a executar quaisquer tarefas de maneira rápida e eficiente.
Livre-se da rigidez do pensamento. É muito mais fácil para um jovem programador explicar como não fazê-lo do que um colega mais velho. Com a idade, nos tornamos menos abertos a novas idéias e começamos a receber críticas dolorosamente. Tente não ficar preso e considere problemas de diferentes ângulos.
Esperamos que o artigo tenha sido útil para aqueles que estão dando os primeiros passos na programação. E se você já se tornou um guru do código, compartilhe sua história nos comentários: como você estudou, onde ganhou experiência, como inspirou, quais erros cometeu.