Os 13 conhecimentos essenciais a um programador de sucesso!

A área de programação ganhou grande visibilidade nos últimos anos, tanto para pessoas envolvidas no mercados de TI, quanto para o público em geral, uma vez que com o avanço da programação, também evoluímos como sociedade.

Graças a evolução da tecnologia, hoje o programador e o desenvolvedor (Dev) estão cada vez mais valorizados. Claro, ainda não chegamos ao patamar de valorização que obviamente gostaríamos. Contudo, é inegável que hoje somos essenciais para praticamente todas as organizações. Vamos aos fatos:

  • Nos anos 90, uma empresa não possuir uma área de TI/ desenvolvimento, era normal e muito frequente.
  • Hoje, se essa mesma empresa não possui um setor de TI/desenvolvimento, por menor que seja esse setor, é praticamente um atestado de falência.

Oportunidade x Qualificação

Essa mudança no paradigma organizacional fez com que a área crescesse em oportunidades. Só o website da Catho, por exemplo, apresenta mais de duas mil vagas em disponível apenas para o termo “programador”, mostrando oportunidades variadas de carreiras que abrangem todas as faixas de salário.

“Wow, vou aprender a programar e ficar rico!”

Calma lá, não é bem assim! Só porque há abundância de vagas, não quer dizer que as organizações vão sair contratando profissionais sem nem ao menos verificar a qualificação do indivíduo.

Sim! É preciso muita qualificação e estudo nessa área. E quando falo estudo, estou comentando sobre um processo contínuo. O que você aprendeu em 2010, talvez já não se aplique em 2016. A tecnologia que você utiliza em um projeto, pode não ser a mesma utilizada em outro. Resumindo, você precisa estar a todo momento tentando se reciclar profissionalmente e se adaptando a realidade do mercado. Entendido?

OK, entendido! Mas como começo na área?

Entendido isso, agora você pode relaxar um pouco, pois no seu início de carreira, as coisas não são tão malucas e mutáveis como falei acima. Em outras palavras, os princípios da programação não irão mudar a cada nova tecnologia que é lançada. Existe sim uma série de conhecimentos essenciais para todo programador de sucesso, independente do rumo escolhido para sua carreira: back-end, front-end, mobile, full-stack, games e outros.

Nesse post, é exatamente sobre isso que iremos falar, os conhecimentos essenciais que todo programador/desenvolvedor precisa ter para ser bem sucedido na carreira. Para facilitar a sua vida, coloquei os conhecimentos em ordem crescente, de mais inicial ao mais avançado.

Claro, isso é apenas a minha opinião. Você pode enxergar de forma diferente, principalmente, ao chegarmos ao final do post. Onde a área de atuação do profissional começa a exercer um papel importante. Portanto, se você possuir uma opinião divergente, fique à vontade para expressá-la nos comentários.

Sem nos prolongarmos mais, o conhecimento mais essencial para ser um programador é…

1º – Hardware e Software

Hardware

Óbvio que ter noções básicas de hardware e software seria o primeiro de todos! Resumindo, saber utilizar um computador, seu sistema operacional, softwares e hardwares que o compõem é extremamente essencial. O computador será a sua ferramenta de trabalho! Por isso, quanto mais domínio você tiver sobre ele e todas as partes que o compõem, mais fácil será sua evolução na área de programação. Não estou dizendo que você precisa saber TUDO sobre software e hardware, isso será mais tarde na sua carreira, mas sim você precisa ter facilidade com ele. Sabe aquele cara na família que todo mundo vai pedir ajuda com questões relacionadas à tecnologia? Bem, esse deve ser você!

Como adquirir esse conhecimento?

Só há um jeito: fuce em tudo! Formate o seu PC, instale softwares, instale sistemas operacionais, abuse do next, next, next. Desmonte seu PC, monte seu PC, troque peças. Faça testes e veja os resultados. Não tenha medo, mas também seja inteligente, busque ajuda na internet, tutoriais, faça backups, não faça downloads de sites duvidosos, enfim… mãos a obra!

2º – Lógica de Programação

Seguindo a nossa trilha de conhecimentos, temos Lógica de Programação e Algoritmos. O primeiro curso que você irá ter que fazer na sua trajetória para ser um programador ou desenvolvedor, com certeza será o curso de Lógica de Programação e Algoritmos.

Porque?

Basicamente, porque esse conhecimento irá te ensinar a programar de uma forma universal. Depois de aprender Lógica de Programação e Algoritmos, os mesmos conhecimentos serão aplicados para praticamente todas as linguagens de programação existentes. O que irá mudar serão apenas as regras especificas de cada linguagem. Contudo, a base será a mesma. Por isso escrevi acima “aprender programação de forma universal”.

