Entrevista

O que os recrutadores esperam dos candidatos em uma entrevista de TI

Sabemos que no mercado de TI sempre tem vagas disponíveis. Também sabemos do déficit de profissionais qualificados, o que acaba fazendo com que sobre mais vagas ainda, afinal, muitas vezes não há profissionais que realmente atendam às necessidades da vaga que aquela empresa exige.

Mas então, o que fazer para conquistar uma dessas vagas?

Já sabemos que estudar é uma delas, mas também existem algumas competências e conhecimentos que também são muito importantes e que serão abordadas neste artigo.

Se você está em busca de uma vaga e precisa se destacar na hora da entrevista, elencamos algumas dicas que podem te ajudar em meio ao processo seletivo.

Algoritmos

Sabemos que programar não é apenas copiar código. Precisamos entender o que está acontecendo e ter a lógica do problema em si. Você deve saber resolver esse problema na linguagem que o computador entende e é exatamente esse o propósito do algoritmo.

Um algoritmo nada mais é que um conjunto de instruções detalhadas e ordenadas, com o propósito de realizar alguma operação ou tarefa.

O recrutador quer alguém que entenda as necessidades e do que ele precisa para poder transformar isso em um software ou qualquer outra coisa, e não uma pessoa que não saiba nem analisar as possibilidades de qual tecnologia utilizar, qual linguagem é melhor naquele caso, dentre outras coisas.

Python - Algoritmos - Parte 1
Curso de Python - Algoritmos - Parte 1
CONHEÇA O CURSO

Estrutura de dados

É o nome dado a organização de dados e algoritmos de forma racional, para que eles possam ser utilizados de forma eficiente. Saber as diferentes características das estruturas de dados é muito importante.

Utilizando as estruturas de dados adequadas podemos administrar uma grande quantidade de dados de forma eficiente. Você poderá escolher a estrutura de dados mais adequada quando você for manipular conjunto de informações, além de desenvolver algoritmos realmente eficientes. Viu como uma coisa ajuda a outra? 😊

Java - Estrutura de dados - Parte 1
Curso de Java - Estrutura de dados - Parte 1
CONHEÇA O CURSO

Conhecimento profundo do core da linguagem

As linguagens de programação geralmente oferecem várias diferentes maneiras para se fazer a mesma coisa. Por exemplo, se eu quiser fazer a ordenação de um vetor ou de uma lista no Java, eu posso utilizar o método estático da classe Collections, o método Sort, ou posso implementar um Comparable ou Comparator. A utilização de cada uma dessas maneiras possui prós e contras que vão variar em cada situação.

Você só vai conseguir saber a aplicabilidade real de cada recurso que sua linguagem de programação oferece, se você estudar o core da linguagem a fundo. Por isso, é importante para que um desenvolvedor conheça o core de maneira aprofundada pelo menos de uma linguagem na qual ele se propõe a ser especialista. Assim, você conseguirá detectar as nuâncias de cada funcionalidade oferecidas pelos SDKs das linguagens e consegue escrever um código mais adaptável e correto para cada situação.

GIT

O Git é um controle de versão de arquivos, onde podemos colocar um projeto e várias pessoas podem contribuir simultaneamente no mesmo, editando e criando novos arquivos, sendo muito utilizado no desenvolvimento de software. Apesar de todos esses benefícios, devemos saber usá-lo corretamente, por isso é importante saber o que fazer e os comandos corretos, para que você não tenha o risco de suas alterações impactarem negativamente outros arquivos ou que suas atualizações sejam sobrescritas.

Saber GIT é de uma importância muito grande para os desenvolvedores. Neste tópico temos duas lições: saber os comandos do GIT em si e ter seu GIT ativo.

Além de saber usar ele de forma correta, o GIT acaba sendo como uma rede social, mas de códigos. Além de você poder disponibilizar os seus projetos você também pode colaborar no código de outra pessoa. Você também pode contribuir com a comunidade criando um repositório com algum código que você queira compartilhar.

Além disso acaba sendo um portfólio aberto. Lá as pessoas vão poder ver as linguagens que você costuma trabalhar, como é seu código, sua forma de programar, dentre outras coisas. Você tem pelo menos um projeto que possa compartilhar, não é? 😊

Git e GitHub - Controle de versão
Curso de Git e GitHub - Controle de versão
CONHEÇA O CURSO

Inglês

Apesar de clichê, isso é uma obrigatoriedade hoje em dia e querendo ou não, o inglês domina os negócios. Além de você encontrar muito material de estudo que estão apenas em inglês, ele provavelmente é um dos requisitos daquela vaga que você tanto almeja. Independente da forma e do tempo que você vá se dedicar ao estudo do idioma, tente praticar um pouco todos os dias, existem diversas opções online que se adequam a sua rotina.

Muitos desenvolvedores tem o hábito de escrever seus códigos apenas em inglês. Além de manter um padrão fica muito mais fácil caso a empresa seja multinacional e outra pessoa tenha que dar sequência a esse projeto.

Infelizmente isso não o faz mais um profissional diferenciado. É algo que você tem que saber, tendo em média um inglês intermediário. Mesmo que você tenha o básico e apareça uma entrevista, não se preocupe. Se você estiver estudando o idioma isso contará pontos, pois o recrutador saberá que você pode não saber tanto agora, mas que está se esforçando para melhorar.

Boa comunicação

A necessidade de uma boa comunicação já começa aí mesmo na entrevista de emprego, onde muitas vezes, a primeira impressão é a que fica. Você tem que conseguir se expressar, mostrar suas competências, atitudes, além de passar uma credibilidade.

Foi-se o tempo que o profissional de TI ficava apenas em uma sala programando. Hoje as empresas querem melhorar a comunicação de seus funcionários. Você pode ter que explicar algo a um cliente em uma reunião, ter que liderar uma equipe, realizar apresentações e por aí vai…

Proatividade

O fato de você ser ou querer se tornar uma pessoa proativa, pode te trazer muitos benefícios, além de ser uma característica muito apreciada. Se você é uma pessoa que sempre tenta encontrar diversas maneiras para resolver um problema, se faz as coisas sem ninguém ter que pedir, pode se colocar no time dos proativos.

Uma pessoa proativa basicamente se antecipa às situações e toma a iniciativa. Muitos recrutadores conseguem enxergar isso em uma entrevista. Apesar de ser associado mais ao ambiente corporativo, ser proativo nos ajuda até mesmo em outras áreas de nossa vida.

Sabe aquele ditado “Não deixe para fazer amanhã o que você pode fazer hoje”? Pois bem, então vamos começar hoje mesmo colocando em prática as outras dicas =D

Até a próxima! 😀

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.

Desenvolvedor Java Júnior
Formação: Desenvolvedor Java Júnior
A formação Desenvolvedor Java nível Júnior da TreinaWeb tem como objetivo fornecer uma introdução ao desenvolvimento através do Java e todo o ecossistema para desenvolvimento da Oracle. Nesta formação, são abordados tópicos como o desenvolvimento da capacidade analítica, o paradigma orientado a objetos, a preparação do ambiente de desenvolvimento para o Java através do Eclipse e o controle de versão de código através do Git e do GitHub. Além disso, também são abordados aspectos mais essenciais da linguagem e estruturas importantíssimas dentro do ecossistema do Java, como a Stream API, que auxilia a lidar com coleções de dados; a implementação das estruturas de dados mais tradicionais como listas, filas e pilhas; e a API de coleções.
CONHEÇA A FORMAÇÃO

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.

Desenvolvedor Front-end Pleno
Formação: Desenvolvedor Front-end Pleno
HTML, CSS e JavaScript são a base de toda a web. Tudo o que você está vendo aqui agora depende deste tripé. Nesta formação vamos conhecer assuntos mais avançados do HTML5, CSS3 e JavaScript, conhecer o NPM, trabalhar com o RxjS (base do framework Angular), testes com Jasmine e uma pequena introdução ao TypeScript.
CONHEÇA A FORMAÇÃO

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.

HTML5 e CSS3 - Desenvolvimento web Básico
Curso de HTML5 e CSS3 - Desenvolvimento web Básico
CONHEÇA O CURSO

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.

JavaScript Básico
Curso de JavaScript Básico
CONHEÇA O CURSO

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.

JavaScript Avançado
Curso de JavaScript Avançado
CONHEÇA O CURSO

Fique Ligado!

Para seguir o Diego Eis:

TW Entrevista 10: Jaydson Gomes

Olá, Web Developers!

Hoje trazemos para vocês uma entrevista com o Jaydson Gomes, primo do Felipe Moura com quem fundou a Nasc e BrazilJS.

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

JavaScript Básico
Curso de JavaScript Básico
CONHEÇA O CURSO

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

