Quão importante é o autodidatismo no campo da programação? [fechadas]

74

Tenho 16 anos. Comecei a programar cerca de um ano atrás, quando estava prestes a começar o ensino médio. Eu estou indo para uma carreira na programação, e estou fazendo o meu melhor para aprender o máximo que posso. Quando eu comecei, eu aprendi o básico do C ++ de um livro e comecei a aprender coisas sozinho a partir daí. Hoje em dia sou muito mais experiente do que há um ano. Eu sabia que tinha que estudar sozinha porque o ensino médio não me ensinará nada de valioso sobre programação, e eu quero estar preparado.

A questão aqui é: quão importante é estudar a programação por si mesmo?

    
por Bugster 04.10.2012 / 22:16
fonte

17 respostas

100

É crítico. Eu acho que nunca conheci um bom programador que não fosse autodidata em algum nível. Como gerente de contratação em uma grande empresa, posso dizer que um candidato que descreve projetos pessoais e um desejo de aprender superará um com um grau impressionante a cada vez. (Embora seja melhor ter os dois.)

Aqui está a coisa sobre a faculdade: os cursos de Ciência da Computação ensinam teoria, não tecnologia. Eles ensinarão a diferença entre uma tabela de hash e uma árvore B e os princípios básicos de como um sistema operacional funciona. Eles geralmente não ensinam linguagens de computador, sistemas operacionais ou outras tecnologias além do nível superficial.

Eu me lembro de volta nas névoas do tempo quando fiz minha primeira classe de estruturas de dados e conseguimos um manual fino para essa nova linguagem chamada "C ++" que eles decidiram começar a aprender. Tivemos duas semanas para pegá-lo o suficiente para escrever código. Essa foi uma boa lição por si só. É assim que sua carreira irá.

Sua escola provavelmente não ensinará o que você precisa para conseguir um bom emprego. As escolas geralmente acompanham o que há de bom na indústria há muitos anos. Então você vai conseguir um emprego. Seja qual for a empresa que você vá, quase certamente não gastará nenhum esforço especial para treiná-lo. As empresas ruins são baratas demais e, francamente, as boas empresas só contratam pessoas inteligentes o bastante para buscá-las.

Eu me formei na faculdade em 1987. Eu fui trabalhar como programador C com experiência em programas DOS, NetBIOS e "Terminate-and-Stay-Resident". Nos anos seguintes, tive pouco ou nenhum treinamento real. Olhe para os anúncios de emprego ... não há muita necessidade dessas habilidades! A única razão pela qual posso ser empregado hoje é porque passei os anos intermediários aprendendo constantemente. Para ter sucesso como engenheiro, você tem que ter o hábito de aprender. Inferno, eu iria além disso: você tem que ter o amor de aprender. Você precisa ser o tipo de pessoa que brinca com WebGL ou Android ou iOS porque parece divertido. Se você é esse tipo de pessoa e mantém o hábito de aprender, vai longe na indústria.

    
por 04.10.2012 / 22:53
fonte
29

O auto-ensino é muito importante. Você não pode confiar em uma educação formal para ensinar-lhe tudo o que você precisa saber sobre o seu campo. No entanto, o que foi dito, uma educação formal também é muito importante se você quiser entrar nesse campo de carreira bem preparado e bem equipado.

Estou a caminho da faculdade e passei os últimos quatro anos ensinando a mim mesmo desenvolvimento de software. Como resultado, agora trabalho para uma empresa grande e conhecida que mantém os aplicativos corporativos. Não é preciso muito talento, mas exige muito trabalho e motivação. Eu acho que literatura e prática são sua melhor aposta quando se trata de aprender. Também é importante escolher um campo específico, pois, embora seja possível usar linguagens e lógica em todos os campos, você só pode realmente se tornar "ótimo" se tiver prática e compreensão suficientes em um campo específico.

    
por 07.05.2012 / 05:27
fonte
11

Aprender por conta própria é muito importante. Ter disciplina para pesquisar e reunir o conhecimento necessário para realizar uma tarefa o colocará à frente de muitos outros que dependem de treinamento formal para realizar a mesma tarefa. Isso vale para qualquer setor, não apenas para a indústria de software.