Além disso, esse conhecimento também irá te ensinar sobre como um software pensa, se comporta e quais os conceitos e técnicas mais fundamentais da área.

Resumindo, é extremamente importante não medir esforços para dominar Lógica de Programação. Pode ser um pouco chato no início, mas isso pode ser o diferencial entre um programador bom e um programador mediano. Se você encontra-se nessa etapa da carreira de um programador, dê uma olhada também em nosso post que falamos sobre a melhor forma de aprender Lógica de Programação.

3º – Orientação a Objetos

Orientação a Objetos é simplesmente o paradigma de programação mais utilizado pelas linguagens mundo a fora. O que isso significa? Basicamente, que para você desenvolver um software duradouro em termos de manutenibilidade, com qualidade de software superior, de acordo com as boas práticas de programação, utilizar o paradigma OO é uma obrigação em 90% dos casos.

“Ahh, mas eu programo somente em C”

OK, realmente, C não é orientado a objetos e, por isso, você não precisa saber OO para programar com C. Entretanto, você ficará refém dessa linguagem e outras que não se utilizam do paradigma. Em outras palavras, a sua empregabilidade será menor e, por consequência, a sua valorização profissional também. Portanto, não arrisque, aprenda Orientação a Objetos, o seu currículo agradece e o seu futuro também!

IMPORTANTE: Só para deixar claro, não estou dizendo que C não é uma linguagem importante, muito pelo contrário! Entretanto, versatilidade é uma característica muito bem-vinda no mercado de programação. Portanto, saber mais de uma linguagem de programação é fundamental.

Se você ficou curioso para saber mais sobre OO, em outro post explicamos em mais detalhes o que é Programação Orientada a Objetos e porque é tão importante para o profissional da área de desenvolvimento, vale a pena conferir!

4º – Linguagens de programação

Código JavaScript | JavaScript para iniciantes: o que é, origens, para que serve e "Hello World"

Finalmente! Está na hora de aprender e começar a ganhar experiência com pelo menos uma linguagem de programação de mercado.

Existem diversas, sendo que algumas delas são mais populares e possuem mais visibilidade, enquanto outras cobrem nichos de mercado e são voltadas a objetivos específicos. A tarefa de escolher por qual linguagem começar é bem complexa e pode demandar bastante pesquisa, pois a linguagem precisa estar alinhada com o seu objetivo de carreira.

Se você não sabe bem qual rumo você quer dar para a sua carreira, recomendo que você inicie com alguma das linguagens mais populares do mercado, entre elas:

  • C
  • C++
  • C#
  • Java
  • JavaScript
  • Python
  • Ruby
  • PHP
  • Swift

Tempo de aprendizagem

Isto irá variar conforme as características e complexidades da linguagem escolhida. Contudo, uma coisa é certa: no momento que você aprender a sua primeira linguagem de programação, a tendência é que o seu tempo de aprendizagem seja cada vez menor com as outra. Isto se você estudou Lógica de Programação. Lembra lá do 2º tópico desse post? Pois é, nesse momento você irá agradecer por ter priorizado o aprendizado em Lógica de Programação antes de qualquer linguagem de mercado.

5º – Banco de Dados

Os 13 conhecimentos essenciais a um programador de sucesso!

Caso o seu objetivo de carreira seja trabalhar com desenvolvimento, aprender banco de dados é uma obrigação, principalmente, se você pretende trabalhar com linguagens back-end. Afinal de contas, para a sua aplicação funcionar, ela precisará de um servidor e um banco de dados.

Tá, mas eu quero front-end, preciso mesmo?

Não! Quer dizer… Sim! Se você for trabalhar com desenvolvimento front-end, “até que dá” para dizer que saber banco de dados é algo opcional. Contudo, hoje em dia, no mercado de desenvolvimento tudo está muito interligado e, especialmente em empresas pequenas, onde encontramos um profissional de TI que acaba sendo responsável por todas as áreas de atuação.

Meio maluco isso, mas é o que acontece. O profissional que cuida da infraestrutura é o mesmo que cuida do desenvolvimento que, por sua vez, realiza os testes e também otimiza o banco de dados e faz o front-end. Sendo assim, a minha recomendação é: aprenda o básico de Banco de Dados!

Como funciona um servidor e um SGBD (Sistema de gerenciamento de Banco de Dados), aprenda sobre modelagem, funcionamento e desenvolvimento de uma base de dados. Para finalizar, conheça os principais comandos para manipulação dos dados.