Meu nome é Jaydson Gomes e sou de Porto Alegre, cidade onde ainda vivo atualmente. Desde 2015 (https://jaydson.com/novos-rumos-2015/) me dedico 100% ao meu próprio negócio, a Nasc, empresa responsável, entre outras coisas, pela BrazilJS.

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

O primeiro video-game que tive foi um Atari, na época que o MasterSystem era o que existia de mais legal. Quando o Nintendo estava bombando, eu tive uma MegaDrive.

De certa forma entrei tarde na área. Foi só aos 16/17 anos que fui ter o meu primeiro computador (um belo K62 ❤️ com incríveis 16MB de memória RAM, puro luxo).

Meu primeiro contato com a área mesmo foi quando consegui meu primeiro emprego na empresa de um amigo. O job era montar e consertar computadores. Foi aí que aprendi toda a base de como as coisas funcionavam e logo me dei conta que eu não gostava muito de hardware. Então comecei lentamente a migrar para o desenvolvimento de software.

Um ponto importante é que esse processo foi lento, devido ao que mencionei acima. Eu nunca achei que seria capaz de entender como um computador funcionava e muito menos fazer software, parecia algo de outro mundo pra mim. Mas cá estou. 😀

Como foi seu primeiro trabalho na área?

Nessa empresa do meu amigo aprendi muito. Aprendi como não fazer muita coisa e também aprendi a base da computação.

Serei eternamente grato pela oportunidade que tive na época, foi um aprendizado para a vida. No primeiro emprego com carteira assinada eu fazia muita coisa na área de TI e tinha tempo para estudar e aplicar o que aprendi desenvolvendo pequenas ferramentas, isso também me ajudou bastante.

Somando essas duas experiências, consigo ver nitidamente o quanto amadureci em pouco tempo e o quanto isso contribuiu para a minha formação. Fazer experimentos é algo que ajuda muito e mantenho esse hábito até hoje.

Nesses anos de experiência, tem algo que você deixou de fazer por algum receio e que hoje enxerga que poderia ter sido uma grande oportunidade?

Uma das poucas coisas que deixei de fazer durante o caminho da minha carreira foi deixar algumas coisas que gostava muito de fazer de lado, justamente pelo receio de não conseguir me sair bem na área, acabei focando 100% em tecnologia. Não recomendo.

É preciso tempo para entender. Nossa sociedade é estruturada de maneira que apenas um caminho profissional deve ser seguido e assim somos doutrinados e condicionados. O que tu quer ser quando crescer? Hoje tento me dedicar a tudo que gosto de fazer e faço tudo com paixão.

A vida é muito curta para fazer uma coisa só, e sim, é possível exercer mais de uma profissão, ter hobbys, se divertir, etc. Se tu não consegue equilibrar isso é por falta de gerenciamento de tempo.

“Não tenho tempo para ver séries”, “Não tenho tempo para praticar um esporte”, “Não tenho tempo para aprender um instrumento”, “Não tenho tempo para tomar aquela cerveja com amigos/amigas” Tudo bullshit.

JavaScript Intermediário
Curso de JavaScript Intermediário
CONHEÇA O CURSO

Como é seu trabalho hoje e o que você considera de maior aprendizado adquirido na Nasc e BrazilJS?

Minha principal função na Nasc é conectar empresas e comunidade. Na BrazilJS, é levar conteúdo inédito e relevante para a comunidade. Comunidade é a palavra chave, mesmo.

Nosso business só existe por conta do nosso envolvimento com a comunidade desde o início de nossas carreiras.

O aprendizado é constante e diário. Posso elencar dois grandes. Um deles é comercial. Vender coisas nunca foi minha ambição, mas hoje essa é uma das minhas atividades principais, e esse foi um grande aprendizado. Manter a BrazilJS não é uma tarefa fácil, mas posso dizer que estamos indo bem.

O outro aprendizado que julgo como um dos mais importantes é sobre a própria comunidade. Mesmo fazendo parte e tendo interesse desde o início de minha carreira, somente há uns 4 ou 5 anos é que comecei a notar que existia algo mais forte.

Está em nossas mãos o poder de mudar a realidade e a sociedade. Comunidades de tecnologia são como um espelho da sociedade, se conseguimos muda-las, mudamos um pouco do todo.

Eu só aprendi sobre diversidade e sobre sua importância por conta do trabalho que fazemos.

O que você sente de maior prazer em trabalhar com tecnologia?

Não é em toda área que se tem o poder de transformar uma ideia em realidade em tão pouco tempo. Pra mim, esse é um dos maiores prazeres de se trabalhar com tecnologia.

Outro ponto importante é estar conectado com o futuro. Trabalhar com tecnologia me permite viajar no tempo, estar sempre pensando no que ainda não existe e no que é possível ou impossível, esse é um prazer imenso.

Durante sua carreira, quais pontos você enxerga que amadureceu e que ainda precisa amadurecer profissionalmente?

O maior amadurecimento, no meu ponto de vista, é saber que nunca se é maduro o suficiente, por mais paradoxal que isso pareça. Todo ano eu tento fazer tudo diferente, não somente por querer fazer diferente, mas por saber que pode e deve ser melhor.

JavaScript Avançado
Curso de JavaScript Avançado
CONHEÇA O CURSO

Quer deixar um recado para os nossos colegas ou para quem está começando?

Mais caos e menos burocracia. Acredito que somente processos caóticos contribuem para a evolução e inovação constante. Claro, o equilibrio é sempre a melhor dose, mas a transformação verdadeira não virá de coisas estáticas e escritas em pedra.

Foquem na carreira, mas não esqueçam do que gostam de fazer e se possível, foquem também em outras áreas de interesse. Diversidade é importante e ponto final. É importante em eventos, em empresas, onde for.

Tecnologia é massa, mas é só o meio do caminho, às vezes nem isso. Não seja idiota, ninguém gosta de gente idiota.

Fique Ligado!

Para seguir o Jaydson Gomes:

TW Entrevista 09: Reinaldo Ferraz

Olá, Web Developers!

Hoje trazemos para vocês uma entrevista com o Reinaldo Ferraz, especialista em Acessibilidade para a Web e que trabalha na W3C Brasil.

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

Acessibilidade - Introdução
Curso de Acessibilidade - Introdução
CONHEÇA O CURSO

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

Eu tenho 41 anos, moro e trabalho em São Paulo. Atualmente estou no W3C Brasil e no Ceweb.br trabalhando como especialista em desenvolvimento Web. Sou responsável por ações e estudos sobre tecnologias Web, desde as principais tecnologias do W3C como HTML e CSS até projetos relacionados a Web das Coisas.

Apesar desse amplo espectro, sou apaixonado por acessibilidade digital. Além de ter o privilégio de coordenar as ações de acessibilidade aqui no escritório, sou um militante da causa de uma Web inclusiva para todas as pessoas, independente de deficiência ou limitação tecnológica.

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

Sempre gostei de tecnologia. Quando era office boy de uma companhia aérea (a finada Transbrasil) eu ficava fuçando os computadores da secretária do meu chefe para aprender a mexer em alguns programas.

Foi lá que aprendi a mexer com o Lotus123, Wordstar e programas “gráficos” como o Printmaster. Isso me estimulou a procurar um curso de graduação na área e acabei encontrando um curso de Educação Artística e Computação gráfica na Anhembi Morumbi (hoje esse curso não existe mais mas gerou diversos cursos como design digital e outros).

Lá eu aprendi muita coisa relacionada a tecnologia (como operar software) mas como também a ter um olhar crítico sobre a produção digital. Foi lá que eu tive meu primeiro contato com a Web, por volta de 1998 (no último ano da faculdade). Logo depois que me formei fiz uma pos de Design de Hipermídia, também na Anhembi Morumbi e comecei a trabalhar na área.

Como foi seu primeiro trabalho na área?

Meu primeiro trabalho foi com desenvolvimento Web em uma pequena empresa de tecnologia em 1998.

Eu tinha acabado de sair da faculdade e precisava fazer o estágio. Eles eram especialistas em rede e estavam expandindo seus serviços para o desenvolvimento Web. Trabalhei com um time pequeno. Era um coordenador, dois desenvolvedores/design e um ilustrador. Aprendi muito nesse trabalho.

Na época, design de sites era desenhar a página no Photoshop e picotá-la para colocar em tabelas no site (antes de existir o Adobe ImageReady) no HTML3. Com o tempo fomos estudando e aprendendo como melhorar a performance com um design mais limpo e elaborado, mas nunca passou pela nossa cabeça conhecer Web Standards.

Era uma época interessante, pois nem todo mundo dava bola para a Web e o pessoal de vendas trocava tudo por site, desde pizza para a equipe até bicicletas. Tudo isso virava moeda para pagamento.

Muitos devem ter curiosidade: como é trabalhar na W3C Brasil? Conte-nos um pouco sobre o dia a dia, o que é feito lá, suas responsabilidades, etc.

Trabalhar no W3C Brasil é diferente de trabalhar no W3C Internacional. Lá as funções são com focos nos grupos de trabalho que desenvolvem os padrões, e o pessoal do staff trabalha diretamente nessa linha de frente.

Aqui no Brasil nossas atribuições principais são fomentar o uso dos padrões e estimular a participação brasileira no cenário de construções de padrões internacionais. Eu trabalho principalmente com os projetos relacionados a acessibilidade na Web.

Ainda existe uma carência muito grande de material em português e iniciativas para colocar esse tema na pauta do desenvolvedor. Minhas atividades incluem promover essas atividades, como a construção de guias de boas práticas, coordenar traduções de documentos e disseminar esse conteúdo, promovendo e participando de eventos em todo o mundo.

Também estou trabalhando com Web das Coisas, que é o uso de tecnologias Web na Internet das Coisas, e Publicações Digitais na Web, que estuda a evolução das publicações eletrônicas, como ebooks e revistas digitais. Trabalhamos aqui fazendo estudos e promovendo iniciativas para essas tecnologias também.

Na verdade acabamos trabalhando com o W3C Internacional, participando de grupos de trabalho para discutir a evolução dos padrões. Além de estimular a participação brasileira, também contribuímos como membros do consórcio.

HTML5 e CSS3 - Desenvolvimento web Básico
Curso de HTML5 e CSS3 - Desenvolvimento web Básico
CONHEÇA O CURSO

O que você enxerga como maior desafio no seu trabalho? Quais as partes que mais e menos gosta?

Acho que o maior desafio no meu trabalho é conseguir colocar a pauta da acessibilidade especialmente para empresas.

Usuários e desenvolvedores compram a ideia e a causa muito fácil, mas para empresas muitas vezes as prioridades são prazos e falta de capacitação, o que acaba envolvendo tempo e custos.

Quando o desenvolvedor se envolve com a acessibilidade ele acaba colocando no seu dia a dia, mas muitas vezes não é uma preocupação da empresa.

Hoje em dia ainda é muito comum que as pessoas se preocupem com acessibilidade apenas no fim do projeto ou como um simples item para melhorar o SEO. Compartilhe conosco a importância de se desenvolver uma web mais acessível para todos, e quais ferramentas você costuma usar para fazer testes de acessibilidade.

Por isso esse trabalho e importante. Muita gente vê a acessibilidade como um benefício para os outros. Acessibilidade tem a ver com o nosso acesso ao conteúdo no futuro, seja devido a uma limitação temporária ou mesmo com a chegada da idade, quando a acuidade visual e auditiva vão diminuindo e a destreza manual também.

Tanto a acessibilidade quando UX tem um papel importante na tecnologia que é aproximar o ser humano da aplicação. Deixar que a aplicação seja mais amigável para as pessoas. Na verdade, para TODAS as pessoas.

Eu defendo que a acessibilidade deve fazer parte do início do projeto. Levar em consideração requisitos de acessibilidade desde o início evita o retrabalho depois do site pronto. É como construir uma casa: Melhor pensar em uma casa com batentes amplos antes de construir do que quebrar paredes para fazer isso.

Ao pensar em acessibilidade, muitas pessoas costumam pensar primeiramente em leitores de telas voltados para deficientes visuais, mas pensar em acessibilidade vai muito além disso, já que existem várias outras necessidades especiais que muitos de nós nem nos damos conta. Comente sobre outros casos que precisamos levar em conta na hora de cuidar da acessibilidade e quais fontes você recomenda para que possamos aprender mais sobre o assunto e nos mantermos atualizados.

A questão da acessibilidade vai além dos leitores de tela. Pensamos nisso em primeiro momento porque é o que parece ser mais impactado, já que a Web tem um apelo gráfico e visual muito forte. Porém quando pensamos no acesso de todas as pessoas precisamos considerar também as pessoas de baixa visão (que não enxergam letras pequenas ou determinadas cores), pessoas surdas ou de baixa audição (que precisam de legendas ou tradutores para LIBRAS) e pessoas com mobilidade reduzida (principalmente pessoas tetraplégicas, que não se movimentam do pescoço para baixo). Para todas essas situações (e muitas outras) existem técnicas e diretrizes para evitar barreiras de acesso.

Uma forma de entender essas questões é ter empatia pelo seu usuário. Compreender as diferenças e estudar como as pessoas navegam ou acessam a Web. Todas as pessoas são diferentes e tem características únicas e navegam de forma distinta, seja com um navegador ou ou um leitor de tela.

Empatia nos possibilita pensar no desenho universal, que não cria barreira para nenhuma pessoa, seja ela uma pessoa com deficiência ou não.

Existe um amplo material disponível sobre acessibilidade na Web. Além das Diretrizes do W3C (https://www.w3.org/Translations/WCAG20-pt-br/), eu recomendaria a leitura dos seguintes materiais:

Cartilha de Acessibilidade na Web

Essa cartilha tem links com ótimas referências, desde artigos técnicos até legislação relacionada aos direitos da pessoa com deficiência.

UX/UI - Introdução
Curso de UX/UI - Introdução
CONHEÇA O CURSO

Livro Acessibilidade na Web

http://www.reinaldoferraz.com.br/livro-sobre-acessibilidade-na-web/

Produzido no âmbito do curso a distância do curso de Pós-Graduação em Tecnologias e Inovações para Web para o Senac, nesse livro (de minha autoria) você encontra um ótimo contexto da acessibilidade além de técnicas para tornar páginas acessíveis

Dicas para verificar a acessibilidade da sua página Web
https://medium.com/revista-web/dicas-para-verificar-a-acessibilidade-da-sua-p%C3%A1gina-web-186acdfb865c

Um artigo que escrevi com dicas para encontrar barreiras de acesso em páginas e aplicações Web e como soluciona-las.

Movimento Web para Todos

http://mwpt.com.br/

Um movimento com o objetivo de disseminar a acessibilidade digital entre desenvolvedores, empesas e o público em geral. Tem um amplo repositório de artigos e uma área para que qualquer pessoa possa “compartilhar sua experiência” com relação a acessibilidade na Web, seja ela boa ou ruim.

Fique Ligado!

Para seguir o Reinaldo Ferraz:

TW Entrevista 08: Fabio Costa

Olá, Web Developers!

Hoje trazemos para vocês uma entrevista com o Fabio Costa, desenvolvedor que já trabalhou na Globo.com, no Facebook e agora está na GoDaddy.

Se você ainda não viu, a Talita Pagani foi a última entrevistada por nós.

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

Meu nome é Fabio Miranda Costa, sou natural de Natal/RN e moro atualmente em Newark na California.

Continuo trabalhando como Engenheiro de Front End, atualmente na GoDaddy no escritório de Sunnyvale, liderando tecnicamente um dos times que mantém a ferramenta de Construção de Websites.

Desenvolvedor Front-end Pleno
Formação: Desenvolvedor Front-end Pleno
HTML, CSS e JavaScript são a base de toda a web. Tudo o que você está vendo aqui agora depende deste tripé. Nesta formação vamos conhecer assuntos mais avançados do HTML5, CSS3 e JavaScript, conhecer o NPM, trabalhar com o RxjS (base do framework Angular), testes com Jasmine e uma pequena introdução ao TypeScript.
CONHEÇA A FORMAÇÃO

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

Eu desde pequeno sempre fui fascinado por jogos de computador, tenho fotos jogando video game aos 2 anos.

Depois meu pai comprou um computador com monitor monocromado, com fundo preto e cor verde, onde lembro que jogava “Prince of Persia”.

Continuei jogando no computador por bastante tempo, sempre acompanhando as novidades na área. Com essa paixão, pra mim foi fácil decidir que queria trabalhar com alguma coisa relacionada a computadores, então acabei fazendo o curso de Engenharia da Computação na UFRN (2004-2008), e ao fazer meu primeiro “hello world” durante o curso me apaixonei de cara por programação.

Durante o curso ainda fiquei bastante em dúvida se queria trabalhar mais com programação de hardware ou de software, mas ao ter mais contato com programação web e com Front End, que era uma área que estava nascendo com muita força, acabei partindo para o Front End web.

Programar para o Front End é bem mais visual e requer gosto por design também.
Acho que foram esses pontos e meu gosto por geometria que me levaram a querer cada vez mais me aprofundar na área.

Como foi seu primeiro trabalho na área?

Por volta de 2005, eu ainda estava na Universidade, meu pai e 2 tios tinham um restaurante e eles precisavam de um website.

Após ter mais contato com programação e entender melhor como funciona Java e C, achei que criar o site do restaurante seria uma boa forma de aprender linguagens de programação mais modernas.

Com esse objetivo, ao ficar de férias, lembro que ficava bom tempo no meu quarto fazendo o site, era tudo muito novo pra mim.

Meu primo Renato fez o design do site e eu fiz a programação.

Na época a linguagem PHP era a escolha óbvia para a Web, então tive que aprender a linguagem enquanto fazia setup do servidor. Nem Banco de Dados usei porque era muito complicado 😂.

Ter tido a oportunidade de trabalhar nesse projeto foi incrível para mim, talvez ele que me puxou para trabalhar na área que trabalho hoje, e definitivamente aprendi muito enquanto trabalhei nele.

Você também fez muitas contribuições ao Mootools. Como ajudar projetos open source influenciaram em sua carreira?

Contribuir para projetos open source fizeram toda a diferença na minha carreira. Eu recebi convite para entrevista no Facebook porque trabalhei no MooTools.

O MooTools hoje não tem muita relevância, mas na época que participei ele era o “número 2”, atrás do jQuery, e certamente sua implementação era bem mais elegante e inovadora, tanto que a primeira versão da biblioteca de animação do jQuery foi baseada no moo.fx, que era a biblioteca de animação do MooTools. (https://github.com/jquery/jquery/blob/1.0a/fx/fx.js#L166-L168)

Outro projeto que ajudou em minha carreira foi o jquery-meiomask https://github.com/fabiomcosta/jquery-meiomask.

A Globo.com usou ele no CMS interno deles, e fui convidado para fazer entrevista lá por causa desse projeto. Acabei trabalhando durante 1 ano e meio na Globo.com.

Devem te perguntar muito isso, mas vamos lá: Como foi trabalhar no Facebook? Quando se está dentro de uma empresa desse porte, sente-se muita pressão e medo de fazer algo errado ou acaba sendo um trabalho como os demais?

Trabalhar no Facebook foi uma experiência incrível e certamente vai ficar marcado para sempre na minha vida.

Acho que o causa mais pressão e “medo” de fazer coisa errada normalmente é trabalhar num sistema monolítico que não tem barreiras claras entre os diferentes sistemas, que é o caso do Facebook Web, mas que não é verdade em todas outras empresas grandes.

Um exemplo de empresa que não tem esse problema é o Netflix. Fazer modificação em componentes de infra no projeto web do Facebook (o maior de todos os projetos deles) é um trabalho que exige muito teste e que tem alta chance de quebrar alguma outra parte do site.

Ao estudar entrar numa empresa, prefira empresas que tentam criar e manter pequenos sistemas. Dessa forma o “overhead” no programador é menor e fazer modificações é mais fácil/rápido por exigir menos burocracia.

Acredito que os lugares mais conhecidos por onde você passou foram Globo.com, Facebook e agora a GoDaddy. Pode comentar como era o fluxo de desenvolvimento e entregas neles?

Globo.com

Trabalhávamos em sprints de 1 semana (se não me engano) e subíamos uma nova versão sempre que necessário.

Geralmente as modificações e novas funcionalidades vinham “de cima”, iam para o nosso PM e depois para o designer que trabalhava junto ao time de engenharia, e assim nós íamos iterando nessa nova funcionalidade, dando feedback e, quando necessário, cortando escopo.

O processo de deploy de novas versões era “manual” e tinha um time que ajudava com o deploy e ajudava a monitorar problemas em produção. Lembrando que isso foi há +-6 anos, e considero esse processo relativamente simples e avançado para a época.

Facebook

Existem muitos times diferentes por lá, e trabalhei em dois que tinham perfis bem diferentes.

O primeiro era um time que era considerado uma “Agência Digital” que tinha como único cliente o próprio Facebook.

Nesse time trabalhei em alguns projetos bem tensos, com deadlines pouco flexíveis, onde tínhamos que tomar decisões muito rápido para poder entregar os projetos.

Em geral as ideias dos projetos tambem vinham “de cima”, e nós trabalhamos com os designers cortando escopo e se encaixando no deadline que havia sido definido.

O projeto que trabalhei, que mais me marcou e que teve um impacto muito grande nos usuários foi o projeto do vídeo de 10 anos do Facebook, onde criamos 1 customizado por usuário, que dava um highlight de como foi a “vida” dele no Facebook até então, mostrando suas fotos e vídeos mais relevantes.

Também trabalhei no time de infraestrutura de JavaScript, onde pude trabalhar com vários experimentos de otimização do Facebook Web e com melhorias da nossa infra de JS, sempre visando melhoria de performance no client.

Esse time nao tinha design e a forma como trabalhávamos era bem menos dinâmica e mais burocrática, pois as mudancas estavam sendo feitas em sistemas “core” do Facebook Web.

Na parte de deploy, o Facebook Web é igual para todos os times. O deploy acontece todas as terças num horário especifico com opção de fazer “merge” de código diariamente. O processo todo é um pouco complicado e não vou entrar em detalhes para não me extender demais.

Hoje em dia sei que o Facebook faz continuous deploy, ou seja, uma nova versão do Facebook Web sobe para produção a cada modificação feita por um desenvolvedor.

GoDaddy

Acabei de fazer 1 ano na GoDaddy, e desde que entrei estou trabalhando no Construtor de Websites, que é um produto voltado para usuários que têm pouca ou nenhuma experiência em programação, ou simplesmente querem fazer um site simples de forma rápida.

Na GoDaddy lidero tecnicamente o time responsável pela experiência de edição do Construtor de Websites (Editor).

Temos sprints de 2 semanas e em geral novas funcionalidades também vêm “de cima”. Nosso time, juntamente com o PM e Gerente, é responsável por priorizar essas funcionalidades.

Em geral, no nosso sprint temos um mix de tarefas “tech debt”, que visa melhorar a qualidade da nossa base de código, e tarefas para as novas funcionalidades. Gosto da forma como trabalhamos porque a comunicação funciona muito bem e cada um de nós tem uma visão muito clara do que devemos fazer.

Na parte de deploy, temos um sistema muito avançado de CICD (Continuous Integration Continuous Delivery) que gera uma nova versão do Criador de Websites para cada modificação dos desenvolvedores.

Desenvolvedor Front-end Sênior
Formação: Desenvolvedor Front-end Sênior
HTML, CSS e JavaScript são a base de toda a web. Tudo o que você está vendo aqui agora depende deste tripé. Nesta formação aprenderemos Sass, Google Analytics, empacotar nossas aplicações com Webpack, criação de aplicações Desktop com Electron, UX/UI e uma introdução aos frameworks mais utilizados no mercado: Angular, React, Vue e Ember.
CONHEÇA A FORMAÇÃO

Pergunta da comunidade: Vi que o Facebook usa, além do PHP/Hack, C, C++, Java, Python, etc. Outras também são usadas internamente, como OCaml, Haskell e Ruby. Por quê o Facebook usa tantas linguagens diferentes?

Empresas grandes tentam se policiar para não introduzir novas linguagens sem motivo, pois existe todo um trabalho extra de contratação e treinamento quando elas são introduzidas.

Mas veja que eu falei “sem motivo”. No caso específico do Facebook, tudo tem que tem um motivo plausível para acontecer.

Se um grupo de pessoas querem iniciar um projeto usando uma nova linguagem, esse grupo de pessoas deve justificar o porque e deve convencer um numero significativo de pessoas para seguir em frente.

Esse processo não é formal, acontece de forma dinâmica e faz parte da cultura da empresa.

Como é o processo de contratação para quem sonha em trabalhar em uma empresa como Facebook?

A primeira etapa envolve entrar em contato com um recrutador da empresa.

Para isso você pode se inscrever em alguma vaga através do próprio site deles, ou através de LinkedIn ou StackOverflow, dentre outros.

Outra forma, que é bem mais trabalhosa porém, que vai te deixar na frente dos outros candidatos, é chamar a atenção da empresa de alguma forma, contribuindo para projetos open-source relevantes para a empresa e se mantenha em contato com desenvolvedores dessa empresa, mostrando o que você tem feito de relevante e pedindo feedback.

Após ter o contato do recrutador e ter uma conversa informal via mensagens, ela(e) vai querer ter uma conversa informal por voz. Normalmente são perguntas simples sobre programação, somente para sentir como é seu nível de programação e como está sua comunicação em inglês.

Passando disso voce vai participar de 2 entrevistas remotas com 2 engenheiros diferentes em dias diferentes.

Nessas entrevistas o engenheiro vai compartilhar um editor de texto e vai te passar um problema de programação para que você resolva com código usando o editor compartilhado.

No caso de Front-End, normalmente são problemas relevantes a essa área, que vão refletir conhecimento em CSS, DOM, performance em JavaScript e outros.

Passando das 2 entrevistas remotas, você será entrevistado por mais 4 engenheiros, dessa vez “ao vivo”, em um dos escritórios do Facebook.

As 4 entrevistas vão acontecer no mesmo dia e todo o processo é sem custos para o candidato. Além de serem “ao vivo”, essas entrevistas também vão exigir que o candidato escreva código no quadro branco.

Minha dica para entrevistas em quadro branco é exercitar escrever código em papel e cronometrando.

A experience é muito similar. Você comeca a perceber que o grande segredo é pensar muito bem no problema antes de comecar a escrever o código, pois apagar e re-escrever código nesses meios é muito custoso com relação a tempo.

Por quê você saiu do Facebook?

Sair do Facebook foi uma das decisões mais difíceis da minha vida, mas foi necessária.

O Facebook é realmente uma empresa sensacional de trabalhar e continuo recomendando ela para amigos.

O que acontece no Facebook em especial é que para crescer internamente como engenheiro requer que você tenha um “case” ou projeto de sucesso, ou você pode crescer fazendo trabalhos mais “gerenciais”, desenvolvendo trabalhos com outros times de outras organizações dentro da empresa.

Eu não tinha um case/projeto de engenharia forte, então meu gerente começou a me colocar em projetos de escopo grande na empresa, onde eu precisava conversar com engenheiros e gerentes dos outros times envolvidos, organizando todo o esforço até chegar no resultado.

Até então eu somente tinha trabalhado junto com meu time, e quase que exclusivamente codando.

Essa mudança pra mim gerou muito stress e minha produtividade caiu muito, me sentia um pouco sozinho muitas vezes, com pouco suporte do meu gerente.

Após um certo tempo, senti que não estava sendo saudável nem produtivo para nenhuma das partes. Foi quando decidi sair da empresa.

O que você enxerga como mais desafiador no seu trabalho?

O mais desafiador no nosso trabalho é que nós somos cobrados por muitas responsabilidades, sendo nosso esforço técnico e de código apenas uma delas.

Quando chegamos em um certo nível, temos que ser referências técnicas, e temos que ser, principalmente, líderes.

Ser líder é algo que estou aprendendo diariamente em como melhorar, e que acho que não existe uma fórmula mágica.

É um trabalho contínuo de ajudar o time, removendo impedimentos, participar ativa e inteligentemente de reuniões e propor melhorias relevantes para o time.

Na GoDaddy me sinto muito bem trabalhando com meu time e com meu gerente (e superiores). Acho o ambiente de trabalho lá sensacional.

Fique Ligado!

Para seguir o Fabio Costa:

TW Entrevista 07: Talita Pagani

Olá, Web Developers!

Hoje trazemos para vocês uma entrevista com a Talita Pagani, desenvolvedora, empreendedora e membro da W3C’s Web Accessibility Working Group do Brasil.

Se você ainda não viu, o entrevistado da semana passada foi o Rafael Caferati.

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

Sou a Talita Pagani, tenho 30 anos, estou no mercado desde 2005, atualmente moro em São Paulo, mas vivi até os 28 anos em Bauru – SP, onde me formei e comecei minha carreira de web designer.

Sou formada em ciência da computação, fiz especialização em gestão de projetos e em 2016 concluí o mestrado também em ciência da computação, com foco em Interação Humano-Computador e Acessibilidade Web.

Trabalho na Nexaas (http://nexaas.com), uma plataforma de soluções omnichannel com ênfase na área financeira e ERP. Atuo tanto na parte de estratégia de Experiência de Uso (levantamento de requisitos, entrevistas com usuários, prototipação, etc.) até a parte do desenvolvimento front-end (JavaScript, HTML, CSS, um pouco de Ruby on Rails) em alguns dos produtos.

Desenvolvedor Front-end Júnior
Formação: Desenvolvedor Front-end Júnior
HTML, CSS e JavaScript são a base de toda a web. Tudo o que você está vendo aqui agora depende deste tripé. Nesta formação vamos iniciar aprendendo lógica. Teremos uma introdução ao HTML e CSS e conheceremos a linguagem JavaScript.
CONHEÇA A FORMAÇÃO

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

Quando tinha 13 anos, queria entender como desenvolver sites para compartilhar conhecimento sobre coisas que eu gostava e tinha interesse, como bandas e animes.

Não comecei já codificando direto no HTML. Iniciei com ferramentas como o antigo HPG (só o pessoal antigão vai conhecer), Homestead.com e o MSN Communities.

Aos poucos fui querendo entender melhor como fazer sites mais complexos, dinâmicos e interativos. Comecei a estudar por conta FrontPage 2000 e iniciei um curso profissionalizante de Dreamweaver e Photoshop. Queria ter aprendido a mexer com GCI/Perl, que estava em alta na época, mas no interior era difícil encontrar alguém que soubesse do assunto e encontrar materiais na internet ainda era difícil.

Aos poucos fui querendo entender o que estava por trás das páginas web e ia estudando por conta o que era HTML, o que significava CSS e aprendi JavaScript como sendo DHTML (Dynamic HTML).

Em 2003/2004 comecei um segundo curso de Web Design e Web Development, onde comecei a ver mais sobre HTML, JavaScript, ASP (VB Script) e, claro, muito de Flash. O meu interesse sobre desenvolvimento web só cresceu e eu decidi que queria trabalhar como web designer.

Ainda não sabia a faculdade a fazer, mas já sabia que queria fazer disso a minha profissão. Construir soluções de acesso a todos e que pudessem divulgar conhecimento a uma grande quantidade de pessoas usando a internet foi o que me cativou para mergulhar de cabeça na área.

Algo que acho muito importante frisar é todo o apoio que recebi dos meus pais para entrar nessa área de tecnologia. Eles sempre me incentivaram e apoiaram nessa escolha, mesmo não conhecendo muito da área, que ainda tinha o estereótipo de ser para nerds e, no interior, ser um trabalho que não dava muito dinheiro (rs).

Como foi seu primeiro trabalho na área?

A escola em que eu fazia meu curso recebeu o contato de uma empresa que estava procurando por estágiário para web designer, em 2005. Como era uma boa aluna, a professora do curso lembrou de mim e me indicou. Fiz a entrevista e passei.

Tinha 17 anos e estava super empolgada, mesmo sendo um estágio não remunerado e de apenas 3 dias na semana. Mas isso permitiu não atrapalhar a finalização do curso e do ensino médio, além de me trazer mais aprendizado e responsabilidade.

Cresci muito porque foi o primeiro trabalho de verdade também. Era uma empresa pequena, eu era a única pessoa com menos de 20 anos lá, mas sempre fui tratada com respeito e tive desafios que me fizeram ir atrás de novos conhecimentos. E foi legal porque a empresa era composta 95% por mulheres.

Fiquei 6 meses na empresa e depois apliquei para um processo seletivo de estágio nos Correios para o departamento de TI. Já estava com matrícula na faculdade, fui aprovada e entrei em dezembro de 2005 e fiquei até fevereiro de 2007.

Nesse período, não fazia apenas a parte de web design (layout + front-end), mas aprendi muito sobre back-end e banco de dados com ColdFusion e SQL Server, especializei meus conhecimentos sobre Padrões Web, ajudei a organizar treinamentos, aprendi MUITO sobre JavaScript e foi onde tive meu primeiro contato com o conceito de usabilidade, que mudou minha trajetória de carreira.

Como foi sua experiência como professora na USC? Quais foram os principais desafios e que dicas você dá para quem quer ir para a área da educação?

A USC foi a universidade onde fiz minha graduação, então foi muito gratificante poder voltar como professora. De 2014 a 2016, ministrei cinco módulos na pós-graduação em Engenharia de Software: Design Patterns, Engenharia de Software, Gestão de Projetos e Processos, Modelagem de Software com UML e Interação Humano-Computador, esta última que solicitei para inserir na grade e elaborei a ementa.

O começo é mais complicado porque estava mais acostumada ao ritmo de palestras, que é mais acelerado, enquanto as aulas precisam de uma fala mais calma, interação maior e muita prática.

Para melhorar isso, eu fui observando a dinâmica de cursos em que eu participava e pedia sempre feedbacks aos alunos(as), pois a opinião deles e delas é fundamental. O processo de ensino e aprendizagem não pode ser uma via de mão única, eu percebo como algo colaborativo, me considero estando lá para guiar na aquisição de conhecimento e mentorar o pessoal.

Claro que nem tudo são flores. Já passei por situações como alunos falando no momento da explicação e nomes falsos na lista de chamada. Já tive aluno também reclamando de eu ter dispensando um pouco mais cedo da aula no sábado à tarde, rs.

No geral, fui bem aceita e sempre respeitada pelos alunos. A prova disso são os alunos que me escolheram como orientadora de TCC e os demais que me convidaram como membro da banca examinadora, o qual me senti muito honrada.

Um dos grandes desafios é acertar o ritmo da aula e isso varia muito de conteúdo e do tipo da turma. É preciso se preocupar em motivar os alunos e não deixar a aula monótona. O que eu aprendi a fazer é intercalar conteúdo com atividades práticas e estar sempre acompanhando, tirando dúvidas e fazendo provocações, no bom sentido.

Outro grande desafio foi perceber que preparar material de aula é algo bem custoso. Para cada hora/aula, levo em média 3 horas para preparar o material. Então, para quem quer dar aula, se programe para ter este tempo na sua agenda!

Para quem quer ir para a área de educação, recomendo estudar bases sobre didática, pedagogia e andragogia (ensino de adultos). Sócrates, Piaget, Paulo Freire, Vygotsky, entre outros.

Não basta ter conhecimento técnico para ser docente, é muito importante se dedicar a aprender a ensinar. Você não precisa ter mestrado ou doutorado para dar aulas, com o título de especialização já é possível, mas é recomendável ter ao menos o mestrado se quiser seguir carreira na área.

Desenvolvedor Front-end Pleno
Formação: Desenvolvedor Front-end Pleno
HTML, CSS e JavaScript são a base de toda a web. Tudo o que você está vendo aqui agora depende deste tripé. Nesta formação vamos conhecer assuntos mais avançados do HTML5, CSS3 e JavaScript, conhecer o NPM, trabalhar com o RxjS (base do framework Angular), testes com Jasmine e uma pequena introdução ao TypeScript.
CONHEÇA A FORMAÇÃO

Você também possui experiência como freelancer. O que recomenda para quem quer seguir este caminho? (tipo gerenciamento de projetos, como arrumar clientes e jobs, etc)

Já tive uma carreira mais ativa como freelancer, vamos dizer assim. Hoje eu pego somente freelas de curta duração porque percebi que nem sempre é compensador pelo tempo que eu me dedicava.

Acredito que ser freelancer seja compensador se a pessoa for em tempo integral. Freelas para complementar a renda podem ser uma alternativa, mas, olha, o desgaste é muito grande, em termos de tempo, valor nem sempre justo a receber, lidar com clientes difíceis, entre outros.

Em 2012, Zeno Rocha e Bernard de Luna apresentaram uma palestra polêmica justamente sobre isso, chamada “Não faça freela!” (https://www.youtube.com/watch?v=y8UUKv7j0l0).

Para quem deseja fazer freela, deixo algumas dicas:

  • Sempre faça contrato! É uma garantia para você e para o cliente sobre os direitos e deveres de cada um. Caso o cliente não queira fazer um contrato, prefira não fazer o trabalho, porque a chance de acabar não recebendo pelo trabalho são maiores. É possível encontrar facilmente modelos de contrato de prestação de serviço para download;
  • Há duas formas comuns de cobrança: por hora e por valor fechado do projeto. A melhor alternativa irá varias muito do tipo de projeto. Quando são projetos que eu já tenho uma base do tempo que irá levar, opto por estabelecer na proposta o valor total de acordo com as horas trabalhadas;
  • Tenha backup do trabalho do cliente;
  • Armazene todas as comunicações realizadas com o cliente: e-mails, conversas por texto, etc. Caso algo tenha sido acordado por conversa informal ou skype/telefone, formalize de forma escrita por e-mail, por exemplo;
  • Para gerenciamento dos projetos, uma ferramenta que gosto muito é o Traxmo (http://traxmo.com/), que possui temporizador de tarefas e permite até gerar uma “fatura” para o cliente.

Quanto a onde encontrar clientes, existem sites como o Freelancer.com (https://www.freelancer.com/), 99Freelas (https://www.99freelas.com.br/) e (https://trampos.co/) para encontrar projetos, porém, as melhores experiências de freela que tive foram por indicação de outros colegas.

Quando pensou em fundar a Utilizza? Como está sendo a experiência?

Quando comecei a trabalhar como PJ, resolvi abrir uma empresa que não fosse “passiva”, apenas um CNPJ. Então eu formatei a Utilizza como uma empresa de cursos e consultoria em TI, voltando principalmente para avaliações de acessibilidade, usabilidade e QA.

A empresa ainda está no início, tem apenas 1 ano, mas já realizei alguns trabalhos importantes com ela. Além dos trabalhos de consultoria, pretendo estabelecer a Utilizza como uma empresa que apoia eventos de tecnologia.

No ano passado, a Utilizza foi a empresa apoiadora da Trilha Acessibilidade do The Developer’s Conference de São Paulo. Tenho alguns projetos de código aberto que pretendo lançar pela Utilizza, bem como o site institucional e o canal no Medium.

Como está no começo, ainda não estou com uma experiência completa de empreendedora, porém, a médio-prazo tenho planos para tornar a Utilizza um pequeno negócio em que eu possa me dedicar integralmente.

Quem te segue sabe que a acessibilidade está entre suas várias paixões. Inclusive, é integrante do Grupo de Especialistas em Acessibilidade do W3C Brasil. Fale-nos um pouco sobre a importância da acessibilidade e quais fontes e pessoas seguir para saber mais do assunto.

Acessibilidade ainda é vista como algo opcional de um projeto, um adendo, um diferencial. Entretanto, a web nasceu para ser acessível e democratizar o acesso à informação.

Considerando que no Brasil temos cerca de 24% da população com algum tipo de deficiência, de acordo com o Censo IBGE de 2010, não se preocupar com acessibilidade é desconsiderar 1/4 das pessoas que querem navegar na internet, fazer operações bancárias, marcas viagens, fazer compras, contratar serviços, etc.

Pessoas cegas, surdas, com mobilidade reduzida, deficiência intelectual, deficiência motora, deficiências múltiplas têm as mesmas necessidade para uso da web.

Uma frase icônica de Jorge Fernandes e Francisco Godinho afirma que “para a maioria das pessoas, a tecnologia torna a vida mais fácil. Para uma pessoa com necessidades especiais, a tecnologia torna as coisas possíveis”. Acessibilidade não é só uma questão técnica, é algo de grande relevância social para a inclusão.

Alguns sites interessantes e com uma linguagem descomplicada sobre o assunto:

Dentre as atividades que você já exerceu/exerce, quais as que você mais/menos gosta e por que?

A função que estou hoje, atuando tanto com front-end quanto com UX, é a que tem sido mais gratificante para mim, pois posso atuar diretamente com código em alguns projetos, construindo as soluções, enquanto outros projetos atuo com definições de estratégia, entrevista com usuários, pesquisa, prototipação e outras técnicas de UX.

A função que menos gostei de ter exercido, embora tenha aprendido muito, foi de assistente de gestão de projetos. Na prática, eu fazia as mesmas atividades de uma gerente de projetos.

Queria colocar em prática os conhecimentos adquiridos na pós que estava cursando, mas percebi que não era uma função com a qual eu me identificava por ter que me distanciar da parte técnica. Lidava também com clientes difíceis e meu dia-a-dia era Word, Excel e Project, rs.

A rotina e as cobranças também eram muito estressantes. Eu amadureci muito nos quase 2 anos que estive neste cargo, principalmente porque percebi que eu não preciso ir de modo obrigatório para a área de gestão ou liderança se quiser avançar na minha carreira, posso continuar seguindo na parte técnica e me tornar especialista. Acho que toda experiência, mesmo ruim, faz com que a gente tenha um aprendizado.

Acessibilidade - Introdução
Curso de Acessibilidade - Introdução
CONHEÇA O CURSO

Fique Ligado!

Para seguir a Talita Pagani:

TW Entrevista 06: Rafael Caferati

Olá, Web Developers!

Hoje trazemos para vocês uma entrevista com o Rafael Caferati, desenvolvedor especialista em UI/UX que já foi premiado pelo CSS Design Awards.

Se você ainda não viu, o entrevistado da semana passada foi o Caio Gondim.

UX/UI - Introdução
Curso de UX/UI - Introdução
CONHEÇA O CURSO

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

Meu nome é Rafael Caferati, sou natural da fronteira-oeste do Rio Grande do Sul.

Comecei minha carreira como Software Developer em Porto Alegre (Hupples, Perverte, Rocket.Chat) e recentemente tenho me aventurado no mercado digital europeu. Por aqui trabalhei como Sr. Software Developer em Milão (Makeitapp), Berlin (MoviePilot, Creators), Helsinki (Unity3D) e em Londres (SKY UK).

No momento estou produzindo um livro sobre VUE.JS em conjunto com uma editora britânica, finalizando o website de uma Makeup Artist local e aproveitando meu tempo livre para focar na organização de projetos pessoais.

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

A geekiness por tecnologia me acompanha desde sempre. Mas a decisão de focar profissionalmente na área de desenvolvimento iniciou a tomar forma quando cursei as disciplinas de programação ainda na faculdade de Engenharia.

Como foi seu primeiro trabalho na área?

Comecei na área em 2008/09 quando, junto com um colega, desenvolvi a rede social educacional hupples.com. Vencemos algumas premiações regionais e atraímos um número significativo de usuários, mas a monetização do WebApp se mostrou um desafio complexo a ser batido.

Startup a parte, o meu primeiro job na área (e também o que mais influenciou a minha carreira como desenvolvedor) foi o de Lead Front-End Developer na Perverte em Porto Alegre.

A oportunidade de trabalhar em uma agência digital cutting edge teve fundamental importância na minha formação e evolução como especialista em UI/UX development.

Quem segue o seu trabalho realmente vê o seu empenho e preocupação para com UI/UX. Inclusive, já foi premiado pelo seu trabalho. Quais dicas você dá e quais fontes (sites, livros, pessoas a seguir) você recomenda para quem quer se especializar nessas áreas?

Todo reconhecimento adquirido na área é extremamente importante para a motivação pessoal e consequente evolução da tua carreira. A lembrança do momento que recebi a notícia do meu primeiro FWA Award é do caralho fantástica.

O Rodrigo juntou a equipe na mesa de reuniões com o pretexto de mostrar algumas novidades na UI/UX de um projeto no qual estávamos trabalhando e adicionou um easter-egg com a informação da premiação. Tive a sorte de ser premiado em outros projetos e também de vencer um FWA com o meu próprio portfólio. Mas a energia e empolgação do momento em que a equipe entendeu o que estava acontecendo me arrepia até hoje.

Esse é o tipo de resultado que te motiva e faz com que tu busque aquele esforço extra pra elevar teu trabalho a um novo nível.

Para a galera que quer crescer como UI/UX developer, acompanhar os principais Web Awards (Awwwards, FWA, CSSDA) é fundamental.

Ali tu tem contato direto e atualizado com o que está sendo produzido de melhor na área a um nível visual e de interatividade.

Seguindo essa mesma linha mais interativa, um cara que eu respeito muito é o Bryan James. A qualidade do trabalho dele como interactive freelance developer é incomparável.

Já houve situações que um simples detalhe de UX foi crucial para te dar vantagem competitiva? Se sim, como foi?

O diabo está nos detalhes. Talvez nenhuma expressão defina tão bem o desenvolvimento de uma UX relevante quanto essa. São normalmente o conjunto e o foco em pequenos detalhes que acabam fazendo toda diferença no produto final de um projeto.

Dito isso, um padrão sempre presente nos meus trabalhos é o que os profissionais da área chamam de Coreographed UX. Embora pessoalmente prefira o termo Organic UX por considerar que ele expresse melhor o feeling orgânico que busco atingir em cada trabalho.

Um exemplo do impacto desse diferencial pode ser visto no sucesso inicial do Rocket.Chat. O WebApp foi lançado em uma época onde vários protótipos similares estavam pipocando na esfera Open-Source. Embora no começo não tivéssemos nenhuma feature relevante, possuir uma UI/UX fechada e coreografada fez toda diferença para a intensa popularização da versão original do projeto.

Desenvolvedor Front-end Sênior
Formação: Desenvolvedor Front-end Sênior
HTML, CSS e JavaScript são a base de toda a web. Tudo o que você está vendo aqui agora depende deste tripé. Nesta formação aprenderemos Sass, Google Analytics, empacotar nossas aplicações com Webpack, criação de aplicações Desktop com Electron, UX/UI e uma introdução aos frameworks mais utilizados no mercado: Angular, React, Vue e Ember.
CONHEÇA A FORMAÇÃO

Para quem pensa em morar na Europa, quais as melhores cidades para se morar e quais possuem mais oportunidades para TI? Qual você considera a melhor pela qual já passou?

Nesse sentido sempre procuro analisar a cidade pela valorização profissional versus volume de oportunidades. Berlin, Helsinki e Amsterdam são ótimos exemplos de cidades com uma startup scene pulsante. Dublin já foi mais atrativa mas continua extremamente forte, principalmente pela presença de sedes do Google e Facebook.

Londres é de longe minha favorita. O número de oportunidades e a valorização do profissional de tecnologia estão bem acima da média europeia.

Sempre lembrando que existe um ponto de interrogação em relação a Londres para os próximos anos devido ao Brexit, o que pode fazer com que outros hubs tecnológicos europeus acabem ganhando força.

Segundo fotógrafos profissionais que contatei, suas fotos “fazem bem o uso de luzes e formas pra valorizar a estética nas fotos de arquitetura”, “trabalha bem cores e linhas” e “não polui as imagens com muita informação desnecessária”, deixando as imagens mais limpas e não cansando a vista. Isso se reflete em seus outros trabalhos. São características que também definem uma boa UI e UX. Mas a grande dúvida de muitos é: como praticar para conseguir ser bom em UI/UX? Você possui alguma técnica de estudo, prática e testes?

É bem isso. Como normalmente viajo sozinho, a fotografia acabou surgindo naturalmente como um hobby. Sendo ela também uma forma de expressão visual, fica difícil de dissociar da maneira com que trabalho a UI/UX em meus projetos.

Todos temos um pouco de especialista em UX dentro de nós, só precisamos trabalhar isso de uma forma mais intensa. É importante manter um olhar crítico sobre toda interface que tu interage, sempre analisando, fazendo comparações e imaginando formas de melhorar a experiência. Seja quando tu está usando o celular, jogando PS4 ou navegando nos menus da tua TV. Toda interação é uma nova oportunidade para tirar lições de UX.

E como citei anteriormente, possivelmente o passo mais importante seja a intensa análise de projetos de sucesso. Principalmente por que essa análise não é só externa, com ela tu acaba te conhecendo melhor e compreendendo que tipo de profissional de UX tu quer te tornar.

Fique Ligado!

Para seguir o Rafael Caferati:

TW Entrevista 05: Caio Gondim

Olá, Web Developers!

Hoje trazemos para vocês uma entrevista com o Caio Gondim, desenvolvedor que já trabalhou na Globo.com e atualmente trabalha no The New York Times.

PHP Básico
Curso de PHP Básico
CONHEÇA O CURSO

Se você ainda não viu, o entrevistado da semana passada foi o Caio Ribeiro.

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

Sou natural de Fortaleza, no Ceará, mas com 10 anos me mudei para São Luís, no Maranhão, e lá fiquei até meus 25 anos.

Depois de completar 25 anos mudei algumas vezes de cidade. Morei na Índia, San Francisco, Rio de Janeiro, Amsterdam, São Paulo e hoje resido em Nova Iorque.

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

Sempre gostei da área de exatas, de video games, de Lego. Algo bem clichê para um programador.

Por volta de meus 14 anos meus pais compraram um computador para mim – na verdade ele para todos na casa, mas ficava no meu quarto.

Passava horas no IRC, nas páginas do GeoCities e tentando baixar 1 mp3 por semana com o GetRight (sem ele era impossível).

Foram muitas madrugadas perdidas formatando o Windows, compilando Linux, e desfragmentando o HDD.

Quando chegou no momento de fazer uma escolha para qual curso prestar vestibular, eu optei por Engenharia Elétrica.

Achava que deveria dominar o básico para, só depois, subir uma camada de abstração e estudar computação.

O plano não deu nada certo. Engenharia elétrica era tedioso e não conseguia ver aplicação nenhuma.

Larguei o curso e prestei vestibular novamente para a federal do Maranhão, dessa vez para Ciências da Computação. Lá me senti mais em casa.

Como foi seu primeiro trabalho na área?

Meu primeiro trabalho profissional (ganhando um salário para trabalhar com computadores) foi na Intertech, em São Luís.

Humberto era um amigo de surf e de colégio que havia aberto uma empresa de consultoria e havia me convidado para trabalhar lá.

Foi uma experiência fantástica. Pude aplicar conceitos que estava aprendendo na faculdade, resolver problemas de clientes, trabalhar em equipe.

Trabalhávamos quase que exclusivamente com a stack LAMP (Linux, Apache, MySQL, PHP). Na época estava tão empolgado que cheguei até a tirar a certificação PHP5 e Oracle MySQL.

Você já morou em vários lugares. Como é morar fora do Brasil? Qual a parte boa e qual a ruim? Teve alguma dificuldade no começo?

As partes boas variam muito de país para país. As ruins costumam ser constantes.

Das ruins, a pior é a distância de família e de amigos. Você perde contato, não celebra mais sucessos juntos, não está lá para momentos de conforto. De repente você volta para o Brail e o filho do seu amigo — que você ainda nem viu — já está na escola.

Sobre dificuldades, a maior para mim foi o idioma. Leva um tempo para você se adaptar e entender gírias, se sentir confortável com o smalltalk do elevador. Fazer amigos reais também é um desafio, mas acredito que isso seja verdade para qualquer pessoa no mundo depois de sair da faculdade.

Para quem seguiu o podcast ZOFE (Zone Of Front-Enders) deve ter ouvido você e o Daniel FIlho falarem sobre mudar de país, o tanto de trabalho para resolver, ter que cancelar um monte de coisas, etc.

O que você aconselha para quem quer trabalhar fora do Brasil? Como se organizar para mudar de um país para outro?

A indústria de computação está muito aquecida. Estão contratando até mesmo programadores junior.

Se seu objetivo for morar fora, acredito que ele nunca foi tão fácil de ser alcançado caso você trabalhe com computação. Algumas empresas e países são mais difícies que outros, mas no geral as coisas são bem mais fáceis do que imaginamos.

PHP Intermediário
Curso de PHP Intermediário
CONHEÇA O CURSO

Morando em tantos lugares, você acha que o Brasil está bem em termos de ferramentas que utiliza? Você percebe se há diferença nas preferências de bibliotecas/frameworks/linguagens em cada país?

Não vejo diferenças grandes entre o Brasil e outros países que morei. Vejo diferenças grandes entre empresas.

Cada empresa tem sua cultura e as ferramentas usadas são um reflexo dessa cultura.

Outra variável importante de ser ponderada quando se pensa em mudar de empresa é a organização das empresas. A lei de Conway aqui define bem a experiência que tive pelas empresas que passei:

“organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.”

As pessoas devem te perguntar muito: como é trabalhar no famoso The New York Times?

Ainda estou novo por aqui, mas a experiência tem sido fantástica. Trabalho no time de multimedia, mais especificamente no player web.

O time todo tem um carinho enorme por engenharia de software, performance e testes. A empresa investe na minha educação, me incentiva a ir palestrar e a participar de projetos open source. Me sinto muito privilegiado e orgulhoso de fazer parte desse time e dessa empresa.

Como é o fluxo do desenvolvimento e entregas?

Algo diferente aqui do Times é a qualidade. Todo empresa tem pressa, mas os valores da empresa que ditam o que deve e não deve ser apressado para se ter um release em tempo. Aqui qualidade é um item não-negociável.

Fora isso, usamos todas as ferramentas e métodos padrão.

O que você considera como maior aprendizado que adquiriu aí?

Como ainda estou novo por aqui, vou deixar para responder essa pergunta daqui a alguns anos no nosso próximo papo. 🙂

Pra quebrar o gelo

O que você considera que caracteriza um desenvolvedor “raiz” e um desenvolvedor “nutella?”

No começo da minha carreira usávamos SVN. Um deploy significava arrastar uma pasta para um servidor via FTP, o editor de código era o Eclipse (que dava tempo de fazer um café esperando ele abrir) e não haviam testes, monitoramento, auto-scaling, etc.

Em computação é melhor ser “nutella” e acompanhar o que está acontecendo.

Já usou seu conhecimento técnico para fazer uma brincadeira ou trollar alguém?

Lembro um dia que eu e minha irmã estávamos sozinhos em casa. Ela na sala no escuro terminando um trabalho no Microsoft Word e eu no meu quarto entediado.

Lembrei que havia habilitado o acesso remoto no computador dela há algum tempo atrás para poder ajudá-lá quando não estivesse por perto (era o primeiro Mac dela).

Então usei o acesso remoto do Mac para fingir que era um fantasma precisando de ajuda. A cada 5 minutos roubava o teclado e teclava algo como “Preciso de ajuda”, “Estou do seu lado. Você não me vê?”.

Ela ficou desesperada e eu logo caí na risada. Pelo menos pra mim foi engraçado. 😀

PHP Avançado
Curso de PHP Avançado
CONHEÇA O CURSO

Quer deixar um recado/conselho para os nossos colegas?

Faça amizades. Participe de projetos open source. Vá a conferências. Mostre seu trabalho. Escreva. Apareça.

Corra riscos. Não tenha pressa. Não perca tempo. Ajude o maior número possível de pessoas.

“And, in the end
The love you take
is equal to the love you make.”

Fique Ligado!

Para seguir o Caio Gondim:

TW Entrevista 04: Caio Ribeiro

Olá, Web Developers!

Hoje trazemos para vocês uma entrevista com o Caio Ribeiro, empreendedor e autor de livros de Node.js e MongoDB.

Se você ainda não viu, o entrevistado da semana passada foi o João Batista Neto.

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

Moro em São Vicente, SP. Atualmente sou Founder e CEO da startup WatchCoins, que é basicamente uma plataforma analítica voltada para acompanhar cotações do mercado de criptomoedas (bitcoin e altcoins em geral).

Desenvolvedor Front-end Júnior
Formação: Desenvolvedor Front-end Júnior
HTML, CSS e JavaScript são a base de toda a web. Tudo o que você está vendo aqui agora depende deste tripé. Nesta formação vamos iniciar aprendendo lógica. Teremos uma introdução ao HTML e CSS e conheceremos a linguagem JavaScript.
CONHEÇA A FORMAÇÃO

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

Desde criança sempre tive um contato muito forte com games e computador. Com 15 anos de idade meu primeiro computador queimou sem explicação nenhuma.

Isso me motivou a estudar muito sobre manutenção de hardware, tanto é que foi meu primeiro trabalho como autônomo, e com passar do tempo migrei de hardware para fuçador de blog, pelo qual tive meu primeiro contato com HTML, CSS e JS, e ao completar 18 anos não tive dúvidas em cursar na área de TI, tanto é que me formei em bacharel de Sistema de Informação, e desde então tive muito amor por essa área, tanto é que já estou quase 10 anos trabalhando muito como desenvolvedor e atualmente como empreendedor.

Como foi seu primeiro trabalho na área?

Estágio de suporte técnico, pelo qual tive pouco contato com programação. Aí em pouco tempo surgiu uma vaga de estágio em programação Java, pelo qual expandiu muito meu conhecimento e desde então só trabalhei nessa área, em diversos projetos e sempre adotando uma postura de ser o pai do projeto, em que a gente acaba aprendendo e trabalhando em todas as áreas que envolve um projeto, tanto é que atualmente meu perfil é mais pra full-stack do que apenas backend.

Para as pessoas que querem ser Full-Stack, que dicas você dá? Para um iniciante é melhor evitar ser full-stack e se especializar em uma tecnologia primeiro?

Fullstack é uma tendência cada vez mais crescente, basicamente tenha gosto em aprender todas as camadas de uma aplicação, mesmo que você não goste ou não seja 100% bom em todas.

Basta ter vontade e curiosidade em saber como uma aplicação funciona por inteira e não apenas parte da aplicação.

Seja iniciante ou não, existem dois tipos de profissionais em nossa área: o especialista em alguma tecnologia e o generalista.

O especialista saberá muito bem resolver apenas problemas daquilo que ele se especializou, já o generalista vai saber por alto, ou pelo menos conceitualmente, como lidar com diversos tipos de problemas e só vai se especializar em uma determinada solução de problema somente se surgir a necessidade disso.

Eu sempre tive a curiosidade em aprender conceitos e isso acabou me tornando um generalista que sabe um pouco de tudo, e isso é bom, pois trabalhamos numa área que ocorrem mudanças com grande frequência e isso requer ser mais flexível a isso.

Você também possui livros publicados sobre assuntos como Node.js e Meteor, inclusive em inglês. Conte-nos um pouco sobre a experiência de ser autor, as dificuldades, como organizar o tempo para escrever, etc.

Foi uma experiência incrível, pois o livro não só abriu novas oportunidades como também me fez amadurecer muito sobre estudos, sobre aprender a aprender, assim como também aprender a ensinar.

Lembro na época que eu trabalhava e quase não tinha tempo de escrever, mas segui a dica de focar apenas 30 minutos por dia no livro e isso ajudou muito.

Outra dica que me ajudou muito foi usar tempo ocioso de ônibus para escrever o livro usando celular. É incrível como esse tempo ocioso foi muito bem produtivo.

Desenvolvedor Front-end Pleno
Formação: Desenvolvedor Front-end Pleno
HTML, CSS e JavaScript são a base de toda a web. Tudo o que você está vendo aqui agora depende deste tripé. Nesta formação vamos conhecer assuntos mais avançados do HTML5, CSS3 e JavaScript, conhecer o NPM, trabalhar com o RxjS (base do framework Angular), testes com Jasmine e uma pequena introdução ao TypeScript.
CONHEÇA A FORMAÇÃO

Para quem quer escrever, por onde começar e como apresentar sua proposta para uma editora? É preciso saber escrever bem e de forma correta ou a editora possui pessoas para dar suporte ao autor?

Uma boa estratégia é começar a escrever um blog com pelo menos 50% do conteúdo público para ir coletando feedback dos leitores e, com isso, ficará mais fácil escrever os demais 50% num livro.

Hoje é possível publicar seu próprio livro em plataformas como a Leanpub, e caso seu livro seja bem visto, com certeza as editoras vão aparecer com propostas boas para te ajudar a publicar um livro impreso.

Muitos iniciantes na nossa área começam a estudar já pensando que ao fim da faculdade vão abrir uma empresa e ganhar muito dinheiro em pouco tempo.

Quais os cuidados que devemos tomar? Quando você viu que estava pronto para empreender? Qual a hora de largar o emprego para se dedicar a um projeto próprio?

Na verdade acredito que são poucas pessoas que saem da faculdade e começam a empreender, pois a maioria já recebe muito incentivo das faculdades em procurar um emprego com bom salário.

Infelizmente poucas pessoas se aventuram em empreender. Empreender não é algo fácil, criar uma startup é 10x mais díficil ainda, pois você estará construindo um modelo de negócio pelo qual não sabe se vai dar certo.

Minha sugestão é: faça networking com empreendedores, estude livros sobre startup, aprenda mais e constantemente sobre diversas áreas: contabilidade, direito, administração, liderança, gestão de equipe, gestão de projetos, pois empreender requer disciplina para estar sempre aprender e botar em prática tudo isso, em prol da execução da sua ideia.

Eu já fali 3x e estou pela quarta vez empreendendo. Até agora a startup WatchCoins está indo bem. Não há uma hora certa para largar tudo e empreender. Isso vai muito do auto-conhecimento da pessoa em se planejar financeira e psicologicamente para analisar se está disposto a arriscar largar emprego para construir sua própria empresa.

Quais as partes que você mais e menos gosta como desenvolvedor e empreendedor?

Como desenvolvedor eu gosto de um pouco de tudo: Infra, Devops, Backend, Frontend, porém Design nunca foi meu forte.

Como empreendedor, também gosto de um pouco de tudo, exceto a burocracia e altos impostos que temos em nosso país que em muitas vezes desencorajam empreender.

Fique Ligado!

Para seguir o Caio Ribeiro: