Carreira

Paralisia por Análise – o bloqueio que te impede de começar

Olá Web Developers!
Você possui algum projeto ou plano mas nunca inicia ou finaliza por estar sempre pensando demais? Você pode estar com a Paralisia por Análise.

O que é Paralisia por Análise?

Paralisia por Análise é quando não conseguimos chegar em nenhum lugar por pensarmos em excesso.
Isso pode pode acontecer tanto na vida profissional quanto na pessoal, e está cada vez mais comum em um mundo conectado e que nos oferece várias opções para um mesmo objetivo.

Por que isso acontece?

Há muitos motivos para a Paralisia por Análise.

Um dos motivos mais comuns é o excesso de opções. Você fica pensando em qual a melhor escolha, e por querer algo perfeito acaba não escolhendo e gastando todo o seu tempo apenas analisando as opções.
Quantas pessoas você conhece que dizem ficar horas tentando escolher um filme ou série na Netflix e acabam não assistindo nada?

Outro motivo também muito comum que pode contribuir para este fenômeno é o medo de algo: de mudanças, do desconhecido, de falhar, de passar vergonha, etc. E então você começa a treinar, pesquisar e fazer várias coisas para poder traçar o plano perfeito. O resultado é que esse plano acaba nunca sendo iniciado ou concluído, pois nunca é o suficiente.

Também podemos citar o perfeccionismo. Muito comum em entrevistas a pessoa falar “meu pior defeito é ser perfeccionista”. Esse candidato normalmente nem faz ideia que realmente ser perfeccionista pode mesmo ser muito prejudicial.

Um motivo que também vejo muitos colegas cometendo é ficar pensando: “e se eu escolher e me arrepender? E se depois eu ficar pensando como poderia ter sido com a outra opção?”.

Exemplos comuns

Opções, muitas opções

Um exemplo muito comum na vida pessoal é o citado acima: a Netflix disponibiliza várias opções de filmes e séries. Se ficarmos pensando muito, gastaremos todo o nosso tempo livre e não aproveitaremos para assistir nada. Antes dos serviços de streaming, ao passar um filme na televisão, tínhamos apenas duas opções: sim ou não.

Em serviços de entrega como ifood também é muito comum as pessoas ficarem muito tempo escolhendo em meio a tantas opções. Antigamente você basicamente telefonaria para a pizzaria que você tivesse o número anotado na agenda.

Então o excesso de opções é algo que vem crescendo com a tecnologia. É óbvio que ter opções é ótimo, mas nem todos estão preparados para tomar decisões rapidamente.

Inclusive, reduzir opções foi uma das estratégias da Apple em uma época em que ela estava quase indo à falência. Basta comparar quantas opções temos de iPhone em relação aos modelos de smartphones de outras marcas.

Medo e insegurança e perfeccionismo

Já na parte dos medos, isso pode se relacionar com o perfeccionismo também. E sabemos que “feito é melhor do que perfeito”.

É muito comum vermos projetos que nunca lançam uma versão final do produto. Sempre tem algo a melhorar antes de mostrar para algum potencial cliente.

Também já vi casos de programadores mais novos produzindo mais do que programadores mais experientes em projetos próprios. Isso parece meio estranho, mas veja o motivo:

Programador Iniciante

O programador iniciante ainda não conhece muitas ferramentas. Se ele precisar fazer algo, ele vai tentar fazer com o pouco que sabe com a única linguagem de programação que ele sabe mexer. Ele provavelmente não seguirá boas práticas, o código pode não estar tão bem organizado, muitas coisas podem acabar tendo sido feitas manualmente e haverá várias outras coisas que podem dar problemas no futuro por falta de planejamento e experiência. Porém, ele foi lá com o pouco que sabia e fez, entregando algum resultado.

Programador Experiente

Já alguns programadores mais experientes vão começar analisando o problema para escolher a melhor linguagem de programação a ser usada. Definido isso, qual dos diversos frameworks que ele conhece será o que entregará mais produtividade, robustes e segurança? Será que esse framework possui uma boa comunidade e é simples de atualizar de versão?
E qual será o banco de dados? Onde iremos hospedar? Qual a melhor estrutura para meus dados que me permita escalonar meu sistema sem problemas? Será que os requisitos foram bem capturados e não está faltando nada? Será que a estrutura da minha tela está bonita e entrega a melhor experiência ao usuário de forma intuitiva?

Só essas perguntas podem fazer uma pessoa gastar meses e ainda nem começar a escrever uma única linha de código. Se o desenvolvimento começar, essa pessoa pode aprender coisas novas e pensar em refazer partes de seu sistema por achar que ele pode ser melhor, mesmo que ele ainda nem tenha terminado de entregar o básico que o sistema deve propor. E assim uma ideia basicamente nunca será finalizada.

Obviamente que nestes casos iremos preferir algo feito por um amador, mas que resolva nosso problema, do que algo feito por uma pessoa bem mais experiente mas que ainda só tem o projeto na cabeça dele e ainda não dá para usar.

Como se livrar?

Há algumas coisas que podemos fazer para evitar ou pelo menos diminuir a Paralisia por Análise.

Primeiro precisamos sempre lembrar que não há solução e nem momento perfeito. O momento sempre é agora e a solução que você escolher pode ser arrumada no futuro, ela não é uma escolha para o resto da vida.

Limite o número de suas opções para o mínimo possível.
Defina um objetivo com um prazo. Se chegar o prazo e você decidir que todas as opções são boas, não fará diferença qual escolher, então jogue um dado ou uma moeda e siga em frente sem questionar!
Algo para treinar tomar decisões rápidas é evitar responder para as pessoas “você que sabe”, “você decide”, “para mim tanto faz”, etc. Se te perguntaram é porque estão te dando permissão para escolher.

É ótimo ser curioso, mas contenha-se para não acabar descobrindo pequenas imperfeições que no final não fazem diferença no resultado de seu objetivo.

Planeje tudo em pequenas metas e dê um passo de cada vez.

Tomar muitas decisões também causa um cansaço. Então diminua a quantidade de decisões que você precisa tomar durante o dia (não precisa chegar a ser como Steve Jobs e Mark Zuckerberg que usavam/usam sempre roupas iguais para evitar escolher roupa) e sempre comece pelas decisões mais importantes.

Conclusão

Então, a Paralisia por Análise acaba acontecendo quando o nosso excesso de pensar vai além dos benefícios que teríamos caso tivéssemos feito uma escolha mais rapidamente.
Se você está tendo esse tipo de problema, tente seguir as dicas aqui para se livrar o quanto antes e veja sua vida mudar.

Você tem ou já teve algum bloqueio assim? Compartilhe com a gente nos comentários!

Não trabalho com a tecnologia que tenho domínio, e agora?

Em diversos grupos de desenvolvimento, é comum se deparar com perguntas do tipo: Gosto de programar na linguagem X e estou trabalhando com a linguagem Y. Vale a pena continuar?

Neste artigo daremos algumas dicas para te auxiliar nesta situação. =)

Comece tentando

Sabemos que nada se inicia antes da tentativa. Desta forma, comece tentando.

Tente se adaptar a esta nova tecnologia e faça com que seu trabalho possa fluir de maneira natural, sem pressão.

Muita das vezes o primeiro contato com determinada tecnologia assusta, mas seja firme e persistente, pois com o passar do tempo, você poderá se adaptar e se descobrir nesta nova experiência.

Se candidate apenas as vagas que se identifica

Sabemos as dificuldades que temos enfrentado em relação ao desemprego nos últimos anos.

