Agora que já passou pela parte de planejamento e criação gráfica do projeto, chegou a parte mais trabalhosa – a programação da lógica que vai fazê-lo funcionar.
A minha intenção nesta parte é contar um pouco sobre minha experiência de como consegui progredir na área de programação, mesmo não tendo um conhecimento técnico adequado, como ciência da computação ou similar. Vale lembrar – minha formação foi em desenho industrial e consegui adquirir um conhecimento vasto, estudando por conta própria e na medida em que as demandas foram aparecendo.
Entenda esta parte como um estímulo para não desistir e saber que todos nós passamos por dificuldades na aprendizagem. Talvez, estas dificuldades não sejam muito evidenciadas para quem ensina, pois o processo e a mecânica se tornam bem naturais. Imagino que, se eu contar um pouco da minha trajetória e mesclar com algumas sugestões de como prosseguir, vai conseguir fazer uma aproximação com a sua situação e entendimento. Vamos em frente!
Na minha avaliação, se seu projeto for voltado para web, necessariamente precisa dominar HTML e CSS. Javascript, seria muito bom também. Caso ainda não tenha domínio sobre javascript, não vejo muito problema em avançar. Eu mesmo só fui conhecer um pouco melhor javascript depois de 2 anos trabalhando na área. Tudo bem que naquela época (início dos anos 2000), javascript não era tão requisitado como é hoje. Acredito que não consiga sobreviver 2 anos sem saber direito javascript.
O meu ponto é: não se desespere se, no início, não entender direito javacript. Aliás, talvez seja interessante trabalhar um pouco com HTML / CSS inicialmente e sentir falta de “alguma coisa” para complementar seu objetivo. Talvez esta “alguma coisa” seja justamente o javascript.
Bom, continuamos. Se seu projeto for bem simples, poderá resolver com HTML / CSS ou HTML / CSS / javascript. Ou melhor, se seu projeto não tiver conteúdo dinâmico. Mas o que seria conteúdo dinâmico? Não deixe o nome te enganar. Talvez não seja o que pensou inicialmente. Resumindo: seria conteúdo que não é estático. Conteúdo que não muda. Mas como o conteúdo mudaria? Talvez por dados contidos num banco de dados. Tenha calma se começar a se perder. Estou jogando alguns conceitos no ar para perceber que as questões começam a se ampliar e, em algum momento, terá que se aprofundar nos detalhes de cada questão. Especialmente porque o mercado de desenvolvimento é bem feroz e exigente.
É um mercado que está com bastante carência de profissionais – isso é fato. Mas também é um mercado que exige, cada vez mais, conhecimentos avançados. E para adquirir tais conhecimentos, não basta somente estudar linguagens e tecnologias. Tem que colocar a mão na massa para saber o porquê está precisando daqueles recursos e fixar o conhecimento. Necessita de tempo de intimidade com as linguagens e ambientes de hospedagens para entender como funcionam e quais seriam as limitações. Enfim, precisa de experiência.
Não digo experiência num trabalho formal. Digo qualquer tipo de experiência. A melhor forma de adquirir tal experiência seria num projeto real. Este projeto real pode ser falso. Digo, não falso, mas um projeto para você mesmo. O projeto não será real, no sentido que, não foi encomendado por alguém. Mas será real, pois será feito para você.
Então, o que sugiro? Sugiro pensar num projeto para você. Seja seu site pessoal para vender projetos, seja um site para um empresa que gostaria de montar ou seja uma idéia de um “produto digital” que gostaria de criar.
Esta última hipótese seria a melhor opção. Porém, sem dúvida, o caminho mais difícil. Caminhos difíceis são mais longos, mas te proporciona conhecimento mais extenso. Sua escolha vai depender muito de sua personalidade e sua situação financeira. Se escolher um caminho longo, pode demorar mais para conseguir ser remunerado. Contudo, se tiver esta condição de espera, pode ser um caminho inteligente, pois não só começará a ser remunerado de uma forma mais segura, mas também pode ter impacto na qualidade da remuneração. Pode ser que sua hora de trabalho seja recompensada com valores mais altos. Onde quero chegar com isso? Simples – quanto mais você estuda e se prepara para prestar o serviço, mais rápido você vai fazer aquele serviço ou vai conseguir alcançar um grau de conhecimento que te remunere melhor.
Onde estávamos? Ah, sim. Se seu projeto teria conteúdo dinâmico. Voltando – conteúdo dinâmico, seria um conteúdo que teria a possibilidade de mudança. Provavelmente retirado de um banco de dados. Um banco de dados serve para armazenar dados. E linguagens dinâmicas, como PHP, ASP.NET/C#, Javascript, entre muitos outros, servem para conseguir interagir com mecanismos de armazenamento de dados para trazer o conteúdo e estruturar de tal forma que consiga ser apresentado ao visitante ou usuário. Ufa! Continuamos.
Tecnologia avança avassaladoramente. Isso é bom e, ao mesmo tempo, é ruim. O lado positivo é que, como avança bastante, torna-se também mais fácil de entender como funcionam linguagens dinâmicas, pois as próprias linguagens vêm evoluindo e sempre tentando deixar seu uso mais amigável.
Apenas um pequeno relato sobre meus primeiros contatos com linguagem dinâmica. Minha primeira tentativa foi com ASP, hoje conhecida como ASP Clássico. Resumindo bastante, tive que ler 3 livros para conseguir entender minimamente do que se tratava e quais seriam suas aplicações práticas. Não é exagero. Foram 3 livros, de fato. Mas o problema não era somente minha limitação de formação. Tratava-se também de como o livro conduzia o ensino. Isso pode acontecer contigo.
Hoje em dia, acho difícil você se aventurar num livro de programação para tentar aprender. Ainda mais com a quantidade de tutoriais em vídeo disponíveis. Mas, trazendo para a realidade de hoje, pode ser que você não se identifique com um estilo de condução das vídeoaulas. Não desista. Veja um próximo, até encontrar um que se encaixe no seu estilo.
Depois que eu aprendi esta primeira linguagem, as outras foram mais fáceis. Ops, usei a palavra errada. Foram menos difíceis. Não se iluda. Não é porque você sabe uma linguagem que as próximas serão fáceis de aprender. Serão menos difíceis. Entenda isso. Cada linguagem tem sua própria arquitetura. Seus macetes. Suas vantagens e desvantagens. As linguagens podem até compartilhar alguns conceitos similares, mas não se engane achando que se dominar uma, vai dominar outras com facilidade.
Já vou dar outra ducha de água fria. Dificilmente, você ficará restrito numa só linguagem pelo resto da sua vida profissional. Já tenha em mente que vai precisar migrar. Constantemente. Ou será chutado, cada vez mais cedo, do mercado.
Mais relatos desanimadores: Eu devo estar na minha 5º linguagem e penando um pouco para fazer exatamente o que eu já fazia durante 10 anos de trabalho no mercado. É assim e pronto. Você vai refazer a mesma coisa de outras formas. Não sabemos exatamente o motivo que as tecnologias vão migrando, mas vão. Tornam-se uma espécie de “moda”. Além disso, em algum momento vai aprender uma linguagem que vai se tornar obsoleta rapidamente. Lá se vão 6 meses em vão. Normal.
Porém, dentre todos estes relatos negativos, tem um positivo. A lógica de programação não muda muito. Então, se dominar a lógica de programação, esta sim, será sempre mais solidificada no seu trabalho. Pode resultar em arquiteturas mais complexas. Mas, se chegar a este ponto, estará sendo bem remunerado para isso.
Finalizando. Durante as próximas páginas vou tentar dar minhas opiniões sobre algumas linguagens, alguns caminhos para o aprendizado que talvez façam mais sentido e, claro, o acesso a algumas aulas, dicas e tutoriais para ajudar nos seus objetivos.
|