Nem só de hackeamentos vive o lammer.

Isso é um fato, principalmente para quem está começando a estudar formas de se sustentar trabalhando apenas como programador, seja forense ou não, ou até mesmo para pessoas que não tem o conhecimento necessário para trabalhar como Pentester ou Pesquisador Forense, muitas vezes procurar vagas de emprego na área é algo cansativo e desolador, outras vezes é fácil achar vagas como freelancer para atuar nestas áreas.

Como alternativa, eu resolvi escrever este artigo para contar um pouco da minha experiência como aspirante a Pentester e que achei na área de desenvolvimento web uma forma de me manter, até conseguir conhecimento suficiente para arranjar um emprego ou trabalho como freelancer e também, aprender uma especialidade que pode ser muito útil no futuro.

Quais habilidades são realmente necessárias para ser desenvolvedor web profissional?

Bom, para pelo menos começar, você deve atender aos requisitos básicos do mercado de trabalho – que anda bastante exigente! – Mas calma, isso não é motivo para se desesperar, porque na área de Web Dev tem muito emprego como freelancer, que são menos exigentes quanto à qualificação formal.

Por ser uma área muito ampla, a que mais cresceu nos últimos anos, o desenvolvimento de sistemas para a web evoluiu muito, surgiram diversas formas de criar aplicações web, Websites e até plataformas de serviços, totalmente voltados para a web.

Trabalhando como freelancer

Para atuar como desenvolvedor web frelancer, você precisa ter conhecimento de algumas tecnologias novas, de preferência dominá-las com maestria, pois nessa área, quanto mais rápido o trabalho é executado, mais você ganha e quanto melhor for a qualidade do código que você programou, maior é a taxa de recontratação, ou seja, quanto mais rápido, mais você ganha e quanto melhor mais vezes você será contratado.

Existem diversas tecnologias que podem ser empregadas no Desenvolvimento Web, tais quais, C# & ASP.NET, Java, PHP – que é a mais comum –, Python, Ruby, Go, Javascript, etc. Com exceção do JavaScript, todas as outras linguagens que citei atuam apenas no backend, ainda é necessário ter conhecimento sobre tecnologias empregadas no frontend, que neste caso são quase sempre as mesmas, HTML, CSS e JavaScript.

Indo direto ao ponto, para trabalhar na web, você precisa conhecer pelo menos duas tecnologias utilizadas em Backend, uma delas é SQL ou NoSQL as linguagens utilizadas nos bancos de dados relacionais e não relacionais respectivamente, e a outra é uma das listadas acima que podem ser utilizadas no backend, eu particularmente gosto do PHP, por ser uma linguagem de fácil aprendizado, por ser muito comum na web, pela demanda de trabalhos como freelancer utilizando esta tecnologia, dentre outros fatores.

Resumindo, que conhecimento você precisa ter para começar?

  • Programar em PHP, de preferência Orientado a Objetos
  • Programar JavaScript
  • HTML5 semântico
  • CSS3

Qual nível de conhecimento é ideal para ganhar bem?

  • Programar em PHP com algum Framework
  • Programar em JavaScript com algum framework
  • HTML5 semântico e com tags de acessibilidade
  • CSS3 com pré-processadores tipo LESS e SASS

O motivo e a necessidade disso, é que, geralmente os trabalhos de freelancers se resumem a criação de sites ou aplicações web que exigem que você seja Fullstack, isto é, se vire muito bem no frontend e no backend, então, se você quer começar a ganhar uma grana muito boa, sem formação superior, aprenda SQL, PHP, JavaScript, HTML5 e CSS3 e pratique muito, depois estude como desenvolver com frameworks de backend e também CMS como WordPress, pois são a grande demanda do mercado atual e aí, com um pouco de prática você já estará pronto para o mercado.

E quanto tempo leva isso?

Bom, geralmente, aprender essas tecnologias varia de acordo com a sua facilidade de aprendizado, seu empenho em estudar e praticar, levando em consideração uma pessoa preguiçosa como eu e que perde o foco toda hora, em 3 meses você está pronto para trabalhar, mas lembre-se é necessário que você busque aprender e praticar para não esquecer e no fim, ter que fazer tudo novamente.

Trabalhando como PJ ou CLT em empresas

Então, essa parte é um pouco mais complicada e vou lhe explicar o motivo, muitas empresas ou pelo menos as que pagam bem, pedem que você cumpra requisitos básicos para que possa se encaixar no ambiente corporativo e até mesmo se enquadrar nas equipes de desenvolvimento.

– Como assim? Dá o papo pá nóis jão.

A maioria das empresas (em São Paulo) exigem que você conheça os conceitos de programação e padrões de projetos mais utilizados no mercado para que elas possam dar continuidade aos projetos, caso você saia da empresa ou precise se afastar temporariamente, assim um próximo programador que assumir seu lugar, saberá identificar o que você fez, assim a manutenção do software fica mais fácil e a empresa gasta menos tempo e consequentemente dinheiro com manutenção e aprimoramento de sistemas mais antigos, porque eles estão padronizados e seguem normas de desenvolvimento que além de melhorar e agilizar o desenvolvimento, também reduzem os custos que as empresas teriam para mantê-los.

Geralmente a forma de garantia que as empresas enxergam nos candidatos, é um portfólio grande e bonito – que indica experiência e profissionalismo, ou então ensino superior no currículo – que indica que você ao menos frequentou o ambiente acadêmico, aprendeu como funcionam as normas de desenvolvimento e engenharia de software, os diferentes conceitos da programação e desenvolvimento de softwares que seguem padrões de qualidade e dentre muitas outras coisas que a faculdade pode nos proporcionar, e é claro, isso também ajuda a garantir que você não ficará obsoleto quando uma tecnologia nova surgir, afinal, você aprendeu como funciona o conceito daquilo e não ficou focado em uma ferramenta ou tecnologia específica.

Com isso, na maioria das vezes, para conseguir um emprego bom, numa boa empresa, você precisa de um bom currículo (portfólio ou ensino superior – Ou os dois!!!!) e mesmo assim é muito comum que essas empresas ofereçam bolsas para funcionários sem ensino superior mas que tem grande experiência na área em que atuam.

Quais tecnologias/linguagens que rendem os melhores salários?

Partindo deste ponto de vista, eu dei uma pesquisada e a lista abaixo apresenta as tecnologias melhor remuneradas em ordem decrescente (tecnologias voltadas para a WEB).

  1. Python – R$ 4,420
  2. Java – R$ 4.211
  3. Ruby – R$ 3.667
  4. C# – R$ 3.609
  5. SQL – R$ 3.458
  6. JavaScript – R$ 3.252
  7. PHP – R$ 2.387

A fonte da minhas pesquisa foi a matéria 12 Linguagens de programação muito requisitadas no Mercado, da revista Exame

Fazendo um resumo geral

Para trabalhar como Freelancer você precisa apenas conhecer as tecnologias mais comuns, um framework de backend como Laravel ou Code Igniter, algum framework de JavaScript e também um de CSS ao estilo Bootstrape com isso já dá pra começar mas é claro que os melhores projetos oferecidos na área são oferecidos para os profissionais melhores capacitados e que cumprem o trabalho em prazos menores.

Já para atuar numa empresa com carteira assinada, é necessário ter uma bagagem recheada de bons projetos ou pelo menos, um currículo que faça a empresa acreditar no seu potencial.