Mas, nada adianta se candidatar aquela vaga que não terá haver com o que você espera trabalhar. Analise todos os aspectos: Salário, jornada de trabalho, requisitos básicos, habilidades, benefícios, principais responsabilidades, descrição da empresa, entre outros e se pergunte se aquela vaga atenderá suas expectativas no momento. Se sim, se candidate sem medo. Se não, espere uma outra oportunidade surgir.

Trabalhar com o que gosta é importante

Clichê, porém essencial.

Com o passar do tempo, você irá descobrir que trabalhar com o que você realmente gosta é importante para se tornar um profissional de sucesso.

Não importa qual seja sua profissão, nem se seus gostos são diferentes da maioria, fazer o que gosta te fará levantar toda segunda-feira e não reclamar do quão difícil ela será. \o/

Se conheça

Apenas se conheça.

Saiba o que esperar de você, saiba o que você quer ser e onde quer chegar. Saiba que gostar de programar em Java te deixa mais feliz que simplesmente aprender uma nova linguagem “do momento”. Se aperfeiçoe naquilo que você gosta e siga seu coração. <3

Estabeleça metas

Planos de ação utilizando a ferramenta de gestão 5W2H

Estabelecer metas é super importante para manter seus planos em dia. Saiba escrevê-las ou simplesmente mentalizar todos os dias aquilo que espera em cada coisa que você faz.

Junte dinheiro

Estar com sua vida financeira em dias te ajudará, sem dúvidas, em determinadas tomadas de decisão, pois, caso esteja desempenhando uma atividade que não goste, ter uma reserva financeira te fará procurar por novos caminhos sem se preocupar até encontrar um novo emprego.

Sabemos que é algo bastante difícil para grande maioria, mas aprender a administrar seu dinheiro também é uma forma de manter o foco onde você quer chegar.

Dê um tempo para si

Não tenha vergonha de precisar de um tempo.

Caso perceba que seu trabalho não te faz feliz, saiba quando encerrar um ciclo sem medo de iniciar um outro.

Dê um tempo para si caso precise, faça algo que te faz bem e depois volte com tudo. Estude o inglês que foi deixado de lado durante tantas vezes, se arrisque em viajar ou comece estudar algo novo.

Só não tenha medo de se arriscar e descobrir novos horizontes.

Concluindo:

Espero que estas dicas possam te ajudar em sua decisão e que você consiga escolher sempre o melhor caminho!
Até mais!
=)

Gerenciamento de projetos: essa carreira é para você?

A área de TI possui muitas vertentes. Não é só porque você não gosta de programar por exemplo, que você não tem vez na TI, pois existem muitas carreiras que você pode seguir, incluindo as que vão mais para a área de gestão. Uma delas é o gerenciamento de projetos. Esse cargo pode ser assumido por profissionais de várias áreas, inclusive por um profissional de TI.

O gerente de projetos vem sendo muito requisitado e visto com muita importância já que cada vez mais as empresas estão voltadas a ter um melhor gerenciamento de seus projetos, a fim de atingir suas metas e planejamentos. Vamos abordar alguns pontos para que você conheça um pouco mais dessa profissão.

O que é gerenciamento de projetos?

Antes de tudo precisamos saber o que realmente vem a ser um gerenciamento de projetos, mas antes ainda precisamos definir o que é um projeto. Um projeto é um conjunto de atividades que são realizadas em grupo e tem como objetivo final a produção de um produto ou serviço. O Gerenciamento de Projetos vem a ser a aplicação de técnicas, habilidades e conhecimentos para a execução de projetos, buscando concluí-los de forma eficaz. Neste gerenciamento, os resultados dos projetos devem estar alinhados aos objetivos do negócio. O gerenciamento de projetos aplica-se não somente a projetos de TI, mas a todos os ramos de atividades.

O que faz um gerente de projetos?

Começando pela parte mais técnica, um gerente de projetos exerce algumas atividades como o planejamento de cada etapa com todos os envolvidos do projeto, gerenciamento e acompanhamento das atividades que estão sendo feitas, verificação dos resultados de cada etapa, estar atendo às mudanças quando necessário etc.

Além de desempenhar tarefas técnicas relacionadas ao gerenciamento de projetos, esse profissional deve ter habilidades interpessoais, para liderar sua equipe, motivar, corrigir e principalmente fazer com que a comunicação flua da melhor maneira possível. Deve-se ter um equilíbrio entre seu conhecimento técnico com essas habilidades interpessoais, pois é um cargo que envolve muita responsabilidade e maturidade, ainda mais que estamos lidando com prazos, custos e pessoas.

Talvez você já deva ter ouvido falar sobre o Guia PMBOK, onde existem dez áreas de conhecimento em gerenciamento de projetos que você deve conhecer. Não iremos adentrar nelas aqui, pois temos um outro artigo explicando tudo sobre este guia, que você pode estar conferindo neste link.

Como posso me tornar um gerente de projetos?

Se você nunca trabalhou com gerenciamento de projetos, é legal começar por algum curso da área, seja presencial ou online. Deve-se começar pela base – os fundamentos – e depois começar a se aprofundar sobre as técnicas e softwares. Além disso, livros desse segmento também te agregarão bastante conhecimento. A prática sempre é mais legal, mas não se esqueça de que os conceitos são muito importantes. Se você realmente se interessar pela área, você pode partir para uma pós-graduação ou MBA, já que existem vários que são específicos para o gerenciamento de projetos. Lá você terá uma estrutura ainda melhor de conhecimento.

Apesar do estudo ser muito importante, apenas ele não é o suficiente, é imprescindível em algum momento colocar tudo em prática. Você pode tentar aplicar alguns conceitos na própria empresa em que trabalha, tomando a liberdade de ser proativo e até tentar administrar uma equipe. Com esses pequenos passos você já terá uma pequena noção de como é o profissional dessa área na realidade e até tentar esse tipo de vaga em sua própria empresa.

Agora, para dar um peso maior ao currículo – e também de conhecimento – temos as certificações. Sim, nessa área também existem as certificações. Elas dão um upgrade na construção de sua carreira, porém um ponto muito importante: se estiver iniciando você deve ficar atento pois para algumas dessas certificações, o profissional já tem que ter certa experiência, pois são exigidos alguns pré-requisitos, como por exemplo uma quantidade mínima de anos de experiência em gerenciamento de projetos e por aí vai…

Para exemplificar podemos citar algumas das certificações mais importantes. O PMI oferece uma gama de certificações, como a certificação PMP (Project Management Professional) que é uma das principais e é reconhecida no mundo todo. Também temos a CAPM (Certified Associate in Project Management). Essa é focada em profissionais que não tem um diploma universitário ou para aqueles que querem tirar a certificação PMP em etapas.

Já a certificação CSM (Certified ScrumMaster) aborda o Scrum, super interessante já que as metodologias ágeis estão em alta e é muito importante um gerente de projetos – ainda mais na área de TI – saber utilizá-la. Enfim, existem muitas outras, mas de início você pode fazer cursos/pós/MBA na área e depois que estiver mais adentro da área tirar algumas certificações.

Aqui na TreinaWeb temos cursos que vão te ajudar a iniciar nessa área, como cursos mais conceituais abordando tudo sobre o gerenciamento de projetos, a ferramenta Microsoft Project, Scrum e ITIL, assim você pode dar os primeiros passos iniciais nessa jornada. E aí, será que a carreira de gerenciamento de projetos é para você?

Até a próxima!

Como quintuplicar a produtividade no desenvolvimento de software?

Desenvolvimento de software é algo complexo, mesmo para quem está desenvolvendo. É algo que, durante o processo de encontrar sua melhor maneira de ser produtivo, você acaba se debatendo com suas próprias escolhas.

Existem muitas maneiras de se definir o que é um software, mas particularmente eu gosto dessa: um software é uma sequência de instruções escritas por um programador, para executar uma ou mais funções, otimizando assim algo que previamente era manual ou não existia.

Veja, se grande parte do meu trabalho como desenvolvedor é otimizar processos, a minha rotina de trabalho também costuma ser como um protótipo de software.

Isso se transforma em uma rotina estruturada, ou, ao menos, uma maneira estruturada de como resolver um problema. Vou contar um pouco do meu processo de construção de software/trabalho e como desenvolvi hacks para ser mais produtivo ao longo do tempo.

Vou contar um pouco da minha experiência para tentar ajudá-lo(a) a otimizar a sua. Vamos lá!

Comece de maneira gradual

Dificilmente consigo acordar e codar alguma coisa. Normalmente eu preciso que meu cérebro ligue os motores de maneira processual, um passo de cada vez.

No entanto, penso que isso não pode ser um processo que leva várias horas, então eu tomo um caminho gradual, mas rápido, para que esse processo ocorra.

Ao abrir minha máquina para programar eu começo geralmente pela leitura dos meus cards do Trello, nosso reservatório de tasks infinito onde sempre pode se tirar algo da cartola. Eu uso Trello, mas essa dinâmica aplica-se a qualquer ferramenta de gestão de projetos.

A leitura me ajuda a pensar nas tasks que vão ser executadas no dia. É um processo rápido. Ao ler rapidamente os títulos dos cards eu já sei o que devo fazer, quando fazer e como fazer, em sua grande maioria.

Após isso eu começo pelas tasks mais simples, coisas que são rápidas, mas me farão emergir no processo de pensar em software.

Um exemplo disso é executar alguns scripts para transferir dados de usuários, dar update em alguma informação no banco, ou refatorar algum trecho simples de código.

Leitura recomendada:
Por que a comunicação em TI é um negócio tão importante?

Coding Hard

É hora de codar. Mas como saber no que eu começo primeiro?

Para executar as tasks mais complexas, eu as separo em 2 tipos:

  1. As que são relativamente rápidas e as que são de longo prazo. As tasks complexas são aquelas que envolvem mais de uma parte do sistema, que têm alto impacto, em que é preciso prever muitas coisas antes de se começar a executar;

  2. Normalmente minha prioridade começa com as tasks que posso fazer em 1-2 horas. Elas permitem imprimir ritmo no desenvolvimento e fazem com que minha cabeça entre no modo foco.

Durante esse período normalmente não respondo e-mails, não olho o Slack, não faço nada que me faça perder a linha de pensamento. O porquê disso é simples, vamos imaginar a seguinte situação:

2.1 Usuário vai entrar na tela de login e nesse momento informo ao banco que ele está ativo
2.2 O banco guarda essa informação e ativa uma trigger para que daqui a 30 minutos um alerta seja enviado a esse usuário
2.3 Se o usuário entrou na tela 1 o alerta será x. Se entrou na tela 2 o alerta será Y, mas apenas depois de 30 minutos
2.4 Caso o usuário entre na tela 3 o tempo de alerta deve ser reduzido para 15 minutos

Pronto.

Imagine que pensei nas linhas gerais de como a task vai ser feita e, quando estou no meio da segunda instrução, paro para responder e-mails ou fazer outras coisas. O que ocorre?

Posso simplesmente esquecer que já fiz algo ou deixei de fazer algo. Por isso manter uma linha única de pensamento é importante quando estamos codando.

É preciso se ter em mente o tempo todo os passos que foram ou não executados. Caso você esqueça onde estava, todo o ciclo recomeça. “Será que setei o tempo certo na tela 1? Fiz o tempo de maneira diferente para a tela 3?” E então começa um processo de revisão da sua linha de pensamento.

Para se produzir as tasks de longo prazo é necessário quebrá-las em pequenas etapas, dificilmente é possível ficar 8 horas ininterruptas desenvolvendo. Bugs surgem, pessoas falam com você, outras tasks são priorizadas e por aí vai.

Por isso é um processo que exige a quebra. Exige que você determine quando cada etapa será executada para que diariamente você progrida dentro da task.

Leitura recomendada:
Como se destacar na carreira de TI?

As pausa são importantes para a produtividade

Algo que já vi ser bem comum entre programadores — talvez seja para outras áreas também — é o tempo necessário para “resetar” o cérebro.

Ao finalizar tasks complexas, onde você levou sua mente a pensar na otimização de um processo específico, normalmente você precisa “não pensar” durante algum tempo.

O que quero dizer com isso? Se pensei na otimização de um processo de candidatos dificilmente é possível, no instante seguinte, pensar em um código para empresas.

Isso porque a mente está “contaminada”, pensando ainda em otimizações e melhorias do processo que você acabou de criar.

É preciso esvaziar a mente antes de colocar outra idéia no forno para iniciar um novo processo de desenvolvimento, por isto as pausas entre uma task e outra são importantes.

Leitura recomendada:
As certificações para programadores mais importantes do mercado.

Afinal, como ser produtivo(a) no Desenvolvimento de Software?

E quando acaba essa sequência “colocar” coisas na caixa, “tirar” da caixa, “descansar”, “colocar” outro no lugar? Para a maioria dos Desenvolvedores que conheço a resposta é nunca.

Ao se deparar com problemas, normalmente eles são jogados em processos de background na sua mente e ficam produzindo idéias de maneira passiva.

Acredito que muitos Desenvolvedores — senão todos — já se depararam com uma idéia no meio da noite, acordaram e escreveram um trecho de código.

Ou já teve uma elucubração no meio da mesa do jantar, ou enquanto estava vendo sua série da Netflix.

Acredito que esse processo de nunca parar de pensar sobre os problemas técnicos ou sobre software em longo prazo é danos.

Talvez fique aqui a minha hipótese do porquê tantos Desenvolvedores curtem tanto fazer algo fora do serviço que atraia 100% do foco.

Como jogar algo ou estar imerso dentro de uma série.

Esse tipo de atividade simplesmente força sua mente a se desligar do mundo do software e é essencial para resetar sua mente e dar tempo para você ter novas idéias de maneira fresca e descansada.

Esse era um pouco do meu ciclo enquanto era 100% Desenvolvedor dentro da GeekHunter.

Hoje, assumindo a área de gestão, esse fluxo mudou um pouco, porém a essência ainda é a mesma.

Cada Desenvolvedor tem sua particularidade na hora de programar, mas acredito que existam muitas similaridades entre todos quando se trata do nível de foco necessário para desenvolver.

Espero ter ajudado. Até a próxima!

Esse post foi desenvolvido pela GeekHunter

Como melhorar seu perfil online de desenvolvedor

A busca por um novo emprego é um dos principais dilemas na atualidade. Muitos buscam novas formas de ingressar no mercado de trabalho e as dificuldades vem surgindo dia após dia.

Não tem sido fácil a procura por novas vagas. Conseguir o primeiro emprego ou até mesmo a recolocação no mercado tem se tornado uma das principais barreiras para todos, independente de sua área de atuação.

Muitas empresas têm investido na busca pelo profissional ideal através do seu perfil online, o que não é diferente para a área de desenvolvimento.

Mas como posso melhorar meu perfil online de desenvolvedor para alcançar aquela tão sonhada vaga?

Neste artigo daremos algumas dicas de como melhorar este perfil online e aumentar suas chances de conseguir o “emprego dos sonhos”.

GitHub, GitLab e BitBucket

A maioria das empresas analisam a contribuição dos seus candidatos através de plataformas que armazenam código-fonte.

Aqui no blog, lançamos um artigo sobre as principais delas: o GitHub, GitLab e o BitBucket, que poderá ser acessado através do link:

https://www.treinaweb.com.br/blog/as-principais-plataformas-para-armazenamento-de-codigo-fonte/

Esta análise tem a ver com a forma com que são realizadas suas contribuições em projetos públicos e como são desenvolvidos seus projetos particulares.

É válido sempre lembrar que qualquer projeto conta. Independente do tamanho da aplicação, muitos recrutadores buscam saber da qualidade do seu código, independente do tamanho do projeto. Sendo assim, qualquer aplicação pode (e deve) ser hospedada em plataformas de armazenamento de código-fonte para incrementar seu perfil na ferramenta.

Linkedin

O Linkedin tem sido uma das principais formas de manter atualizado e disponível todos os dados do candidato e sua experiência profissional. Mas é sempre importante ficar atento a “como manter este perfil sempre em dia.”

A dica mais valiosa em torno do linkedin é, sem dúvida, a atualização constante do seu perfil profissional. Manter seu perfil atualizado e em ordem te dá, sem dúvidas, pontos extras na hora de tentar conquistar uma vaga.

Deve atentar-se também às suas conexões. Buscar sempre pessoas relacionadas a sua área de atuação, facilita a forma de expandir sua busca em vagas que são compatíveis a seu perfil.

Atentar-se também as suas declarações de escolaridade, cursos de idiomas, certificações e competências. Tudo que está escrito ali, deverá ser aquilo que você de fato domina e possui habilidade e comprovação.

Há, e seguir aquelas empresas que lançam vagas para sua área, também é uma excelente escolha, pois te deixa por dentro de novas oportunidades e mais próximo do objetivo que você espera.

Stack Overflow

Assim como citamos a importância de manter-se ativo em projetos postados em plataformas de código-fonte, o Stack Overflow também te auxilia a estar sempre em evidência. O website funciona de forma simples, onde você poderá lançar perguntas e responder dúvidas de outros usuários, tudo relacionado a área de programação, o que facilita para que novos desenvolvedores ativos na comunidade possam ser descobertos.

Para cada dúvida respondida, é gerado um “like”, utilizado para determinar os usuários mais ativos na plataforma. É com esta informação que as empresas filtram os perfis mais ativos no Stack Overflow, já que é gerado um ranking com todos esses usuários.

Artigos

Escrever sobre aquilo que você domina, também tem sido uma ótima forma de estar em evidência na web. Hoje em dia, diversos são os sites onde você poderá colaborar com seus artigos e escritos de forma que possa ajudar outras pessoas com informações válidas e úteis.

Mas busco vaga de desenvolvedor, isso conta?

Sim, e muito. Escrever sempre é muito importante, e aprimorar sua escrita será sempre uma opção válida na busca do emprego dos sonhos.

Participação em grupos de desenvolvimento

Vários grupos de desenvolvimento têm ganhado força em variados aplicativos como telegram, slack, entre outros. Desta forma, você poderá trocar informações com vários desenvolvedores, seja para tirar dúvidas ou prover uma solução, sendo mais uma ferramenta para se manter ativo na comunidade.

Além disso, diversas empresas estão constantemente publicando novas vagas de emprego nestes grupos, tornando-os ainda mais atrativos.

Conclusão:

Possuir um bom perfil online como desenvolvedor é a porta de entrada para conseguir o emprego dos sonhos. Desta forma, é possível utilizar a internet ao seu favor e aumentar suas chances de se destacar como um potencial candidato. Vimos neste artigo algumas dicas preciosas, esperamos que elas te ajudem em sua busca e que você consiga ingressar no mercado de trabalho o mais rápido possível. =)

5 dicas para avançar em sua carreira

Não precisamos estar no fim ou no começo do ano para elaborar nossas metas. Em termos de carreira, sempre é necessário fazermos uma análise do que estamos fazendo certo ou errado, onde neste último caso, precisamos analisar com ainda mais cautela o que precisamos melhorar/mudar para que possamos estar satisfeitos com nossa vida profissional, aliás ela ocupa e ocupará boa parte de nossas vidas.

A seguir vamos elencar cinco dicas para que você possa progredir cada vez mais.

1. Faça uma autoanálise

Primeiro você deve analisar a si mesmo: o que deseja para sua carreira, onde quer chegar, fazer metas de curto prazo, alguma habilidade que deseja melhorar, algo novo que deseja aprender, o que quer deixar de fazer e tudo mais o que julgar necessário. Se quiser escrevê-las em algum lugar é melhor ainda, assim sempre que quiser revisá-las elas estarão lá =)

2. Invista em sua carreira

Pode até parecer clichê falar isso, mas provavelmente você conhece alguém que fez uma faculdade e parou por aí… Apesar de sempre enfatizarmos que a área de TI é uma área de estudo constante, muitas pessoas esquecem de se atualizar fazendo alguma especialização ou algum curso.

Outras pessoas ficam presas a apenas uma linguagem por exemplo, não se abrem para o novo… Para garantir boas oportunidades precisamos estar atentos as novidades e o que estão utilizando por aí. Ficar preso a somente uma linguagem ou tecnologia te limitará as vagas.

Não querendo dizer que você deve estudar tudo o que sair de todas as áreas, mas que você busque se especializar sempre em sua área, nem que seja estudando por conta própria.

3. Saia do comum

Além dos conhecimentos técnicos que você tem e irá ter, precisamos trabalhar em outros aspectos também, como saber liderar um projeto/equipe caso precise, mediar conflitos, enfim lidar com pessoas.

4. Certificações

As certificações são muito bem vistas em seu currículo. Além do conhecimento adquirido, você mostra para a empresa que realmente tem um bom nível de conhecimento naquele assunto. Existem diversas certificações nas áreas de desenvolvimento, banco de dados, cloud, redes, gestão, etc.

Com uma simples pesquisa você verá quais são as mais importantes do seu eixo de trabalho.

5. Seja persistente

Último e não menos importante. Se tudo isso que você planejou não deu certo, devemos voltar para o primeiro tópico e fazer a análise novamente, para que possamos elaborar novas estratégias e principalmente aprender com esses erros.

Até mais!

Devo começar como Front-End, Back-End ou Full Stack?

Olá, Web Developers!

Muitos programadores no começo de suas carreiras acabam encontrando os termos Front-End, Back-End e Full Stack quando vão se candidatar a vagas de emprego. Então surgem as seguintes dúvidas: “o que devo seguir?”, “qual a mais difícil e qual a mais fácil?”, “qual paga melhor?”, etc.

Todos possuem vantagens e desvantagens. Vamos ver os pontos base sobre cada um.

Front-End

Desenvolvimento Front-End

Necessidades

O desenvolvedor Front-End terá que desenvolver as telas da aplicação que foram projetadas pelo Arquiteto e Designer, normalmente com HTML, CSS e JavaScript.

Este desenvolvedor também terá que saber analisar o trabalho do designer para poder seguir o que ele projetou, portanto também pode ser necessário saber o básico de softwares como PhotoShop, Illustrator, Adobe XD e Sketch.

Você não precisa saber sobre experiência de usuário e design, mas há empresas em que o próprio desenvolvedor Front-End precisa desempenhar os papéis de arquiteto e designer, tornando esses conhecimentos um diferencial deste profissional.

Há empresas que também vão querer um desenvolvedor Front-End para criar um site/blog feito com WordPress, então também pode ser interessante saber um pouco de PHP.

Desvantagens