Se possível, estude tanto sobre banco de dados relacionais, quanto não relacionais (NoSQL). Se não sobrar tempo para tudo isso, opte por aquele que mais se adequam ao seu objetivo de carreira. Nesse caso, acredito que esse post irá ajudar. Nele, você encontra um resumo sobre os top 10 SGBDs do mercado de TI.

E se a empresa possuir um DBA?

É muito possível que você trabalhe em conjunto com um DBA (Database Administrator). Nesse caso, ele será o responsável por toda a administração e otimização do Banco de Dados. Contudo, mesmo nesses casos, você precisará conhecer o mínimo sobre banco de dados para que a sua aplicação (desenvolvimento) consiga conversar da maneira correta com o banco de dados.

Dev x DBA

Até para você se preparar, existe uma certa rixa entre Devs e DBAs. Isso ocorre, pois frequentemente as aplicações que são desenvolvidas em “desacordo com as boas práticas” (para não falar coisa pior) acabam consumindo recursos demasiados do banco de dados e isso prejudica o trabalho do DBA, cujo o principal objetivo é zelar pela integridade, segurança, administração, performance e otimização da base de dados!

6º – Infraestrutura de TI (Linux, Microsoft)

| Os 13 conhecimentos essenciais a um programador de sucesso!

OK, saber infraestrutura não é obrigatório, principalmente se você possui foco na área de front-end. Porém, se você é do back-end, ter esse conhecimento pode te elevar a um outro patamar na área de desenvolvimento. A sua valorização profissional será imediata.

Porque isso?

Historicamente, a área de infraestrutura de TI e a área de desenvolvimento de software nunca se deram muito bem (antes o DBA, agora o cara da infra…). Grosseiramente, o problema consistia no seguinte:

A área de desenvolvimento se preocupava apenas com o desenvolvimento da aplicação. Contudo, no momento que esta aplicação era entregue para a equipe responsável por colocar o software em produção, o software apresentava crashs e bugs ao reproduzir a aplicação no ambiente de produção. Em outras palavras, durante o desenvolvimento, a aplicação funcionava (Dev); no ambiente de produção (Ops), não. Isto ocorre quando a área de desenvolvimento não cria a aplicação de acordo com a infraestrutura estabelecida naquela determinada organização. Em outras palavras, nesse caso, a área de infra e a área de desenvolvimento não são compatíveis e isso é um problema gigantesco!

A partir desse problema comum nas organizações, surgiu o DevOps. Um profissional, uma equipe ou até uma nova cultura na empresa. responsável por realizar a ligação entre a área de desenvolvimento (DEV) com a área de infraestrutura (OPS). Evitando, ou minimizando, os problemas citados acima.

Como ser DevOps?

Claro, chegar no nível de expertise suficiente para fazer parte de uma equipe ou empresa que use as boas práticas DevOps é um desafio e tanto. Você precisará saber muito sobre infraestrutura de TI e sistemas, como Linux e Microsoft. E, além disso, precisará dominar a área de desenvolvimento. Se você curtiu a ideia. Tá ai uma sugestão interessante de rumo para dar para a sua carreira. Contudo, você precisa ser paciente e traçar um plano de longo prazo, pois ninguém vira um DevOps da noite para o dia. Será necessário muito estudo e prática.

Se você já é da área de desenvolvimento, sugiro que você comece os seus estudos com o Linux (Programadores/ Desenvolvedores que sabem Linux são mais valorizados, de acordo com o relatório da Linux Foundation). Caso você seja da área de Infra, faça o caminho contrário, procure estudar sobre desenvolvimento. Nesse caso, esse post já te proporciona um guia e tanto! Após você ter conhecimentos avançados sobre ambas as áreas, avance seus estudos! Busque cursos e informações sobre Integração Contínua, técnicas e ferramentas DevOps.

7º – Visão sistêmica

A visão sistêmica ou pensamento sistêmico é a capacidade de compreender o todo em um objeto de estudo, entendendo suas ligações e interferências no sistema em que ele habita. Por exemplo: não é possível avaliar uma empresa, suas dinâmicas e capacidades analisando somente um setor. É preciso compreender que a conexão entre os setores e as trocas que as pessoas fazem entre eles também influenciam no resultado final da empresa.

A visão sistêmica ajudará muito no entendimento das linguagens de programação e na construção de programas, pois ajudará a arquitetar uma solução sob a ótica de uma amplitude maior do sistema, prevendo problemas que, sem essa visão, seriam deixados de lado. Além disso, ajuda a entender como funciona um sistema e como os problemas para ele devem ser resolvidos.

