A programação em geral se torna mais fácil de ler, escrever e entender à medida que você ganha experiência? [fechadas]

80

Sou iniciante em programação e tenho lido livros, estudado, lido artigos e outros enfeites. Estou obtendo ótimos resultados desde que comecei a aprender programação e, quando era iniciante, pensava que sabia tudo sobre programação, mas, à medida que aprendi mais, percebi o quão difícil é esse campo (na verdade, todos os campos são difíceis, Mas esse não é o ponto).

Atualmente, eu escrevi software funcional e aprendi o básico de 3 idiomas e sou intermediário em apenas um idioma. Quando olho para coisas avançadas como MYSQL, programação OpenGL, ou mesmo código C ++ do visual studio, fico com dores de cabeça e até mesmo visualizando o código-fonte HTML de muitos sites (a maioria dos códigos-fonte em sites vistos pelo google chrome parece muito bagunçada e desorganizada ) me deixa confuso até o limite do meu cérebro. Tudo parece simples no começo, mas, ao olhar para essas coisas avançadas, me faz pensar em como aprender tanto.

A questão, em poucas palavras, é se essas coisas se tornam mais claras para um programador à medida que ele avança em sua carreira. Os tópicos complicados, como os listados acima (OpenGL, MySQL, sites avançados de html), tornam-se mais fáceis de ler, escrever e entender à medida que você aprende mais, ou fica mais complicado à medida que avança? Como você pode combater esse sentimento de que você é uma formiga no mundo da programação e esse material está prestes a esmagá-lo?

Bugster
fonte
24
Eu sugiro que você leia isto: norvig.com/21-days.html
James P.
Como qualquer outra coisa, sim. Até a tecnologia mudar em você. :-)
MathAttack
3
Enquanto sua "experiência" não estiver lendo as mesmas coisas repetidamente. Estique-se com coisas novas.
JeffO 18/02/12
uma pequena dica, para analisar páginas HTML complexas, convém usar o Firebug do Firefox ou o Inspect Element do Chrome.
Lie Ryan
6
"quando eu era iniciante, pensava que sabia tudo sobre programação". Estive lá e quanto mais aprendo, mais percebo o quão pouco sei.
Lieven Keersmaekers

Respostas:

134

Resposta curta: não.

Resposta longa:

Ler código de outras pessoas fica mais fácil, sim. Mas apenas lendo. À medida que você ganha experiência e habilidades, seus requisitos pessoais como desenvolvedor aumentam.

  • Você não quer apenas escrever código. Você quer escrever um código bonito .

  • Você não supõe que seu código seja executado em condições ideais . Você começa a pensar em todas as coisas ruins que podem acontecer ao executar seu código, manipular exceções, pensar em problemas de hardware, latência de rede e o problema aumenta à medida que suas habilidades aumentam.

  • Você não lê e escreve código no único idioma que conhece. Como desenvolvedor habilidoso, você sabe que, para resolver esse problema específico que você tem agora, a programação funcional é uma alternativa muito melhor ; portanto, você deve agora ler e escrever código na linguagem de programação funcional.

  • Você não se limita a um pequeno conjunto de bibliotecas que conhece. Se você codifica em C #, deseja conhecer e usar todo o poder de muitas bibliotecas do .NET Framework.

  • Você não usa mais o bloco de notas. Você precisa do seu poderoso IDE e deseja saber como codificar o teste de unidade, quais são as métricas de código e qual é o significado de centenas de opções e janelas que seu IDE pode mostrar para você.

  • Você não quer se limitar modestamente a um conjunto básico de ferramentas fornecidas pelo idioma . Em C #, você deseja usar genéricos, contratos de código, reflexão, desenvolvimento orientado a eventos, aspectos funcionais com LINQ, extensões reativas e várias outras coisas que aprendeu, tudo em um único projeto, se essas coisas o ajudarem a escrever melhor código.

  • Você não começa a escrever código . Você gasta 80 a 90% do seu tempo reunindo requisitos , criando a arquitetura do seu aplicativo, escrevendo testes de unidade, escrevendo documentação, etc., e apenas 10 a 20% do seu tempo escrevendo código real .

  • Você se preocupa com segurança . Você conhece os problemas legais que podem surgir com os dados manipulados por seus aplicativos. Você sabe o que é ITIL . Você conhece alguns padrões ISO e os aplica diariamente em seu trabalho.