O código feito por um Front-End é executado no cliente. Porém, não sabemos se o usuário está em um smartphone, tablet, notebook ou desktop. Será que o usuário está usando um bom Wi-Fi ou está com uma Internet móvel bem lenta?

Também não sabemos o sistema operacional, qual navegador, versão, etc. Um desenvolvedor Front-End precisa desenvolver um código que possibilite que a maioria dos usuários possam utilizar a aplicação sem problemas. Portanto, é necessário muitos testes em diversos ambientes.

Como estará em contato direto com o usuário, deverá entregar uma boa experiência, e isso se inicia no tempo de carregamento da aplicação. Portanto, também é preciso se preocupar com a otimização dos arquivos HTML, CSS, JS, imagens, etc.

Vantagens

Um Front-End tem como principal linguagem de programação o JavaScript, que está crescendo muito. Você pode ver mais no post O que se pode fazer com JavaScript hoje em dia?.

Além da web, este profissional pode aprender facilmente a criar aplicações desktop e mobile, desenvolver jogos e começar a trabalhar com Back-End utilizando apenas JavaScript.

Ele também não precisa se preocupar com performance do processamento feito no servidor e nem com o Banco de Dados.

Todas as empresas precisam de um Front-End, permitindo que você envie currículo para qualquer empresa.

Outro ponto é que o resultado do seu trabalho pode ser visto em ação (sistemas, aplicativos, sites, etc), permitindo deixar o seu currículo mais interessante.

Como normalmente as regras de negócio ficam no servidor, o Front-End pode ser um pouco mais amigável para quem não tem tanta lógica de programação (isso não significa que lógica é dispensável).

Hoje em dia as empresas estão valorizando cada vez mais o JavaScript, fazendo a demanda e o salário oferecido aumentarem, já que ainda há poucos Front-Ends de qualidade se comparar com a quantidade de desenvolvedores Back-End.

Back-End

Desenvolvimento Back-End

Necessidades

O desenvolvedor Back-End é aquele que responderá às requisições do cliente. Ele precisa saber alguma linguagem de programação, ter uma boa lógica para programar as regras de negócio do sistema, se conectar ao banco de dados para recuperar ou gravar dados, etc.

O banco de dados pode ser de responsabilidade de um profissional especializado, mas muitas vezes ele fica por conta do próprio desenvolvedor Back-End, fazendo da otimização de banco de dados algo interessante de se saber. Independente disso, o Back-End precisa saber mexer com banco de dados.

Além disso, este desenvolvedor também precisará saber publicar a aplicação, podendo ser necessário conhecimento em serviços como AWS ou Azure e a criação de contêineres como o Docker.
Para saber mais sobre o que é Docker, veja nosso post: No final das contas: o que é o Docker e como ele funciona?

Hoje em dia, dependendo do sistema, pode ser necessário que este profissional saiba lidar com Internet das Coisas (IoT), Aprendizado de Máquina (Machine Learning), Mineração de Dados (Data Mining), etc. Algumas destas habilidades será um grande diferencial deste profissional.

Desvantagens

Normalmente desenvolvedores Back-End tem mais familiaridade apenas com uma linguagem de programação, o que ilmita os lugares para onde podem enviar currículos. Então entra a questão: “devo estudar outra linguagem ou me especializar no que já sei?”

Se um Front-End pode enviar currículo para qualquer lugar, um desenvolvedor Back-End especializado em Java dificilmente será chamado por uma empresa que só trabalhar com Python, por exemplo.

Como lidam diretamente com a regra de negócio, precisam ser os mais atentos a cada detalhe, inclusive os dados enviados pelo Front-End, pois o cliente pode dar um jeito de burlar as regras do Front.

Devem estar atentos a vários casos de teste e lidar com a segurança do servidor para evitar ataques aos dados. Um pequeno problema aos dados e toda a empresa pode ter sérios problemas. Front e Back precisam estar atentos, mas erros no servidor podem ser muito mais graves.

Outro ponto é que a velocidade do Front-End muitas vezes vai depender das respostas do servidor, então também devem saber otimizar o banco e o código. Todos os usuários estarão acessando o seu servidor, então é preciso saber como escalar a sua aplicação para que ela não caia em um momento de grande quantidade de acessos.

Vantagens

O Back-End não precisa se preocupar com o dispositivo ou versão do navegador do cliente, pois seu código estará rodando em apenas uma única máquina a qual você mesmo pode configurar.

Um Front-End precisa saber logo de início HTML, CSS, JavaScript, deixar as telas funcionando em todos os tamanhos de dispositivos, etc, enquanto o Back-End precisará de uma linguagem de programação e um banco de dados, podendo o Back-End ser um pouco mais amigável para alguns iniciantes, principalmente os que tem boa lógica de programação e/ou aqueles que não se dão muito bem com as partes mais visuais de um sistema.

Além disso, hoje em dia ainda é muito comum que empresas paguem salários maiores para desenvolvedores Back-End, principalmente por sua alta responsabilidade com os dados da aplicação.

Full Stack

Pessoa Trabalhando

Necessidades

O NINJA! O Full Stack é o desenvolvedor que faz tanto Front quanto Back. Então tudo o que foi dito aqui são necessidades para que alguém seja considerado um verdadeiro Full Stack.

Mas deve-se tomar cuidado! Há desenvolvedores Back-End que só por saberem se virar com JavaScript e um pouco de CSS se consideram Full Stack (precisa mais que isso para ser Front), do mesmo jeito que muitos Front-Ends, por saberem como fazer uma API e salvar algo no Banco de Dados (precisa mais que isso para ser back), já se consideram Full Stack também.

Um verdadeiro Full Stack deve estar bem familiarizado com ambos os lados. Por esses motivos, muitos acreditam que um verdadeiro Full Stack é algo que não existe, como um ser mitológico. Porém, isto não te impede de ser Full Stack.

Há empresas que apenas esperam que uma mesma pessoa pegue dados do banco e exiba em uma tela, e depois pegue os dados da tela e salve no banco. Conseguir fazer o fluxo completo com qualidade já pode qualificar este profissional como Full Stack, mas é preciso se dedicar muito para fazer tudo isso com qualidade.

Você pode aprender mais sobre isso com o nosso curso MEAN 2 – JavaScript FullStack

Desvantagens

As tecnologias estão sempre evoluindo, e é muito difícil se manter atualizado em várias coisas ao mesmo tempo, o que seria o ideal para quem quer se manter como Front e Back ao mesmo tempo.

Não confunda Full Stack (sabe bem Front e Back) com um generalista (sabe um pouco de tudo).

Vantagens

Possibilidade de enviar currículos para mais lugares e poder encontrar empresas que ofereçam salários maiores. Além disso, pode se oferecer para trabalhar apenas como Back ou apenas como Front.

Conclusão

Cada caminho possui vantagens e desvantagens. O melhor é analisar sua realidade, necessidade e objetivos para fazer a melhor escolha. E não se preocupe em ter que escolher certo de primeira, pois se não gostar da sua escoha sempre haverá tempo de recomeçar com algo diferente.

Confira também nosso Post sobre Ser especialista em algo ou saber um pouco de tudo?

Ser especialista em algo ou saber um pouco de tudo?

Olá, Web Developers!

No começo de uma carreira é comum a dúvida: devo me especializar em algo ou aprender um pouco de tudo? Vamos ver um pouco sobre cada uma dessas estratégias.

Ser Especialista

Um especialista é aquele que tem grandes habilidades ou conhecimento especial em algo.

Muitos já devem ter ouvido a famosa frase de que para se tornar um expert é preciso em média de 10 mil horas de prática. Na verdade isso é bem relativo, e esta frase é uma interpretação equivocada da pesquisa do Dr Anders Ericsson, como é explicado neste post do blog Riqueza sem Limites.