Resumindo, quanto mais abrangente for a sua visão com relação a um problema ou necessidade de software, melhor será o seu software.

[easy-tweet tweet=”Quanto mais abrangente for a sua visão com relação a uma necessidade, melhor será o seu software.” user=”BecodeTT” hashtags=”SouDev” template=”light”]

8º – Versionamento e Git

O Git revolucionou a forma como desenvolvemos softwares. Hoje, saber utilizar o Git ou qualquer outro sistema de versionamento de software, é uma habilidade extremamente bem-vinda no portfólio de qualquer programador.

O que é versionamento/controle de versão?

Basicamente, controle de versão é um sistema que registra as mudanças realizadas em um arquivo ou conjunto de arquivos ao longo do tempo. Com isso, você pode recuperar versões específicas de um determinado arquivo (ou software inteiro) sempre que necessário. Para um desenvolvedor isso é extremamente útil!

Digamos que você acaba de lançar uma nova versão do seu app, contudo, essa versão não foi bem aceita pelo seu público ou contém muitos bugs. Simples, você pode retroceder a versão anterior. Claro, esse é apenas um exemplo do porquê versionamento é algo tão central na vida de um desenvolvedor experiente. Existem diversas outras situações onde um sistema de controle de versão é fundamental, entre elas, quando você precisa:

Reverter arquivos específicos;  comparar mudanças feitas no decorrer do tempo; ver quem foi o último a modificar algo que pode estar causando problemas; quem introduziu um bug e quando; criar ramificações de desenvolvimento em um mesmo software; criar projetos open source.

Com esse conhecimento e a correta utilização das técnicas de versionamento, o processo de manutenção e atualização de um software é incrivelmente facilitado. Se você tiver interesse, veja esse curso sobre Git na prática.

9º – Testes de Software

| Os 13 conhecimentos essenciais a um programador de sucesso!

Sim, nem todo desenvolvedor gosta disso. Contudo, o desenvolvedor é o principal responsável pela qualidade do seu código. Portanto, aprenda a escrever testes unitários e a validá-los, isso irá facilitar o seu trabalho e o trabalho do testador. A consequência disso será um software muito melhor e um usuário final muito mais satisfeito.

Inclusive, existe uma metodologia de desenvolvimento chamada Test Driven Development – TDD (Desenvolvimento Orientado a Testes, em Português). Esta metodologia coloca o teste de software no foco do desenvolvimento, o que resulta em aplicações com qualidade de software superior.

Resumindo, aprender sobre Testes de Software tem sido fundamental e à medida que você cresce na carreira e, por consequência, busca se destacar na área, testes será cada vez mais essencial. Isso é válido tanto para front-end, quanto para back-end.

10º – UX design, UI e SEO

O usuário está cada vez mais exigente. Portanto, principalmente se você pretende trabalhar com front-end development, estudar sobre User Experience – UX (Experiência do Usuário) e User Interface – UI (Interface do Usuário) será determinante para seu sucesso como profissional. Vivemos em uma época em que a beleza das páginas web conta muito menos do que a experiência que a aplicação irá proporcionar ao usuário.

Imagine um ecommerce em que todas as telas são maravilhosas. Porém, você precisa trocar de tela mais de 5x para finalizar a sua compra e, no final do processo, a página de checkout não funciona. Este ecommerce pode ser lindo e os produtos podem ser demais, contudo, não cumprem com o seu objetivo, “compra/venda”.

Em termos de UX e UI, nesse caso:

  • A UI é terrível, pois a disposição dos elementos na interface não é prática e objetiva;
  • A UX é péssima, pois mesmo passando por todos os processos, o usuário ainda não consegue realizar o seu objetivo que é simplesmente ‘comprar’.

Isso já aconteceu comigo, na Playstation Store, imagine a minha frustração após tentar comprar um jogo, por mais de 5x, tentando com 3 cartões de crédito diferente e nada! Pois é, nível de frustração master!

Mas enfim, voltando ao nosso tópico. Claro que isso é o resumo do resumo do que é UX e UI. Essa área do conhecimento é muito ampla e é utilizada em diversos segmentos do mercado, sendo a TI, uma delas.

…e SEO, por que preciso aprender?

SEO significa “Search Engine Optimization”. Em português, otimização para mecanismos de busca, vulgo Google e Bing. Se for trabalhar com a Web, é muito provável que você lide com SEO. Sendo esse o caso, você precisará estudar as principais práticas e técnicas da área, tendo como objetivo principal: fazer com que a sua aplicação web ou site atinja os melhores posicionamentos no ranking dos mecanismos de busca.