Não me entenda mal, obter algum treinamento formal ou educação é útil, mas sua própria motivação para melhorar suas habilidades ajudará você a se tornar um desenvolvedor de software melhor. Há sempre algo a ser aprendido: novas plataformas ou linguagens de programação para experimentar, metodologias de desenvolvimento para implementar, ferramentas e algoritmos para usar, a lista continua. Nem tudo será apresentado a você por meio de treinamento formal e, portanto, cabe a você aprender sobre outros tópicos e ideias em que possa estar interessado e que o ajudarão em toda a sua carreira na programação.

    
por 06.05.2012 / 19:32
fonte
6

Na programação, o auto-ensino é o que você fará todos os dias. Você terá que aprender muitas coisas, não apenas linguagens de computador e ferramentas que continuam mudando. Você terá que aprender o código que outras pessoas escreveram e você terá que consertar isso também com o mínimo de instrução e supervisão. É raro, em algumas organizações, obter algum treinamento real mais de uma vez por ano (se for o caso!). Certifique-se de que você pode fazer (e aproveitar) isso, caso contrário, considere uma carreira diferente enquanto você ainda é jovem.

    
por 04.10.2012 / 22:50
fonte
4

A auto-instrução é uma habilidade indispensável para um programador ter. Muitos não. Se você for bom, usará essa habilidade pelo resto da sua carreira.

    
por 06.05.2012 / 20:03
fonte
3

O auto-estudo é muito importante porque você nem sempre terá oportunidades de treinamento formal. Quando você começa a procurar por um projeto, estágio ou emprego, encontre aqueles que tenham desenvolvedores seniores sólidos que possam realmente ensinar alguma coisa. Estar em um ambiente que faz as coisas certas pode ser o caminho expresso para o código de qualidade.

    
por 06.05.2012 / 20:10
fonte
3

Eu posso te dizer que tem havido vários lugares em que trabalhei onde eles nem sequer considerariam alguém que não tivesse seus próprios projetos fora do trabalho. Exibe amor por programar além de apenas aparecer em um emprego e coletar um cheque. Eu vou sair em um membro aqui e dizer o seguinte: Todos os programadores que não gostam de programar são péssimos em seu trabalho. Ainda pior, eles não têm nada a acrescentar a qualquer equipe que possam participar.

Eu pegaria um desenvolvedor júnior inexperiente que ama o que ele faz tanto que ele joga com código em seu tempo livre sobre três desenvolvedores de nível médio que estão apenas passando pelos movimentos: Esse desenvolvedor júnior será ótimo algum dia, e os outros nunca serão melhores do que são.

Se você não está aprendendo coisas novas, está apenas esquecendo o que sabe.

    
por 07.05.2012 / 02:09
fonte
2

O talento é superestimado.

São necessários pelo menos 10 anos de prática para que uma pessoa possa se tornar excelente em qualquer área específica. Portanto, é importante começar cedo.

O fato de você ter começado em um estágio inicial de sua vida fazendo algo que parece gostar já o coloca à frente do bando. Então, a menos que você tenha dúvidas sobre a área em que estará trabalhando, não pare ... nunca pare!

Eu considero a auto-aprendizagem uma das melhores habilidades de qualquer desenvolvedor e a segunda é um diploma universitário. Um bom diploma universitário é importante apenas porque acrescenta tanta qualidade ao seu conhecimento que você provavelmente não seria capaz de reunir sozinho. Certamente há exceções a essa regra, mas isso é tudo o que elas são; exceções.

Além disso, quanto mais experiência você acumula cedo, melhor você desfrutará da faculdade e melhor absorverá os novos conceitos apresentados a você. No começo você vai achar tudo tão fácil e sem sentido, mas muito rapidamente você se sentirá desafiado e ansioso para aprender mais.

Depois de sair da faculdade, nunca pare de aprender, pois será uma das suas melhores características. Eu recomendo a leitura "Talent is Overrated". Você pode dar uma olhada neste rápido artigo sobre esse livro:

link

    
por 07.05.2012 / 01:05
fonte
2