Sim, você ganha experiência e habilidades, e fica mais fácil resolver um determinado problema com todo o conhecimento e habilidades intelectuais que você adquiriu. Mas os problemas que você deve resolver também crescem, e você não está animado para resolver os problemas do nível daqueles que resolvi quando você começou a programar.

Ao adquirir habilidades, você também obtém uma visão sobre a complexidade do desenvolvimento de software, aprende os aspectos que nem imaginava quando começou a aprender programação e deseja e precisa aplicar tudo o que aprende diariamente.

Em resumo:

  1. No primeiro dia em que você começa a aprender a programar, a tarefa de listar todos os números de 1 a 100 divisíveis por dois é muito complexa: você acabou de aprender como criar loops e exibir números na tela, mas não tem idéia de como descobrir se o número é divisível por dois.

  2. Dez anos depois, o mesmo exercício parece ser extremamente simples. Mas também, dez anos depois, você está escrevendo aplicativos que devem usar transações, hospedados em vários servidores e devem lidar adequadamente com o estado da sessão entre servidores, além de armazenar detalhes da conta bancária de seus clientes, com todos os aspectos legais e de segurança resultantes.

  3. ... E você está se perguntando "Como eu poderia fazer isso?" exatamente da mesma maneira que você fez dez anos atrás, quando teve que exibir números em uma tela com um loop.

Quando tudo se torna fácil para você em um domínio, significa que você alcançou a perfeição nesse domínio ou simplesmente não se importa mais.

Alcançar a perfeição em um domínio tão vasto quanto o desenvolvimento de software é impossível, não importa quão inteligente você seja.

Arseni Mourzenko
fonte
36
Andar sobre a água e desenvolvimento de software a partir de uma especificação são fáceis se ambos são congelados (isso mostra que "Você não começar a escrever código Você passa meses coleta de requisitos." É um pouco irrealista)
jfs
9
"a programação funcional é uma alternativa muito melhor " é discutível.
jfs
15
Eu certamente espero que o bit "programação funcional" seja apenas um exemplo de "use a ferramenta certa para o trabalho", em vez de implicar que a programação funcional seja realmente melhor para uso geral.
Ben Brocka
7
Também observarei que "meses reunindo requisitos" sem desenvolvimento só acontecerá basicamente em um modelo Waterfall idealizado. Se você não está repetindo, está se matando e com o projeto.
Ben Brocka
8
"Nunca fica mais fácil, você apenas vai mais rápido." / Greg LeMond /
daGrevis
20

Quando criança, você aprende a falar e depois a ler sua língua nativa. A mecânica clara disso é uma luta a princípio, mas em algum momento ela vem fluentemente. No entanto, você ainda tem um suprimento infinito de livros que não leu e, em alguns tópicos, precisa aumentar seu vocabulário primeiro apenas para poder entender o livro.

O mesmo vale para a programação de computadores. Em algum momento, o próprio idioma deixa de parecer um idioma estrangeiro, mas ainda há muitas coisas escritas nesse idioma que você ainda não conhece. Mas tudo é acessível a você com algum esforço.

Alguns trabalhos de programação são muito repetitivos, basicamente reimplementando software muito semelhante para diferentes clientes. Nesses trabalhos, você pode sentir como se tivesse atingido um platô de aprendizado. Em outros trabalhos, você está fazendo algo novo e único o tempo todo e nunca para de aprender coisas novas.

Karl Bielefeldt
fonte
18

Já existem algumas respostas muito boas aqui, mas pensei em acrescentar mais alguns breves pontos:

quando eu era iniciante, pensava que sabia tudo sobre programação, mas, ao aprender mais, percebi o quão difícil é esse campo.

Isso é chamado de efeito Dunning-Kruger . É extremamente comum entre programadores iniciantes e, de fato, iniciantes em muitos campos.

A maioria dos códigos-fonte em sites, vistos pelo google chrome, parecem muito confusos e desorganizados

As pessoas que escreveram esses sites queriam que você os entendesse? Provavelmente não. É do interesse deles ter um código difícil de entender.

isso apenas me faz pensar como alguém pode aprender tanto.

Por especializada . Sou especialista em um campo extraordinariamente estreito: o design e a implementação de analisadores semânticos do compilador C #. Se eu tivesse passado quinze anos estudando OpenGL ou XML ou HTML ou qualquer outra coisa, eu seria um especialista nisso e ficaria intrigado com os analisadores semânticos. Mas não o fiz e, portanto, tenho apenas um entendimento muito básico de OpenGL, XML e HTML.

A questão, em poucas palavras, é se essas coisas se tornam mais claras para um programador à medida que ele avança em sua carreira.