Mas há um pouco de verdade nesta frase: você vai precisar praticar muito! Não adianta apenas estudar, é preciso praticar. Como dizem: “Tentar adquirir experiência apenas com teoria, é como tentar matar a fome apenas lendo o cardápio”.

O bom de ser um especialista é que muitos vão querer seus conhecimentos. Mas aí temos um problema: como um iniciante vai se tornar especialista se ainda não trabalhou na área? E se leva muito tempo para chegar a ser especialista, terei perdido tempo se escolher o caminho errado?

Saber um pouco de tudo

Saber um pouco de tudo, o famoso “generalista”. Aqui você não está com a ambição de ser um especialista em algo, apenas conhecer um pouco de várias coisas.

Quanto tempo leva para aprender o básico de algo novo? Varia do que se quer aprender. Podem ser 5 minutos, 12 horas, 3 meses . . .

O bom é que você vai ter mais chances de encontrar algo que realmente goste.

Mas aí temos um problema: se você só sabe um pouco de algo, será que esse pouco é o suficiente para alguém se interessar em te contratar?

O que fazer?

Vimos que cada um dos casos possui vantagens e desvantagens.

Uma boa estratégia é saber equilibrar entre se especializar e estudar um pouco de tudo em cada etapa que você estiver.

Quando estiver começando, faça uma lista de coisas pelas quais você tem curiosidade. Pegue essa lista e procure saber o máximo possível sobre cada uma delas.

Ao saber mais sobre como cada um dos itens da sua lista funciona, risque fora aqueles que não te interessaram.

Comece a se aprofundar em um dos itens da sua lista. Se não estiver gostando, vá para o outro item.

Assim que achar algo que você tenha paixão, que te anime para estudar mais e mais, especialize-se nisto. Não importa se te disserem que não tem futuro, que é melhor estudar outra coisa ou que não dá muito dinheiro, faça o que você gosta!

Se você gosta de verdade, estudar sobre isso será como um passatempo, então será fácil você saber cada vez mais sobre ela.

Até aqui neste ponto você terá facilidade para ingressar no mercado, pois sabe um pouco de várias coisas e está se especializando em algo que realmente gosta (muitos recrutadores sabem leitura corporal e saberão se você realmente gosta daquilo que a vaga pede).

Assim que você estiver em um nível em que as pessoas reconheçam seus conhecimentos por este item que você se especializou, comece a estudar outros itens da sua lista, para não se tornar um “cachorro de um truque só”. As coisas estão em constante evolução, e passar a vida toda com um único conhecimento é perigoso, pois pode ser substituído por outra tecnologia.

Provavelmente até aqui você já terá conhecido várias outras coisas que possam te interessar, então não esqueça de acrescentá-las à sua lista também.

Quando se torna especialista em algo, você tem mais facilidade de aprender coisas novas, pois suas experiências te ajudam. E quanto mais conhecimento e experiência, ainda mais simples fica aprender coisas novas. Aí ninguém mais te segura!

Chegará o momento em que você não enviará mais currículos, e as empresas de recrutamento virão te convidar para participar de entrevistas, e também haverá casos em que você é quem dirá o quanto espera receber. Então, também lembre-se de ter um bom portfólio e perfil no Linkedin. É preciso ser visto para que te conheçam!

Se precisar de ajuda em qual caminho escolher, aqui na TreinaWeb temos a seção de formações, que pode te ajudar nos cursos que deve estudar para alcançar seus objetivos.

Os alunos também podem entrar em contato com um instrutor para que ele crie uma formação personalizada de acordo com o que precisam / aspiram.

TW Entrevista 12: Loiane Groner

Hoje trazemos para vocês uma entrevista com a Loiane Groner, que já escreveu diversos livros publicados internacionalmente e possui os títulos GDE (Google Developer Expert) e Microsoft MVP (Most Valuable Professional).

Se você ainda não viu, o Diego Eis foi o último entrevistado por nós.

Fale um pouco sobre você (de onde é, onde mora, o que faz, onde trabalha atualmente, etc)

Me chamo Loiane, trabalho há 10+ anos na área de TI como desenvolvedora, formada em Ciência da Computação, natural do Espírito Santo, porém nos últimos 9 anos morei em São Paulo (2 anos em Campinas e 7 na capital). Trabalho atualmente no Citibank como desenvolvedora e analista de negócios, e recentemente me mudei para os Estados Unidos.

Tenho um canal no Youtube onde publico tutoriais e cursos sobre desenvolvimento, já publiquei alguns livros em inglês pela Packt (editora Novatec traduziu o último livro lançado para o português) e já tive a oportunidade de palestrar em eventos no Brasil e EUA.

Quando e como você começou a se interessar pela área?

Essa parte é engraçada porque tudo foi uma decisão de qual curso fazer vestibular. Quando era adolescente sempre quis ser advogada/juíza, e perto do vestibular decidi fazer Ciência da Computação por gostar mais de responder perguntas e estudar a parte de exatas pro vestibular.

A decisão pelo curso de computação foi simplesmente por sempre ter sido curiosa por computadores (meu primeiro computador vivia no conserto por tentar comandos na linha de terminal, vivia estragando o sistema operacional por conta disso).

Naquela época pouco se falava sobre cursos de exatas e as informações não eram tão fáceis assim como hoje, onde temos quase tudo disponível na internet. Entrei na faculdade sem saber o que era algoritmos, custei a entender lógica de programação no primeiro semestre, mas depois me apaixonei e hoje não me arrependo da decisão.

Como foi seu primeiro trabalho na área?

Arrumei o primeiro trabalho/estágio ainda na faculdade, quando estava no segundo ano (quarto semestre). A faculdade tinha (até hoje tem) parceria com empresas e uma delas precisava de dois estagiários. Me inscrevi junto com um amigo e a coordenação do curso nos ajudou a conseguir as vagas.

Sabia apenas o básico do básico de Java (controles de fluxo e o básico de Orientação à Objetos). No estágio deram um treinamento pra gente de XML, SQL, controle de versão, web services e outros conceitos básicos.

Depois foram passando tarefas de desenvolvimento básicas e à medida que ia aprendendo, iam passando tarefas mais complexas. Trabalhei 2 anos nessa empresa. Me sinto muito sortuda pois tive dois mentores excelentes, que foram pacientes e me ensinaram muito. Trabalhei com Java backend, um projeto Java desktop (Swing), projetos Java web (com JSON e Ajax, que na época era super novidade, onde foi meu primeiro contanto com web também), relatórios, SQL e até um projeto .NET.

Como é a experiência como escritora? Ainda mais de livros que são distribuídos internacionalmente. Tem algum conselho para quem quer começar a escrever?

Comecei em 2009, quando publiquei meu primeiro post no blog loiane.com. Criei o blog para mim mesma, uma espécie de documentação e notas para que eu pudesse usar depois como referência e documentar o que estava escrevendo.

Depois que comecei a trabalhar numa multinacional e comecei a usar inglês no dia a dia, senti a necessidade de praticar mais a parte escrita, e como forma de praticar, criei um blog em inglês também. Escrevia os posts (tutoriais) em inglês e depois reescrevia o mesmo em português.

Depois de alguns anos, o blog começou a ganhar mais visibilidade e a editora entrou em contato com o convite para escrever um livro. Nunca imaginei que fosse ter tal oportunidade. A editora gostou da didática e depois foi convidando para escrever outros títulos também. Já convidaram até por conta de um repositório de exemplos no github.