Comparada com quase qualquer outro campo que eu possa imaginar, a programação é basicamente tudo sobre auto-educação. A educação formal em informática / engenharia de software é útil, mas não é exatamente onde você aprende a codificar.

O que você deve realmente fazer é apenas começar a trabalhar em projetos: construa algo que você quer que exista. E junte-se a um projeto de código aberto para trabalhar em algo que você quer ser ainda melhor. A aprendizagem vem de graça, então ...

    
por 07.05.2012 / 05:11
fonte
2

Você precisa aprender coisas novas: vá para onde sua curiosidade leva você.

Faça também uma educação formal - 90% do que você ensina em uma educação formal não será usado no local de trabalho. Mas os 10% que são usados serão algo estranho e obscuro que você pensou na época nunca seria de nenhuma utilidade.

Sem a educação formal, você sofre do problema mais bem descrito como "você não sabe o que não sabe". A educação formal oferece uma ampla e ampla cobertura de muitas coisas, com o pleno conhecimento de que ninguém nunca vai sair e usar tudo isso. Porque o que você vai usar é algo que você não saberá até que você precise, é tudo sobre estar preparado para que você saiba onde ir.

A coisa de auto-aprendizado / curiosidade é o que faz de você uma pessoa muito mais bem informada e equilibrada. Para não mencionar mais valioso para um empregador.

Nota: Passei toda a minha carreira, desde que comecei a programar com cerca de 15 anos (sheesh, mais de 25 anos ... mais de 30 anos) descobrindo que além da minha formação universitária, a maioria dos cursos de treinamento (você sabe ... aprender BLAH em 3 dias em tempo integral) são bastante inúteis. Estes são geralmente superficiais, e no que diz respeito ao mantra "manter suas habilidades elevadas", não é muito útil para quem precisa entrar em detalhes técnicos profundos. Comprar livros, usar a internet, investigar matemática, física, arquitetura, etc., é o que me tornou útil e valioso. Em um estágio, eu era uma das cerca de 10 pessoas no mundo com conhecimentos específicos sobre um determinado assunto - todo esse conhecimento foi adquirido por auto-aprendizagem e aprendizado no trabalho.

O único momento para parar de aprender é quando você está a 6 pés abaixo em uma caixa de pinho.

    
por 07.05.2012 / 05:57
fonte
2

Há uma boa parábola sobre isso:

The annual world championship held in British Columbia. The finalists were Canadian, and Norwegian.

Their task was as follows. Each of them that a certain portion of the forest. The winner is the one who could knock down the largest number of trees from 8 am until four o'clock in the afternoon.

At eight o'clock whistle blew and two woodcutters took their positions. They cut down a tree behind a tree, while the Canadian had not heard that the Norwegian stop. Realizing that this was his chance, Canadian redoubled his efforts.

At nine o'clock in the Canadian heard that the Norwegian again went to work. And again, they worked almost simultaneously, when ten to ten Canadians have heard that the Norwegian stopped again. And again, the Canadian went to work, wanting to take advantage of the weakness of the enemy.

At ten o'clock in the Norwegian re-enter the work. Until ten minutes to eleven, he briefly not interrupted. With the growing sense of jubilation Canadian continued to work in the same rhythm, already feeling the smell of victory.

It lasted all day. Every hour of the Norwegian stayed for ten minutes, and the Canadian continued to work. When you hear about the end of the competition, at four o'clock in the afternoon, the Canadian was quite sure that the prize in his pocket.

You can imagine how he was surprised to learn that he lost.

  • How did that happen? - He asked the Norwegian. - Every hour, I heard you for ten minutes stops. Like, Damn you, you managed to cut more wood than I do? It is impossible.

  • In fact, everything is very simple - just said Norwegian. - Every hour, I stopped for ten minutes. And while you continue to chop wood, I was sharpening my ax.

Então você deve estudar o tempo todo para manter seu machado afiado .

    
por 07.05.2012 / 21:46
fonte
1
  • É crucial, caso contrário você ficará para trás

  • Eu aprendo todos os dias, no trabalho, aqui, lendo livros, perguntando e respondendo perguntas. Quanto mais eu aprendo, mais eu entendo o quão pouco eu sei.