Sim, porque você começa a ver os padrões maiores. Veja o OpenGL, por exemplo. Você provavelmente já viu várias "bibliotecas de API" - grandes partes de código relacionado, onde a maneira como você interage com o código é chamando várias funções nomeadas com argumentos específicos. E você pode obter um entendimento básico do OpenGL apenas entendendo que é uma API.

Quando você obtém mais experiência e vê várias técnicas de programação diferentes, percebe que tecnologias aparentemente não relacionadas - digamos, OpenGL e LINQ em C # - têm pontos em comum. Ambas são APIs nas quais você cria fluxos de trabalho que canalizam dados e que você pode executar otimizadores e outras transformações no fluxo de trabalho de maneiras ricas e interessantes. Depois de ter esse conceito na sua caixa de ferramentas, de repente fica muito mais fácil explorar todo o poder de qualquer API que use esse padrão.

Os tópicos complicados, como os listados acima (OpenGL, MySQL, sites avançados de html), tornam-se mais fáceis de ler, escrever e entender à medida que você aprende mais, ou fica mais complicado à medida que avança?

Eles se tornam mais fáceis e mais complicados. Mais fácil porque, como eu disse, você começa a reconhecer os padrões mais amplos de pensamento subjacentes ao design do sistema, o que permite que você use o sistema com mais eficiência. Mais complicado porque agora você pode usar o sistema para resolver problemas mais complicados e começar a se deparar com as limitações do sistema.

Como você pode combater esse sentimento de que você é uma formiga no mundo da programação e esse material está prestes a esmagá-lo?

Você é uma formiga; somos todos formigas. Mas o material não é o pé que esmaga você; é o mundo em que você começa a explorar, viver, se beneficiar e melhorar. Você, formiga, só consegue explorar uma parte minúscula dela. Escolha uma peça que você gosta, onde você pode agregar valor real e se tornar um especialista nela.

Eric Lippert
fonte
2
Muito obrigado por esta resposta, está acima das demais porque não apenas responde à minha pergunta principal, mas também abre meus olhos para certas coisas. +1
Bugster
@ Eric: O que você diria a uma pessoa nesse tipo de tópico em que ele diz "especialização é para insetos, não para humanos"?
quer
@JoanVenge Alguém diria isso? Geralmente, as pessoas se especializam e são únicas, e muito mais se sentem a necessidade de se diferenciar dos animais (ou insetos).
Matthew Leia
1
você entende mal qual é o efeito Dunning-Kruger que é definido como a incapacidade do não qualificado de reconhecer sua própria ineptidão e avaliar sua própria capacidade com precisão . Se você não consegue reconhecer, não sabe tudo, nunca pode aprender algo novo. Se você pode reconhecê-lo, não é DKE.
+1 para Escolha uma peça que você gosta, onde você pode agregar valor real e se tornar um especialista nela.
Akshay Khot
14

Resposta curta, sim.

Com tempo e exposição, essas coisas se tornam mais fáceis de compreender.

Lembre-se de que quando você está visualizando sites nas ferramentas de desenvolvimento do seu navegador, elas geralmente são geradas por uma estrutura. Que isso seja um número incontável de coisas ... ASP.NET, JSP, RoR, Django, ... quem sabe. Algumas dessas estruturas produzem código mais limpo que outras.

No fechamento ... a exposição leva à proficiência. Não há como reprimir esse sentimento. Apenas experimente e aprenda. Leva tempo para avançar, adquirir conhecimento de domínio e aprender as habilidades que seu ambiente usa.

Equipamento
fonte
1
Há alguma verdade nisso, desde que a pessoa que escreveu o código esteja usando boas práticas e os idiomas usuais da linguagem em particular e dos programadores em geral. Uma codificação incorreta e / ou ofuscação deliberada pode atrasar o rastreamento. Tente acessar o CodeGolf.SE . Mesmo as versões "claras" podem ser difíceis, porque boas práticas foram sacrificadas na alteração da métrica do concurso.
dmckee
@dmckee Mesmo códigos ruins se tornam muito mais fáceis de ler com a experiência. Percebo isso em particular no C ++ (e tive que ler muito código incorreto). Claro que é um obstáculo extremo, mas, no entanto, fica muito mais fácil quando você começa a detectar padrões de design incorreto e erros comuns. Eles também formam um tipo de idioma que você aprenderá.
22912 Konrad Rudolph
2

Eu concordo com algumas das respostas já dadas, mas acho que elas também são um ponto subjacente que não está sendo discutido sobre a leitura de código. Quando eu comecei a olhar para algum código-fonte aberto, ele parecia esmagador e enorme. Mas adivinhem? sempre será enorme. Em algum momento, você percebe que fica melhor em extrair o que deseja saber especificamente e seguir em frente.

Um exemplo que você deu foi analisar um monte de código HTML, no entanto:

Por que você está vendo o código HTML? Provavelmente não porque você deseja aprender o HTML de todo o site. Provavelmente, há um truque específico que você espera aprender. Nesse caso, basta encontrar o HTML relevante com uma ferramenta como o firebug.

Se você realmente deseja aprender como todo o site é criado, percebeu que o HTML renderizado não é o caminho para fazê-lo. Seria melhor procurar um projeto de código aberto usando tecnologia semelhante. No entanto, tentar aprender o código de um projeto inteiro não vale tanto quanto parece. É chato, demorado, fácil de esquecer o que você aprendeu e você não tem nada para mostrar no final. Você aprenderá menos lendo o código de outras pessoas sem parar e muito mais, usando partes específicas e interessantes para escrever plug-ins, adições de recursos ou como andaimes e conselhos para seus próprios projetos.

Tente aprender o mínimo absoluto para obter algo do seu próprio trabalho. Volte apenas aos seus pontos de referência quando ficar parado ou quiser aprender algo novo específico. Isso vai contra a sabedoria convencional de que você precisa entender tudo ou então está programando no escuro. Mas, eventualmente, você percebe que esse objetivo é impossível e aprende a equilibrar os objetivos de saber tudo e o objetivo de realmente terminar o que está trabalhando.

Sistema métrico
fonte
2

A resposta curta é SIM, mas muito depende de como você define a experiência.

Eu acho que há pelo menos três partes no desenvolvimento. À medida que você melhora em cada segmento, certas coisas ficam mais claras.

  1. Entendendo os requisitos de negócios . Isso oferece uma melhor visão geral do aplicativo. Quanto melhor você entender por que as regras de negócios são o que são, mais rapidamente entenderá por que certas coisas são feitas de uma certa maneira. Por exemplo, seus clientes precisam cumprir a regulamentação governamental X, e é por isso que eles precisam preparar o documento Y, e é por isso que eles precisam dessas informações aparentemente inúteis armazenadas.

  2. Compreendendo os requisitos TÉCNICOS . É como o número 1, exceto pelo fato de entender o porquê em um nível técnico. Algumas ferramentas e tecnologias têm suas próprias peculiaridades, até você lidar com elas antes que seja difícil entender por que as coisas são feitas de uma certa maneira. Isso é mais aparente quando você lida com sistemas legados. Por exemplo, o aplicativo usa um barramento de serviço específico que usa apenas XML.

  3. Compreendendo os requisitos de LANGUAGE . Como outros já mencionaram, quanto mais experiente você tiver um idioma, mais rápido poderá ler o que o codificador original estava tentando obter. No entanto, sem os nºs 1 e 2, você descobrirá que essa capacidade aumentada atinge o pico rapidamente.

Tente se envolver em vários aspectos do desenvolvimento, porque ele realmente não se torna mais fácil até que você tenha feito todas as áreas pelo menos algumas vezes.

Lembre-se de que a perfeição (e a finalidade) no código de outra pessoa é sempre relativa aos números 1 e 2. Esses são os principais motivadores do motivo pelo qual o código está no estado em que ele está. As mudanças frequentes nessas duas áreas são a maior razão pela qual obtemos código espaguete o tempo todo. Portanto, a menos que você seja adepto da leitura dos requisitos comerciais e técnicos, a tarefa de ler o código sempre será uma PITA real.

Permas
fonte
2

Fica mais fácil e mais complicado ao mesmo tempo!

Conhecer os outros é sabedoria;
Conhecer o eu é iluminação.
Dominar os outros requer força;
Dominar o eu requer força;
Quem sabe que tem o suficiente é rico.
Perseverança é um sinal de força de vontade.
Quem fica onde está, permanece.
Morrer, mas não perecer, é estar eternamente presente.

traduzido para Desenvolvimento de Software