Já adianto que uma dessas ‘técnicas’ é garantir uma excelente experiência de usuário. Sendo assim, podemos dizer que UX e SEO são duas coisas extremamente interligadas. No mais, você precisará saber SEO para conseguir organizar a estrutura do seu site, de acordo com as regras do Google.

Você, como desenvolvedor, possuirá um papel secundário nessa estruturação. Contudo, como é algo que irá acabar respingando na sua área, sempre é bom se adiantar e conhecer pelo menos o mínimo sobre o assunto. Assim você conseguirá se relacionar com as outras áreas envolvidas: Design, Marketing, Negócios e outras!

11º – Gestão de Projetos e Agile

| Os 13 conhecimentos essenciais a um programador de sucesso!

Projetos! Como todo bom desenvolvedor, é muito provável que você vá trabalhar por projetos. Inicialmente como um recurso, posteriormente, como líder de equipe e gestor.

O fato é: você precisa, com o passar do tempo, ir se acostumando com os conceitos, termos e práticas de gerenciamento de projetos, tanto o modelo tradicional, ditado pelo Project Management Institute – PMI ou o modelo de Métodos Ágeis, cultura agilista. À medida que você for aderindo a estas práticas, você verá que a sua produtividade, ou a da sua equipe, irá crescer exponencialmente.

12º – Relacionamento Interpessoal

Relacionamento Interpessoal | Os 13 conhecimentos essenciais a um programador de sucesso!

“Ahh, mas eu escolhi programação justamente porque odeio falar com outras pessoas, meu negócio é máquinas…”

Esquece! Você terá que lidar com pessoas a todo momento. Como falei no início do post, ultimamente, a TI ocupa um papel central nas organizações. Portanto, os profissionais dessa área são cada vez mais importantes e, por isso, participam das decisões. Decisões que são tomadas por pessoas, em conjunto!

Portanto, prepare-se para participar de reuniões, falar com colegas de trabalho e, principalmente, trabalhar em equipe. Não há como evitar. Se necessário, procure treinamento na área. O que é muito comum, existem diversos cursos e workshops que focam literalmente nisso: relacionamento interpessoal, dicção, apresentação, marketing pessoal, etc. E, se você for uma pessoa muito ansiosa e com extrema dificuldade de se relacionar, um psicólogo também é uma alternativa extremamente válida.

Eu acredito que todos deveriam ir a um psicólogo, isso não significa que sejamos loucos, muito pelo contrário!

13º – Inglês

Saber falar inglês é uma habilidade que será útil desde o início de sua carreira. Ela aparece apenas no final da nossa lista por um único motivo: o aprendizado em inglês acaba acontecendo naturalmente com o passar do tempo. Quanto mais você pratica programação, mais vezes você irá se deparar com termos em inglês e textos que você terá que colocar no Google tradutor. Sem contar as explicações que não existem no bom e velho português e, por isso, você terá que recorrer a documentação oficial da tecnologia. Enfim, é um processo natural.

Portanto, não se desespere! Encare isso como um bônus:

“Vou aprender a programar e, na passada, já aprendo inglês!”

Para acelerar o processo de aprendizado, sim, você pode fazer um curso presencial ou online. Ou ainda, mais barato e mais divertido, jogue videogame e veja filmes com legenda em inglês. Pronto, o seu processo de aprendizado será muito mais rápido, só cuidado para não ficar viciado!

Acabou? e agora?

Primeiro de tudo, não se desespere! Para tudo há seu tempo, você não precisa se matricular em 20 novos cursos e querer aprender tudo até ontem. Até porque o nosso corpo humano não é capaz de fazer isso.

Vá com calma, identifique qual é o seu estágio inicial e, a partir disso, trace um plano de carreira e procure estudar estes conhecimentos conforme a sua necessidade, estágio profissional e disponibilidade de tempo e financeira.

Para facilitar a sua vida, nesse post, coloquei os conhecimentos mais essenciais no inicio do texto. Portanto, se você está iniciando nessa área, comece por eles. Entretanto, lembre sempre que na TI tudo é relativo e dependente da especialização que você desejar seguir dentro da área de desenvolvimento: Front-end, Back-end, Mobile, Full-stack, DevOps, Games e entre outros.

Uma vez decidida a área de atuação, criar um plano de carreira em função desse segmento é algo extremamente útil e válido, mesmo que seja algo documentado apenas na sua cabeça. Veja, nesse post, algumas dicas para você montar um plano de carreira vencedor para a área de TI.