por 06.05.2012 / 23:29
fonte
1

O auto-ensino é muito importante por dois motivos:

  • depois de seus estudos : como já foi dito em outras respostas, o auto-ensino é o que você fará em sua vida cotidiana como desenvolvedor. Você não pode saber tudo e as empresas sabem disso. O que você DEVE saber é como se aperfeiçoar. Os melhores desenvolvedores têm a capacidade de aprender novos idiomas e novas tecnologias rapidamente por si mesmos.
  • durante seus estudos : a distância entre o que os cursos universitários vão te ensinar e a realidade do que será seu trabalho é enorme. Especificamente, estou falando de manutenção e manutenção. Uma parte essencial do trabalho de um desenvolvedor consiste em manter o código legado (correções de bugs, melhorias, adição de recursos, etc.). Você pode ler A criação de novos softwares é geralmente uma parte importante da maioria dos trabalhos de programação? para mais detalhes.
    Como a manutenção do código legado é essencial, você também precisará escrever código sustentável, e isso raramente é ensinado com lições formais (consulte Como melhorar o treinamento dos alunos em relação à sustentabilidade? . Se você não pratica o auto-ensino e lê muito durante seus estudos, é improvável que você adquira as habilidades necessárias para torná-lo um desenvolvedor melhor do que a média. Não tente aprender muitas linguagens / tecnologias durante seus estudos, mas aprenda boas práticas e codifique limpo. Por exemplo, é melhor você ler "Clean Code", de Robert C. Martin, do que "Java The Complete Reference", de Herbert Schildt, durante seus estudos.
por 12.04.2017 / 09:31
fonte
-1

O autodidatismo é muito importante, pois você internaliza os conceitos do seu próprio jeito e isso realmente ajuda. Escolher um idioma para se ensinar é muito importante. As linguagens que têm uma documentação clara são muito importantes e o que você não quer ser é muito ambicioso em querer aprender muitos idiomas populares muito rápido. Como você diz que começou com c ++, eu recomendaria java para você, ele sempre funciona tão bem para programadores autodidatas.

    
por 07.05.2012 / 12:08
fonte
-1

Eu provavelmente aprendi 95% ou mais do que sei relacionado à programação tentando coisas por conta própria e aprendendo como isso funciona. A escola pode ajudar a ensinar um bom estilo de programação e otimizar o código para velocidade, etc., mas você nunca se tornará um programador "bom" apenas lendo um livro-texto. Uma ótima maneira de desenvolver habilidades de programação é encontrar problemas cotidianos que você poderia usar um computador para resolver e tentar escrever algum código para fazê-lo. Ficar preso faz parte do aprendizado. Eu comecei querendo ser um web dev, então eu faria sites fictícios com bastante frequência (não hospedá-los ou qualquer coisa, é claro) para testar novas coisas que eu queria tentar. Funcionou muito bem para mim!

    
por 07.05.2012 / 17:04
fonte
-1

Comecei a programar há 2 anos. Minha escola não sabia ensinar bem as línguas e eu tenho que ir online e fazer muitas pesquisas sobre mim mesmo. Eu sou um aprendiz mais lento e por isso levei 2 anos para escrever o meu primeiro programa, enquanto todos os meus colegas de escola ainda estão lutando ou abandonaram a programação.

Isso mostra que é melhor para um programador ser autodidata em vez de depender da escola. A escola sempre esconderá informações, pois elas acham que não estão prontas para isso.

    
por 08.05.2012 / 03:20
fonte
-3

Como sempre em matemática e ciência da computação - existem dois pontos de vista: 1. Necessário e 2. contornos suficientes

  1. É necessário (auto) aprender ao longo da sua vida. Nenhuma outra opção para ser e continuar sendo um bom programador.
  2. O ponto acima não é condição suficiente - você deve ter formação sólida em matemática - ensino médio e, em seguida, se formar uma boa universidade no campo da ciência da computação. Esta é (talvez) a condição suficiente. Seu cérebro deve ser ensinado a pensar algoritmicamente. Isso NÃO PODE ser alcançado por auto-aprendizagem.
por 07.05.2012 / 09:01
fonte