Como escolher uma linguagem de programação para aprender hoje e obter um ótimo trabalho em 2 anos

Pode levar anos de trabalho dedicado para se tornar um bom programador; Então, há uma maneira de escolher a linguagem certa para começar a partir de hoje, a fim de ser contratado amanhã?

Pode levar anos de trabalho dedicado para se tornar um bom programador;  Então, há uma maneira de escolher a linguagem certa para começar a partir de hoje, a fim de ser contratado amanhã?
Propaganda

Codificação não é fácil; ou pelo menos, aprender a codificar não é, especialmente quando começar do zero. Pode levar anos de trabalho dedicado para se tornar um bom programador; Então, há uma maneira de escolher o idioma certo para começar a partir de hoje, a fim de ser contratado em um par de anos?

Para descobrir, levei esta questão ao nosso painel de especialistas residentes: Enquanto todos escrevemos, vários de nós também têm experiência em codificação. O que se seguiu foi uma discussão interessante que você gostaria de ler antes de embarcar em sua jornada para se tornar um programador profissional.

Um método para a loucura?

crazy

Esta não é a primeira vez que discutimos a escolha de uma linguagem de programação: em 2011, discutimos qual linguagem de programação você deve aprender para o desenvolvimento de software? Qual linguagem de programação você deve aprender para desenvolvimento de software? Qual linguagem de programação você deve aprender para desenvolvimento de software? Ao iniciar o caminho da programação, é importante investir seu tempo com sabedoria na escolha de aprender algo que irá beneficiá-lo no futuro imediato com resultados visíveis na sua plataforma de ... Leia mais, além de qual deles você deve aprender para programação na Web Que Linguagem de Programação para Aprender - Programação na Web Que Linguagem de Programação para Aprender - Programação na Web Hoje vamos dar uma olhada nas várias linguagens de programação da Web que alimentam a Internet. Esta é a quarta parte de uma série de programação para iniciantes. Na parte 1, aprendemos o básico de ... Leia mais.

Mas isso não é apenas um conselho (como “use o JavaScript”), mas uma metodologia - algo que as pessoas poderiam usar em dois anos a partir de hoje, teoricamente . Como descobrir quais idiomas estão em ascensão? Quais métricas de popularidade de código confiar e quais desconfiar (e por que)? Quais são os melhores sites de projeção salarial? O GitHub é uma indicação ou não?

Por exemplo, você não encontrará ninguém falando sobre PHP hoje em dia - mas muitos, muitos desenvolvedores estão fazendo uma boa vida codificando PHP, e ainda é a maior parte do que está sendo executado na Web. Então, aprender PHP agora é uma má ideia? (Provavelmente…)

Não há um idioma

choices

É aí que James, nosso desenvolvedor Web e tecnólogo residente, entrou para dizer isso:

Os programadores geralmente não aprendem uma única língua de qualquer maneira. Qualquer um que adote a clássica rota CompSci vai acabar com muito Java, um pouco de Haskell, algum Prolog se fizer um curso de IA, algum Node se fizer um curso de engenharia de start-ups, algum PHP se aprenderem o tradicional CMS, alguns .NET se estagiam em algum escritório corporativo inútil, algum JavaScript se eles fazem web design, algum C ++ se eles fazem design de jogos, e finalmente algum Ruby se eles gostariam de desperdiçar sua vida com linguagens obscuras que ninguém realmente usa.

Não há “metodologia” e você não escolhe um idioma para aprender: ele escolhe você!

Aprender uma língua é como comer apenas digestivos durante um ano, quando há um corredor inteiro de biscoitos. E a sério, quem escolhe empregos de acordo com o salário projetado?

Mas e se você não aprender CompSci?

Eu respondi ao James, dizendo:

Aqui está a coisa: isso não é para alguém tomar a rota clássica CompSci. A julgar pela explosão do MOOC e o número de cursos de programação online, muitas pessoas estão aprendendo a programar apenas do zero. E quando você começa assim, você precisa de um idioma para começar. Talvez você se afaste mais tarde, mas essa primeira língua será um investimento crítico de tempo e esforço - então é melhor que valha a pena.