No mais, não é uma tarefa fácil, sei disso. Contudo, tenho certeza que se você conseguir atingir todas as habilidades listadas acima, será um profissional extremamente valorizado e preparado para o mercado de trabalho e suas oportunidades. Boa sorte nessa trajetória!

Espero que você tenha gostado do post! Qualquer sugestão, comentário ou crítica, iremos adorar ouvir a sua opinião nos comentários abaixo, abraços e até a próxima!

Erick Scudero

Escrito por Erick Scudero

Especialista em Marketing Digital e apaixonado por tudo que envolve o universo de tecnologia e comunicação. Durante sua jornada na terra dos cangurus (Austrália), atuou em diversos projetos prestando consultoria em questões de UX, SEO, Marketing Digital e modelos de negócio com foco em startups. É cofundador da Becode, da M2up e instrutor de cursos presenciais na TargetTrust.

42 Comentários

Leave a Reply
  1. Acredito que minha opinião não faça tanta diferença.
    Mas me deparei em uma situação que poderia dar-te uma ótima sujestao.

    Poderia adicionar botoes de compartilhar em rede social? eu fiquei procurando kkk… acho que seja útil, obrigado pelo conteúdo!

    • Jhonatan, claro que a sua opinião faz diferença! Mas então, nós até temos botões para compartilhamento social: na barra lateral em telas maiores ou no ‘bottom’ da página, em celulares. Talvez você tenha acessado a versão “amp” da nossa página. Esta não possui botões de compartilhamento, pois trata-se de uma tela focada em performance e velocidade. E, por isso, não suporta os nossos botões de compartilhamento. Está é a versão AMP. Abraços! 😀

    • Sim, você está certo. A utilização de VMs é uma técnica válida. Contudo, não o problema citado no post não é tão simples assim. Além das VMs, existem diversas outras técnicas a serem utilizadas nessa área. O profissional DevOps irá também lidar com termos como ‘containers’, ‘cloud’, ‘integração contínua – IC’ ou ‘continuous integration – CI’, Sistemas Operacionais e muito Linux! Mais a frente, em outro post, pretendemos falar mais sobre o assunto: o que é DevOps, para que serve, técnicas, ferramentas e muto mais!

      Cuidado! Apesar da sigla ser muito similar, existe uma diferença significativa entre VM e JVM.
      Java virtual machine (JVM) roda aplicações Java; Já, com Virtual Machine (VM), você pode configurar o que você quiser: Windows, Linux, etc… E, a partir disso, configurar qualquer coisa em cima dessa VM.

      No segundo caso, estamos mais próximos do tema “DevOps”, que repito, é algo mais complexo e que merece um post completo só sobre o assunto em questão. Espero ter ajudado com a sua dúvida, abraços!

  2. Puts, cara. Excelente post!!!
    Mas cuidado para nao afastar a galera anti social sdiofajsdiofajo.
    Sacanagem. em ambiente profissional a comunicação é de extrema importancia!

  3. Muito bom! Eu estou tentando iniciar na área já tem quase 1 ano, e ainda sim fiquei estático, com tanta informação e incerteza por onde começar, mesmo fazendo cursos, acabei acumulando informação sem saber de fato como utiliza-las, mas a persistência fala mais alto! E hoje mais uma vez eu estou recomeçando, com um projeto no papel, e vários em mente prontos para serem documentados, e aos poucos a experiencia vai se moldando com a realidade, eu estava pesquisando e estudando, quando me dei conta já tinha umas 15 abas do Becode, aberta, relendo e relendo artigos sobre e como começar a desenvolver, agradeço demais o material de vocês! Parabéns !

    • Dennys, muito obrigado! Quando vi o seu comentário, eu estava no supermercado. Naquele momento, ver a sua mensagem alegrou a minha noite. Saber que você estava lendo 15 abas da Becode foi realmente demais. Valeu mesmo! Pode deixar que vamos continuar nos esforçando ao máximo para construir conteúdos de qualidade como esse. Abração!

  4. gostei continue assim, Eu quero ser um desenvolvedor fronted e, escolhi a línguagem PHP, já tenho os passos a seguir, agora preciso saber onde encontrar códigos ou referencias desta mesma línguagem como centro de ajuda.

  5. Erick,
    Gostei muito de seu site, trabalho com sites a anos e nunca me dei conta que acho que sou um full Stack. Sei muita coisa desconexa, sei um pouco de cada coisa mas entendo muito das organizações pois trabalhei em muitos setores variados, mas sempre com foco em TI, estou com 43 Anos além de sites trabalho com venda técnica de softwares da totvs, parei 2 faculdades, e depois de velho entrei em sistemas para Internet a qual estou cursando, suas dicas são preciosas quem sabe eu consiga traçar uma meta de aprendizado e consiga aprender mais. Estou pensando em Java o que me diz? Às vezes por saber muita coisa e não saber nada rsrsrs fico confuso qual linha seguir pois gosto de tudo, mas tenho dificuldade em decorar programação. Um abraço.

    • Fábio, que ótimo que você tem gostado! Mas então, antes de te aconselhar em seguir uma linha ou outra, preciso saber qual seria o seu objetivo. O Java é uma linguagem poderosa, mas mais utilizada em grandes corporações, talvez você não precise de Java e sim de algo mais prático, como um PHP, Python e Ruby. Mas antes de te aconselhar, preciso saber quais são os seus objetivos. Abraços!

  6. Oi Erick, nao sei se vc tem como me ajudar…
    Estudei computacao entre 2001 e 2006, na epoca o auge era java, mas aprendi pouco demais com a faculdade.
    Trabalhei na secretara da fazenda, mas acabou sendo a mesma coisa, pois lah tinhamos um programa q ja gerava as classes e a unica coisa q tinhamos que fazer era corrigir erros.
    Enfim, desde 2007 estou fora do Mercado e estou tentando voltar, mas ta dificil pq nada mais entra na minha cabeca,,, qual o conselho que voce me daria?

  7. Good good good… good ajudou me muito a me posicionar e redirecionar nesta eterna caminhada de dev. Nota 10+1, parabens e tudo de bom pra vc.

  8. Caraca, otimo post. Estou querendo iniciar nesta area da tecnologia da informação, estive estudando Economia, porém não me indentifiquei com o curso. Desde mlk já curtiu mexer nos pcs dai fiz um curso de inglês, no qual me indentifiquei demais, porém falando de carreia não se abrage muito. Logo, voltei na vontade de criança em fazer ciências da computação, no meu estado é integral dai vou fazer Sistema da informação percebi através de algumas dicas de profissionais da aerea que a parte de Segurança da informação é bom, pretendo me ir me expecilizando em cursos tecnologos e pos-graduaçãoes e futuramente intercâmbio para a Australia, estando lá querendo procurar e tenho fé que posso conseguir oportunidades para trabalhar na area e se possivél fazer alguma pos/especialização para melhor a carreira. Grato pelo seu trabalho instrutivo Erick. Desejo a seus negocios otimas oportunidades semprel

  9. Erick, estou impressionado com a qualidade do conteúdo do seu site. Espero que vocês continuem sempre atualizando com novos posts para os diferentes níveis de usuários! Sou iniciante e na ânsia por ler mais acho que já percorri todos os posts do site, quase modulei ele na minha barra de favoritos KKKKK Parabéns!

    • hahahaa que legal! Você não sabe o quanto isso nos alegra. Continue nos acompanhando! Nos esforçamos bastante para toda semana conseguir postar algo novo. Você já nos segue nas redes sociais? Abração!

  10. Erick boa tarde gostaria de sua opiniao hoje falo tres linguas de forma intermediaria tenho 47 anos e gostaria de iniciar em uma area nova estou na argentina devo iniciar por marketing digital ou programacao ou nao iniciar.

  11. Ola Erick estou começando programação, ja vi um poco de c++ na faculdade um pouco de Python e no curso técnico pascal.estou com duvida em qual dessas focar minha atenção pois eu gosto muito de programar mais as trés me confunde pois são trés linguagem diferentes, mais todas focadas em programação.

  12. Amigo obrigado pelo post, as vezes acho que estou no caminho certo. mas tenho algumas dúvidas.
    É normal sentir muita insegurança, sentir incapaz em certos momentos?
    Digo isso porque eu me formei a quase 5 anos, e meu ultimo emprego como “dev” foi a 4 anos em uma empresa muito pequena, trabalhei 80% com suporte e 20% com dev.
    depois disso mudei de cidade (bh), e encontrei uma realidade de mercado diferente da empresa em que trabalhava, e o que tinha “aprendido” quase já não se utilizava nesse novo local. Me senti um “Joao ninguem” da area, e tive que praticamente começar do passo 4 do seu post. No meu caso troquei webforms pra mvc (apesar de ser a mesma linguagem, tem uma abordagem diferente do seu uso).
    Confesso que desanimei, pois, achei e ainda acho muito dificil de aprender. Ainda por cima tem os tais padroes de projetos (dica ai pro seu post) que são importantes na manutenibilidade, escabilidade e flexibilidade do projeto. Bom voltando a minha vida, dei uma desanimada monstra, e pela minha idade e o quase nada que eu sabia, as empresas nunca optaram por mim. Quando me machuquei em 2016 e fiquei parado quase um ano inteiro, eu cheguei a desistir de vez. Mas ainda é meu sonho atuar com desenvolvimento e procurei tentar aprender novamente, fazendo cursos na Udemy, e hoje sinto que posso atuar como desenvolvedor Jr, mas nas entrevistas fico inseguro, pensando se vou conseguir acompanhar a equipe, se vou ficar so no google pesquisando, e até hoje não consegui meu trabalho e tenho 32 anos e sempre me questiono. Alias pessoas ja falaram para desistir porque é muito dificil pra mim e uma outra empresa jogou na minha cara que estou velho para começar a desenvolver.
    Eu tenho teoria básica de muitos assuntos, conhecimento prático igualmente básico em várias ferramentas. To a ponto de implorar pra me empregarem, tipo, me deixem trabalhar uma semana de graça e vocês analisam se consigo ou não. será que posso fazer isso?
    Enfim parei por aqui tá gigante, peço desculpas e agradeço a atenção e o material excelente.

  13. Excelente post, conheci o site agora e já gostei bastante. Na sua opinião, vale mais a pena aprender um pouco de tudo ou focar o aprendizado em uma direção? Pergunto isso porque fui desligado recentemente por corte de custo e agora estou tentando me qualificar para o mercado de trabalho novamente como Analista/ Desenvolvedor Junior. Porém, enfrento dificuldades por conta da diversidade das necessidades de cada empresa (algumas querem .NET e SQL Server, outras PHP e MySQL e por aí vai). Estou parecendo aquele urso do Pica-Pau correndo de um lado para outro.

  14. Muito produtivo seu conteudo, me deu um norte, tinha esse receio de começar sem a L.Programaçao, e percebo cada dia mais o quao importante ela é , mesmo sabendo que o ” Uncle Google ” tá ai pra ajudar !

    Parabens pelo post

  15. Segui (e sigo) este caminho, do suporte a desktop, gerenciamento de servidores, administração de banco de dados, teste de qualidade, automação de serviços e agora, devops.

    Busco conhecer mais de python para aprimorar os testes unitários que faço nos meus scripts de automação (ansible).

    Muito boa matéria, ótimo caminho a seguir. Não é fácil, exige tempo e esforço, mas é bem recompensado.

  16. Segui (e sigo) este caminho, do suporte a desktop, gerenciamento de servidores, administração de banco de dados, teste de qualidade, automação de serviços e agora, devops.

    Busco conhecer mais de python para aprimorar os testes unitários que faço nos meus scripts de automação (ansible).

    Muito boa matéria, ótimo caminho a seguir. Não é fácil, exige tempo e esforço, mas é bem recompensado. Foram 12 anos de carreira até agora, do suporte a desktop ao primeiro emprego como devops.

    Hoje moro no Canadá, trabalho em uma start-up de tecnologia, depois de ter trabalhado por alguns anos em uma grande companhia de tecnologia americana.

  17. Parabéns Erick!

    Trabalho com tecnologia à quase 20 anos, e não me lembro de ler um um post tão completo, conciso, coerente e extremamente útil quanto esse. E olha q leio muitos ein! rsrs.

    Obrigado por compartilhar essas ideias e sucesso!

  18. Baita texto! Parabéns! Sou formado em economia, trabalhei vários anos no setor financeiro, adoro programar e ficar resolvendo algoritmo é o meu “CS”. Tempos atrás até cursei um semestre de ciências da computação para ver e talvez começar a trabalhar na área. Mas infelizmente as vagas que apareciam(pelo menos, as da minha região) me fizeram deixar a programação apenas para hobby. Muita vaga pedindo conhecimento em trocentas tecnologias para pagar salário de miséria. (Sim, existem vagas que oferecem boa remuneração, mas não em interior). No fim pensei, vou voltar pra minha área que basta saber ler e escrever que no fim vou ganhar mais do que um full stack top das galáxias sem precisar me matar estudando igual a um condenado. E da minha turma de CC? Acho que mais dá metade abandonou o curso por motivos parecidos…

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

[QUIZ] Teste de HTML, CSS e JavaScript

[QUIZ] Teste de HTML, CSS e JavaScript

A trajetória de um Desenvolvedor Mobile: tudo que você precisa saber!

A trajetória de um Desenvolvedor Mobile: tudo que você precisa saber!