Conhecer muitas tecnologias é sabedoria. (Tudo descende da ALGOL)
Saber o que você não sabe é iluminação. (LISP) O
domínio de muitas linguagens, estruturas e plataformas exige muito esforço. (Java)
Dominar apenas o que você precisa saber e apenas isso exige força. (e Google ou stackoverflow.com)
Saber quando parar de codificar e fornecer algo é quando você sabe o suficiente. (Sem paralisia de análise ou revestimento de ouro)
Continue trabalhando no que você está tentando alcançar, isso requer foco e força de vontade. (Tudo muda constantemente, você nunca termina)
Fique com uma ou duas tecnologias e você resistirá. (COBOL ainda paga bem, assim como C)
Parar de programar e passar para o gerenciamento é estar eternamente presente. (ou deixe um legado do software FOSS que todos continuarão a usar bem depois que você morrer).


fonte
Então, ao invés de ser uma formiga, você deve ser uma barata e se levantar quando ela a esmagar, estou certo? :-P
Bugster
"Analysis Paralysis"! = "Sabe quando parar a codificação". É mais "saber quando começar a codificar".
Ben Voigt
0

A questão, em poucas palavras, é se essas coisas se tornam mais claras para um programador à medida que ele avança em sua carreira. Os tópicos complicados, como os listados acima (OpenGL, MySQL, sites avançados de html), tornam-se mais fáceis de ler, escrever e entender à medida que você aprende mais, ou fica mais complicado à medida que avança? Como você pode combater esse sentimento de que você é uma formiga no mundo da programação e esse material está prestes a esmagá-lo?

Vou adotar uma abordagem ligeiramente diferente da dos outros entrevistados; Acredito que ler e escrever código de fato fica mais fácil à medida que você faz mais, e vou demonstrá-lo com uma analogia simples.

Pense em quando você começou a praticar esportes. No começo do primeiro esporte que você aprendeu, a coordenação básica para as tarefas simples de um único esporte provavelmente parecia muito difícil. À medida que você se tornou um pouco mais experiente, começou a dominar as tarefas simples, para não precisar mais pensar nelas, e percebeu que havia tarefas mais complexas nas quais podia prestar atenção (como observar outros jogadores a prever Seu comportamento).

Então, quando você experimentou outro esporte, provavelmente descobriu que não estava tão atrasado quando começou. Pegar uma bola de basquete é muito diferente de pegar uma bola de beisebol, mas alguém que domina uma delas terá muito mais facilidade em pegar a outra do que uma pessoa que nunca fez uma delas antes. Com sua experiência na prática de um segundo esporte, você descobriu que o primeiro esporte lhe dava habilidades específicas e genéricas . Habilidades específicas (pegar uma bola de basquete) são úteis apenas em seu domínio, mas as habilidades genéricas (rastrear um objeto em movimento rápido que se aproxima no espaço tridimensional e desenvolver um plano para lidar com isso) o tornam melhor em todos os domínios relacionados.


O que isso tem a ver com programação? A primeira linha de código que você lê o expõe a um mundo construído sob certas regras. Você aprendeu essas regras (sintaxe e expressões desse idioma) como habilidades específicas, mas também aprendeu algumas habilidades genéricas valiosas: entender como os computadores operam internamente e como expressar suas intenções da maneira que um computador possa entender. Cada novo idioma que você aprende fornece novas habilidades específicas, mas também fortalece suas habilidades genéricas e ajuda a ver os padrões percorridos em todas as linguagens de computador, como depósitos minerais em camadas ao longo de uma parede de desfiladeiro. Depois de se familiarizar com alguns idiomas diferentes, você começa a reconhecer a "forma" da maioria dos códigos, se perdoar a imprecisão, mesmo que não saiba nada sobre o idioma em que está escrito.

Por exemplo, todas as três linguagens que você mencionou (MYSQL, OpenGL, C ++) têm alguns recursos comuns:

  • É possível calcular pequenas partes de um algoritmo separadamente e compor em uma solução completa posteriormente.
  • O computador geralmente requer uma certa preparação geral antes que você possa começar a trabalhar no seu problema específico (criar uma tabela, inicializar uma tela ou talvez carregar bibliotecas comuns)
  • As instruções anteriores têm precedência e afetam as instruções posteriores, ou seja, o computador inicia na parte superior do código e desce

Quanto mais programação você fizer, mais perceberá que, independentemente do formato da bola, ainda é apenas uma bola vindo em sua direção e você sabe o que fazer com ela sem ter que pensar muito a respeito. Toda a programação consiste em tentar expressar suas intenções de uma maneira que o computador possa entender; aprenda o suficiente e você começará a ler as intenções em vez do código.