O que mais me ressoou foi o último pouquinho que ele disse - que escolhe os empregos de acordo com o salário projetado . Eu acho que algumas pessoas fazem, mas eu também acho que não é uma ótima maneira de fazer isso.

Quando se trata disso, as pessoas estão tentando descobrir qual linguagem começar, e o uso que a linguagem obtém no mundo real carrega peso nessa decisão (não apenas como é fácil aprender - Pascal ...).

Escolha um projeto primeiro e depois um idioma

trending-projects

James voltou com isso:

Tudo bem, talvez um dos pontos dessa metodologia seja: não ter uma metodologia. Quando me deparei com o PHP, foi através do WordPress. Eu tive um background em CompSci em programação e alguma experiência em web design, mas eu nunca tinha visto PHP antes. Eu aprendi porque o WordPress parecia bastante fácil, e eu queria mexer com o WordPress. Não porque eu olhasse para uma lista de tendências de tecnologias, ou estivesse considerando uma mudança de carreira, mas porque algo legal que eu queria saber usava.

Se alguém estivesse procurando aprender programação puramente para os propósitos de um trabalho, eles falhariam. Se eles estivessem procurando apenas porque gostam do som de aprender como programar algo, não importaria qual linguagem eles escolhessem, desde que isso pudesse estimular sua paixão.

Outra razão para escolher um projeto primeiro

Foi quando Simon interveio com algum conselho pragmático:

Em primeiro lugar, depende se você quer desenvolver para a Web ou software “padrão”.

