Se você não aprender isso, nunca vai aprender PROGRAMAÇÃO!
Se eu pudesse mudar apenas uma coisa sobre o tempo que passei aprendendo programação, não mudaria os cursos que fiz nem a linguagem com a qual comecei, mas sim a minha mentalidade ao longo do processo.
Esse post é a versão em texto do vídeo que postei no meu canal novo do youtube, minha proposta é falar sobre programação com vídeos dinâmicos, bem editados e com uma pegada Acelerada ⚡️ Conheça aqui canal
Foque na prática, não na teoria
Programar é uma habilidade que se aprimora com o tempo, assim como um idioma. Você já sabe, ou deveria saber, que a forma como aprendemos inglês na escola está errada. O correto seria aprender um novo idioma da mesma forma que aprendemos nosso idioma nativo, falando e escutando, não estudando gramática. Aprender programação é a mesma coisa. Aprenda programando e depois aprofunde seus conhecimentos sobre linguagens e assuntos específicos.
Seu ego é seu maior inimigo
A coisa mais comum que vemos por aí são novatos empolgados querendo clonar projetos extremamente complexos e querendo ficar milionários da noite para o dia com projetos revolucionários. Deixe o ego de lado e não pense que projetos básicos com apenas HTML e CSS estão abaixo de você. Comece pelo básico e vá aprendendo com o tempo.
Seja confortável com o desconforto
Não é sua obrigação saber de tudo e nunca será, mas esteja preparado para desafios. Como profissional, dentro do seu domínio, será esperado que você resolva problemas, mesmo que inicialmente não saiba como. Mesmo que isso seja desconfortável, não há como escapar desse sentimento, mas você deve aprender a lidar com ele e até mesmo apreciá-lo, pois faz parte do trabalho e é uma oportunidade de aprendizado.
Não procure dominar a programação
Vejo muitas perguntas sobre como dominar rapidamente uma determinada linguagem ou se é melhor dominar HTML antes do CSS, mas isso é perder o foco para iniciantes. No começo, você não precisa dominar as linguagens, mas sim construir coisas com elas. Quanto mais coisas você construir, melhor. A programação é uma habilidade artesanal. Entenda os conceitos vagamente ao assistir tutoriais ou ler livros e aplique-os repetidamente em projetos, sempre buscando melhorar. Os bons programadores conhecem bem os fundamentos, não apenas lendo livros ou assistindo a tutoriais em vídeo, mas construindo vários projetos e sempre desejando aprender mais, praticando e tendo paciência.
Conclusão
Lembre-se, essas mudanças de mentalidade são cruciais para se tornar um programador eficiente e em constante evolução. Dominar a arte da programação requer prática, humildade, conforto no desconforto e uma mentalidade aberta para aprender continuamente.
Minha opinião, baseada na minha vivência
Discordo muito disso aqui:
Foque na prática, não na teoria
Seu comentário a respeito disso dá a entender que a teoria é perda de tempo, quando na vida real quem não se preocupa em entender o motivo das coisas serem como são não vai muito longe, ainda mais em uma carreira bastante técnica como a nossa.
Sobre isso aqui:
O correto seria aprender um novo idioma da mesma forma que aprendemos nosso idioma nativo, falando e escutando, não estudando gramática.
Discordo novamente, nós não aprendemos nosso idioma nativo apenas falando e escutando. Já teve a oportunidade de interagir com pessoas que não tiveram a oportunidade de ter um ensino formal básico? Acha que seriamos capazes de criar um texto como estes dessa página, com pontuação, regras e etc. se a gente não tivesse aprendido gramática?
Além disso, não faz sentido dizer que gramática é teoria e conversação é prática.
Vejo muita gente, principalmente iniciantes, que ficam travados em coisas bobas justamente pq não sabem a teoria por trás daquilo, ou simplesmente não consegue criar uma solução interessante pois está preso apenas no que aprendeu na prática.
Todo mundo que é mais experiente aqui já viu alguém preso em um problema de algoritmo simples, pois não consegue conectar os pontos. Isso é muito comum em quem aprende apenas por vídeo de youtube e similares, a natureza desse tipo de aprendizado tem cada vez mais feito pessoas "aprenderem na prática" copiando o que o instrutor fala.
O típico profissional que só sabe fazer contas com maçãs e não com laranjas.
Hoje mesmo ajudei um rapaz que não conseguia entender como o useState do React funcionava pois ele mesmo não sabe muito bem o que é um estado.
Minha sugestão: Pratique a teoria
Como eu comentei antes, as pessoas que sabem a teoria por trás de algum conhecimento tem muito mais velocidade e facilidade de modificar, dobrar, testar, manipular um recurso pois sabe o que está fazendo.
Quando se está aprendendo algo em programação, eu não vejo problemas em começar pela prática ou pela teoria, a ordem não importa tanto assim, desde que você providencie dar atenção para cada um dos lados da moeda.
Assim como os demais que já responderam, também discordo do "Foque na prática, não na teoria".
Hoje o que mais tem é "curso" que só foca na prática. O famoso "sai fazendo", sem entender o que, como e porque aquilo está sendo feito.
Tais "cursos" pulam (ou sequer mencionam) os fundamentos - aquilo que muita gente chama de "teoria chata" e diz que é inútil: algoritmos, estruturas de dados, lógica. Ou seja, coisas importantíssimas, a base de tudo, que vão te tornar um profissional muito melhor.
Claro que prática também é importante, mas ignorar completamente a teoria é um erro enorme.
Bem eu estou fazendo um curso, você acha que devo pular para a prática ou continuando as aulas? Ou interligar os dois?