Não tenho palavras para descrever o sentimento de ver uma pessoa lendo um livro seu e ver que aprendeu algo lendo o que você escreveu. É muito gratificante ver pessoas de diferentes partes do mundo consumindo seu conteúdo. Tenho guardado algumas teses de mestrado de universidades européias e canadenses que usaram algum livro meu como referência – isso não tem preço pra mim.

Os livros também foram incentivo para criar o canal no youtube. Como foram escritos em inglês, começaram a me puxar a orelha por não ter criado conteúdo em português, e aí decidi começar a fazer vídeos dos assuntos em português. É legal que são duas experiências bem diferentes: criar conteúdo escrito e em vídeo.

Algumas dicas:

  • Comece escrevendo para você mesmo. Hoje em dia existem diversas ferramentas que você não precisa se preocupar com domínio, hospedagem, etc. Publique algum tutorial ou algo que seja útil para você e depois compartilhe nas redes sociais (se te ajudou, pode ser que ajude outras pessoas também). Com o tempo você toma gosto e não consegue parar! rs
  • Algumas editoras pedem para ver conteúdo escrito já publicado (blog, etc) para ter uma noção do estilo de escrita, então a primeira dica é bem valiosa! rs
  • Você não precisa ser “O” expert no assunto para escrever. A motivação é sempre por compartilhar conhecimento. Até porque a gente aprende muito sobre o assunto enquanto escreve.
  • O público gosta muito de exemplos práticos. Mas é sempre bom colocar um pouco de teoria também, pois teoria é sempre a base e vai te ajudar a dar mais fundamento também.

Você é GDE (Google Developer Expert) e Microsoft MVP (Most Valuable Professional). Como conseguir esses títulos, quais as responsabilidades para mantê-los e que dicas dá para quem quer consegui-los?

Esses títulos são títulos de reconhecimento dados pelas respectivas empresas/comunidades a membros das comunidades que compartilham conteúdo sobre produtos dessas empresas.
Geralmente são pessoas ativas na comunidade que compartilham posts de blog, cursos, publicam livros, apresentam palestras em eventos, contribuem em projetos open-source, etc. A responsabilidade é continuar fazendo o que já vinha fazendo antes de receber o título, ou seja, compartilhar conhecimento porque gosta de fazê-lo!

Não tem uma receita de bolo para conseguir o título. Geralmente a pessoa já é um GDE ou MVP mesmo sem o título. Acaba vindo naturalmente. Esse post é bem legal sobre o assunto e pode ser aplicado a outros títulos também:

https://medium.com/@frosty/preparing-to-become-a-gde-752b551c88df.

Participar de comunidades é muito gratificante. É uma forma de aprender junto. Cada um compartilha o pouco que sabe e você aprende com outras pessoas que também estão compartilhando o que aprenderam. Além disso, participar de comunidades é uma ótima maneira de aumentar o networking. Já conheci várias pessoas em eventos, tive oportunidade de conhecer pessoalmente pessoas que apenas conversava pela internet e fiz amizades!

Quando estuda algo novo, qual a sua maior dificuldade e o que faz para contornar?

Sempre tento consumir diferentes tipos de conteúdo. Se for um framework novo por exemplo, primeiro acesso a documentação, e sigo os tutoriais. Gosto muito de ler livros também, pois fornecem uma base teórica muito boa.

Pra mim é importante saber usar uma ferramenta/framework, mas é importante saber como funciona também – e a base teórica vai me fornecer isso – saber como funciona ajuda muito nos casos complexos, e vai te ajudar a se diferenciar de outros profissionais também.

E cursos online: sempre tem algo ou um ponto de vista diferente que um instrutor pode te ensinar. Dificilmente consumo um curso ou leio um livro e saio sem aprender nada – mesmo achando que já saiba a tecnologia. Sou assinante de 2 portais de cursos e na empresa que trabalho também tem um grande portal de cursos liberado para os funcionários. E se for uma dúvida pontual, posts de blogs ajudam muito, principalmente com exemplos práticos também!

Resumo: estudar com diferentes formas de conteúdo sempre ajuda. Mas é importante saber o que funciona para você, pois cada um tem uma forma que aprender mais fácil.

Se pudesse falar com você mesma no começo de sua carreira, o que gostaria de falar? Teria algum conselho? Algum medo que gostaria de ter encarado ou alguma situação que poderia ter evitado?

Todos nós temos medo de algo, medo de tentar por achar não ser bom o suficiente ou achar que não tem mais idade pra isso (ou é muito novo). Não deixe de tentar por medo ou insegurança. O “não” você já tem.

E tenha paciência. Muita paciência. Algumas coisas na vida demoram, mas não perca o foco ou determinação. E as coisas acontecem para diferentes pessoas em diferentes momentos. Você vai ouvir muitos “nãos”, mas não deixe que isso te impeça de fazer algo ou de tentar novamente.

O que você considera que caracteriza um desenvolvedor raiz e um desenvolvedor Nutella?

Já vi alguns memes sobre o assunto. Mas acredito que todos nós nos dias de hoje somos uma versão híbrida. Hoje temos muitas ferramentas ao nosso dispor para solucionar problemas de forma mais fácil e rápida. Independente de título (programador, desenvolvedor, software engineer, etc), nosso trabalho é resolver problemas usando tecnologia, de forma a entregar a melhor solução para o cliente.

Como já disse anteriormente, aprenda a base, a teoria. Sim, é chato, é demorado, ir direto pra prática é muito mais legal. Mas depois tudo se torna mais fácil. Seja primeiro um dev raiz, para que você possa se tornar um dev nutella mais tranquilo e mais produtivo!

Como você explica a sua profissão para as pessoas que não são de TI?

Essa parte é sempre complicada. Geralmente falo que desenvolvo sistemas, que é basicamente falar para o computador o que precisa ser feito, uma sequência de passos, como uma receita de bolo. E existe uma forma especial de passar essa receita para o computador, que é através de uma língua que nós (humanos) podemos aprender que o computador também entende.

Escrevendo essa receita nessa língua, o computador entende o que precisa fazer e consegue executar os passos muito mais rápido que nós.

Fique Ligado!

Para seguir a Loiane Groner:

TW Entrevista 11: Diego Eis

Olá, Web Developers!

Hoje trazemos para vocês uma entrevista com o Diego Eis, fundador do Tableless, um dos maiores sites sobre desenvolvimento web do Brasil.

Se você ainda não viu, o Jaydson Gomes foi o último entrevistado por nós.

Fale um pouco sobre você (de onde é, onde mora, o que faz, onde trabalha atualmente, etc)

Sou de São Paulo, tenho 34 anos e faz um tempão que trabalho com Internet e coisas relacionadas. Atualmente trabalho na Easynvest como Product Manager, mudando o jeito com que as pessoas lidam com investimentos e dinheiro.

Quando e como você começou a se interessar pela área?

Eu sempre me interessei por internet e nunca fiz outra coisa. Meu primeiro computador veio de uma escolha difícil: Ir para a Disney na formatura de 8 série ou ter um computador. Naquela época o dólar era 1 pra 1 e o valor da viagem era o mesmo de um computador. Minha mãe economizou o ano inteiro para eu ter a viagem, mas acabei querendo o computador. O recibo está guardado em algum lugar. Custou uns R$1000… Dinheirão na época. De lá para cá não fiz mais nada fora do mundo digital. E ainda cheguei tarde… Quase nem mexi no Windows 3.1, indo quase que direto pro Windows 95.