PS - Toda vez que, quando você finalmente começar a sentir que sabe o que fazer, encontrará algo que absolutamente quebra seu cérebro e faz você se sentir como um novato. É isso que amamos neste trabalho, sempre há algo novo para aprender.

Faz-tudo5
fonte
0

Resposta curta: Sim , em geral

No entanto, você não se tornará um especialista se generalizar. Tornar-se especialista também significa realizar todas as coisas que você não sabe: isso pode ser uma sensação avassaladora.

À medida que você avança no tempo, ganha experiência.

À medida que você avança no tempo, outros idiomas / padrões etc. estão se desenvolvendo paralelamente ao seu desenvolvimento.

Outra variável para sua pergunta é se você está obtendo uma experiência significativa em relação à indústria, pois ela também se move no mesmo tempo constante. A indústria de tecnologia é um alvo em movimento e diferente da maioria das outras indústrias.

Uma boa pergunta também pode ser: você está se espalhando demais ou grosso em um determinado idioma.

EhevuTov
fonte
0

É uma fonte inesgotável de admiração (e ansiedade) quantas linguagens de computador existem e até que ponto elas continuam mudando. Adicione a isso, o número de estruturas diferentes em cada idioma e para cada estrutura, a vasta gama de bibliotecas e plug-ins disponíveis. Acrescente a isso o número de editores de código e IDEs.

Todas essas variações têm duas dimensões de complexidade.

  1. Seu vocabulário e sintaxe são diferentes.
  2. As abstrações (conceitos de alto nível) que eles suportam são diferentes.

Eles também têm uma coisa em comum. Turing completude. Com esforço suficiente por parte de um programador, todos eles podem ser usados ​​para resolver todos os problemas! Portanto, se você começar com uma linguagem como C (vocabulário pequeno, sintaxe complexa e quase sem abstrações), definitivamente sentirá que pode fazer qualquer coisa (com toda a razão).

Depois, mude para "coisas fáceis" como CSS, HTML, Javascript e talvez também estruturas como Bootstrap e React, e seu cérebro fritará - como faria o de Albert Einstein. As pessoas pensam "eu sei francês, então aprender alemão deve ser fácil". Não!

Muitas abstrações de programação podem ser aprendidas a partir de padrões de software . Existem vários livros dedicados ao tópico. Os padrões estão em toda parte, são independentes da linguagem e podem ser aprendidos e entendidos uma vez . Se você conhece seus padrões, pode usá-los em qualquer idioma e reconhecê-los quando incorporados em idiomas e com mais frequência em várias estruturas.

A maioria das pessoas leva de um a dois anos para se tornar fluente em um novo idioma e os empregadores sabem disso. É por isso que eles não contratam pessoas não experientes em seu idioma, porque o novo funcionário gasta muito tempo lutando com o idioma e pouco tempo realmente resolvendo os problemas de negócios.

Em resumo, os princípios / abstrações da ciência da computação, os padrões de software e o tipo de problemas de negócios que você encontra, todos mudam lentamente. Você pode aprender uma vez e acumular novos conhecimentos de forma incremental. Por outro lado, linguagens de computador, estruturas, os chamados "ecossistemas" e bibliotecas de componentes mudam muito rapidamente, assim como todas as ferramentas que os cercam. Aqui espere que o ritmo de aprendizado seja lento e demorado!

bcperth
fonte
-1

Os tópicos complicados, como os listados acima (OpenGL, MySQL, sites avançados de html), tornam-se mais fáceis de ler, escrever e entender à medida que você aprende mais, ou fica mais complicado à medida que avança? Como você pode combater esse sentimento de que você é uma formiga no mundo da programação e esse material está prestes a esmagá-lo?

Quando qualquer progresso é feito, desaprendemos e aprendemos novamente o que pensávamos que sabíamos antes. - Henry David Thoreau

Há uma história do mestre zen e da xícara de chá transbordante .

Às vezes, precisamos abandonar nossas noções e opiniões pré-concebidas do passado, para que possamos aprender novos conceitos.

Lembre-se: Se você está se sentindo oprimido por um novo conceito, precisa procurar muitos professores.

Recentemente, quando recebi a tarefa de atualizar algum software interno da empresa que usava uma linguagem de script que eu não conhecia. No começo, era muito estressante. No entanto, depois que mudei de atitude, comecei a encontrar recursos que explicavam a sintaxe e os conceitos básicos. Concluí o projeto e agora utilizo essa linguagem de script como uma das minhas ferramentas para realizar mais tarefas.

Sua atitude faz toda a diferença.

mrwes
fonte