Para o último, Java é muito bom:

  • OO simples
  • Multi-plataforma (Linux, Windows, Mac, Android)
  • Sintaxe semelhante a muitas outras linguagens de programação (JS, C #).

Não posso falar muito sobre o desenvolvimento da Web, embora HTML / JS / CSS / PHP / MySQL pareça funcionar para muitas pessoas. Python também.

Mas sim, o "para te dar um ótimo trabalho em 2 anos" pouco me irrita também. Salienta o aspecto errado de aprender como programar. Uma vez que você pode programar, é muito fácil pegar o jeito de outro idioma.

Ser contratado por conhecer um idioma específico é semelhante a ser contratado como PA para saber como lidar com o MS Excel. Se essa é a principal qualificação, provavelmente será um trabalho ruim.

Não aprenda um idioma: aprenda o design de software

software-design

Um consenso estava começando a se formar. Bruce Epper, da MakeUseOf Answers fame, tinha isto a dizer:

A linguagem em si não importa realmente. Quando se trata de trabalhos de programação, os aspectos mais importantes tendem a compreender o design e a arquitetura básicos do software, o processo de codificação em geral, conhecer os padrões de design, saber quando usá-los e como aplicar um padrão específico à tarefa em questão. todos eles independentes do idioma. Uma vez que um programador os saiba, é fácil aprender uma linguagem completamente nova.

Há até mesmo gerenciamento de projetos, documentação e habilidades de escrita que são mais importantes para um programador do que saber qualquer idioma específico.

A base sobre a qual você está construindo assuntos: inglês ou latim?

Foi quando Guy interveio para nos lembrar de que a linguagem é importante, até certo ponto:

latin

A linguagem em si não é a coisa mais importante para conseguir um emprego, eu concordo. No entanto, a base sobre a qual você está construindo faz. Desde que eu fiz as duas rotas, vou comparar linguagens de programação a linguagens humanas.

Python parece ser o inglês de hoje. Mais e mais, eu vejo o Intro CompSci e os cursos de programação começam com o Python ao invés do Java, que parece ser o mais popular por cerca de 10 anos. Você pode fazer muito do que deseja fazer com o Python.

C ++ é o latim do mundo da programação. Se você aprender, poderá aprender os princípios subjacentes de uma infinidade de idiomas e aprendê-los mais facilmente. Python seria um cakewalk se você fosse bem fundamentado em C ++.

O que é um "trabalho de programação", enfim?

Foi a vez de Matthew agora, para nos lembrar de que ser um codificador pode significar coisas muito diferentes para pessoas diferentes:

suit

Uma coisa sobre a qual não se falou muito é o tipo de trabalho de programação que você deseja.

Você não está preocupado com as vantagens dos funcionários da Startup? Quer estabilidade e um pacote de pagamento decente, mas sem equidade? Você gosta de usar roupa formal de negócios? Aprenda C #, Java ou COBOL. O COBOL também tem a vantagem de ter todos os aplicativos bancários já concebidos (hipérbole, mas você entende) tendo sido escritos nele. Com a maioria dos desenvolvedores COBOL aposentados ou mortos, há muita demanda por desenvolvedores COBOL com alguns salários de seis dígitos! No entanto, você estará trabalhando em bases de código enormes e mal escritas criadas ao longo de várias décadas. Isso não é divertido.

Mas e se a segurança do emprego não é sua coisa? Quer trabalhar em produtos interessantes, mas você está disposto a perder o emprego quando o modelo de negócios não funciona? Eu descobri que ir em frente (Hacker News) é uma maneira infalível de descobrir as linguagens usadas pelas startups. Quando estagiei em um trabalho inicial, usamos uma mistura de Go, Python e CoffeeScript. Outras startups usam Rails e Groovy e todos os tipos de frameworks e linguagens obscuros. Basta escolher um e você encontrará um trabalho interessante em algum lugar.

Novo Código ou Velho?

Escrever um novo código é uma experiência muito diferente da manutenção de um aplicativo existente, como Bruce acrescentou:

Com seus comentários no COBOL, você acertou em outra consideração: quer trabalhar em um novo código ou manter o código de outra pessoa? Isso pode ser um item enorme ao decidir em qual direção se mover. Para projetos menores, manter uma base de código escrita por outra pessoa pode não ser tão ruim, mas eu vi algumas seções de código em que você tem várias pessoas olhando para ela perguntando: “O que esse cara estava pensando?” Ou onde o original O programador estava aproveitando um recurso específico ou bug no compilador (que pode ter sido corrigido no compilador atual) para realizar algo.

E se você não tiver escolha?

Guy voltou para nos lembrar que nem todo mundo tem uma grande variedade de opções:

choice

Matthew levanta uma boa pergunta com: “ Que tipo de trabalho de programação você quer? "

Estranhamente, nunca pensei que teria muita escolha no assunto. Eu sabia que queria fazer desenvolvimento web quando comecei, tendo feito outra programação recreacionalmente. Mas achei melhor estar preparado para aceitar qualquer trabalho que pudesse conseguir e estar disposto a aprender como fui. Agora eu sou um homem de todos os ofícios, proficiente em várias tecnologias - mestre de nenhum.

Quanto a descobrir onde você quer trabalhar, determinar o tipo de estilo de vida que você quer é importante. Em seguida, analise as postagens das empresas que parecem atender aos seus critérios e veja o que elas estão procurando em geral. Juntar um portfólio de coisas semelhantes ao que eles fazem pode ser muito útil também, especialmente se você não tiver treinamento formal nas tecnologias que eles usam. Talvez você tenha aprendido Java na escola, mas eles usam o C #. Então você se ensina C # e faz alguns programas com isso como prova de que você sabe o que está fazendo e que tem inteligência fluida.

Ninguém responde simples

Se há algo que esta discussão mostra, é que as perguntas simples nem sempre têm respostas simples. E ainda assim, depois de ler as opiniões de todos, me senti muito mais informado - eles mudaram de idéia.

Tenho certeza de que não capturamos todos os pontos de vista possíveis aqui - é para isso que serve a seção de comentários. Eu estaria muito interessado em ouvir sua opinião sobre esta questão, se você é um codificador profissional ou não. Como você escolheria uma linguagem de programação para conseguir um bom trabalho em dois anos? Isso é mesmo uma boa maneira de escolher um idioma? Compartilhe seus pensamentos abaixo.

In this article