Como eu, meus amigos também estavam iniciando nesse mundo de ter computador e internet… No início queria o computador só para jogar… Me lembro até hoje eu tentando fazer rodar os vários disquetes do Golden Axe! Junto com os meus amigos, nós começamos aprender a mexer com HTML, depois que o CSS foi publicado, pulamos pro CSS, JS e assim por diante… O resto é história. 😉

Como foi seu primeiro trabalho na área?

Eu ganhei meu computador em 98 (quando me formei na oitava série). Fiquei 3 anos só brincando e aprendendo HTML e tudo mais. Quando me formei em 2001, arranjei um emprego de Assistente de Web Designer numa pequena agencia de publicidade. Fiquei pouco tempo lá, depois fui para uma empresa recém criada por amigos, chamada Atípico. Lá eu fiquei uns 5 anos. Depois abri minha própria empresa, chamada Visie (depois de 6 anos fui pra Locaweb, e depois de 5 anos na Locaweb fui para Easynvest).

Em 2003 eu abri o Tableless. Se eu me lembro bem o domínio era .kit.net (se alguém lembrar, vai entregar a idade), depois eu migrei para .cjb.net.. E pouco tempo depois, ganhei desse meu amigo, dono da Atípico, o domínio .com.br. Como naquela época (hoje ainda?) pra ter .com.br era necessário um CNPJ, como ele tinha uma empresa, ele me deu o domínio de presente. Presente nerd, né?! Faz tempo que não tenho contato dele… Se ele morrer, lascou… nem sei como faço pra ser dono do domínio. O.o

Voltando ao primeiro emprego… A maioria do trampo era implementação de site mesmo. Onmouseover direto no código HTML. Código JavaScript pra funcionar no IE e outro código pra funcionar no Netscape. Testes de layout em todos os IEs possíveis… Validação de HTML… e todas essas coisas legais que fazíamos antes do mercado front-end se tornar o que se tornou hoje. Naquele tempo era só criar um arquivo .html e começar o projeto. A grande dúvida era como iríamos chamar a pasta onde ia ficar as imagens (img, images, i…). Hoje você não começa nada sem ter que instalar um milhão de coisas na máquina. Mas desse mimimi todo mundo já tá cansado. 😉

Claro que sempre há a preocupação em entregar um produto de qualidade para o cliente. Mas você acha que na Easynvest, por mexer diretamente com o dinheiro das pessoas, acaba tendo mais pressão?

Com certeza. Não é simples você mexer com o dinheiro das pessoas, porque na verdade você não mexe com o dinheiro delas, você mexe com o futuro e os objetivos que ela quer alcançar com aquele dinheiro. Essa pressão existe em qualquer tipo de produto digital. E existe outros pontos que os Product Owners e Product managers precisam pensar, como ética, transparência, etc… São pontos que quase nunca falamos, mas que há momentos em que esses valores precisam ser contados ao pensar numa feature, mostrar ou não uma determinada informação, etc.

O Tableless é um dos sites mais importantes da comunidade brasileira de desenvolvimento web. Qual a sensação de ter tamanha responsabilidade e compromisso sobre algo tão importante para as pessoas?

Eu acho incrível ter criado um site onde os devs e outras pessoas me param nos eventos e outros lugares pra dizer que o site as ajudou na formação da carreira ou em algum problema especifico. Mas não é uma tarefa muito fácil. O site ocupa bastante tempo e é difícil encontrar pessoas realmente dispostas a ajudar. Mesmo assim, foi um marco pra o site quando eu abri para que outros autores pudessem escrever. Isso não ajuda o site a ter mais conteúdo, mas também ajuda a esses autores a expressarem sua opinião, a aprenderem a compartilhar conhecimento, a exporem seu trabalho etc… Foi o site que me trouxe até onde eu estou hoje e me sinto muito agradecido por conta disso.

Com a sua experiência com o tableless, palestras, trabalhos, treinamento de equipes, etc., o que você considera que mais falta em um profissional hoje em dia ? (como habilidades, atitudes e preparação para as mudanças)

Falta parar de pensar em código 100% do tempo. Eu bato nessa tecla o tempo inteiro. Seu trabalho está mais ligado a falar com as pessoas para conseguir resolver melhor os problemas do que ficar focado 100% do código. Quando um programador precisa fazer uma decisão importante de carreira, muitos acabam sucumbindo lá na frente, porque não “treinaram” antes esse relacionamento além código. Outro ponto é pensar no futuro. Quando eu escrevi um artigo falando que a profissão front-end como conhecemos hoje vai morrer, um monte de gente me criticou, mas com certeza eles não fizeram uma análise fria da sua profissão hoje e como ela é repetitiva, dispensável, sem propósito. Parece ser palavras fortes, mas você não muda sua vida nem a vida das pessoas fazendo crud entre API e interface. Acho que o profissional deve pensar em sua profissão de forma mais ampla, onde ele entende bem do negócio, mas também dos clientes, levando em consideração como sua relação com as outras pessas afeta a missão da empresa e seus objetivos pessoais.

Quando estuda algo novo, qual a sua maior dificuldade e o que faz para contornar?

Minha maior dificuldade é não poder contar com pessoas do lado para peguntar e tirar dúvida. Acho que é importante ter pessoas legais do seu lado para que você possa tirar dúvidas sempre que for necessário, sem medo de julgamentos ou etc. Hoje é quase que impossível você não conseguir encontrar respostas para qualquer tipo de dúvida técnica. Mesmo assim, sempre tem aquelas dúvidas onde alguém com mais experiência faz falta. Então, a dupla pesquisa + mentor é sempre a melhor saída.

Para quebrar o gelo

O que você considera que caracteriza um desenvolvedor raiz e um desenvolvedor Nutella?

Dev raiz escrevia código onde dava. Dev Nutella só escreve em editor que tem IDE escrito no nome. Dev raiz ficava horas procurando um cliente de FTP decente. Dev Nutella só sobe pra produção se tiver script de Build e tiver 3 ambientes de homologação. Dev raiz usa qualquer browser que tiver. Dev Nutella acha que abafa quando fala mal do IE. Dev raiz começa o projeto criando uma pasta com o index.html e entende que ele vai se tornar algo complexo lá na frente. Dev Nutella nem senta na cadeira se não encontrar a palavra NPM no ReadeMe do projeto.

Se estivéssemos em uma Matrix e você tivesse total controle dela, o que você faria?

Transformaria a Matrix inteira em Open Source, botava no GIT e já era.

Já usou seu conhecimento para resolver algo que tinha preguiça de fazer ou para trollar alguém? Se sim, o que?

Na época que o Bate-papo da UOL nasceu, eles não faziam validação do campo que você escrevia. Aí o que dava pra fazer: você manda um código HTML do tipo: <font style="font-family: webdings;">. Então, o texto ficava cheio de ícones e simbolos e etc… pra todo mundo na sala de bate papo.

Webdings

Aí você mandava um </font> no chat privado pra você mesmo. Todo mundo ficava sem entender nada, e você via normalmente os textos com as fonts. Era engraçado, mas durava só uns 30 segundos, porque ninguém conseguia mais entender e acabava saindo da sala. Hehehe.

Já “infectei” um cara mais velho na escola com um Trojan. Depois que ele instalou, eu ligava e desligava o monitor dele, abria o leitor de CD, abria programas, e essas coisas… mas tive que tirar porque ele ameaçou me bater no dia seguinte. Fazia scripts do autoexec.bat na escola para colocar mensagens quando o Windows estava ligando.

Script macro no word na biblioteca da escola para quando a galera abrir o word, ele fechar sozinho.

Fique Ligado!

Para seguir o Diego Eis:

JUNTE-SE A MAIS DE 150.000 PROGRAMADORES