sexta-feira, 23 de dezembro de 2016

2016 foi Loko!

Olá povo,

Primeiramente peço desculpas por não ter postado muito esse ano, mas se vocês lerem esse texto, vão entender um pouquinho o motivo. 2016 foi um ano muito intenso, com muitas mudanças que exigiram bastante de mim.

Dominando o Android 2ª edição

No começo do ano saiu a 2ª edição do meu livro, o "Dominando o Android" com uma série de correções e novos conteúdos. Muitas coisas que eu gostaria ter colocado na primeira edição entraram nessa edição e eu fiquei muito feliz com o resultado. Ainda não estou trabalhando na 3ª edição, mas creio que teremos novidades em junho ou julho de 2017.

Despedida do CESAR

Sem sombra de dúvida o evento mais marcante para mim foi minha saída do CESAR. No mês de março, após 10 anos, resolvi pedir demissão, simplesmente porque o que a instituição esperava de mim não estava alinhado com os meus objetivos profissionais. Então, ao invés de ficar reclamando pelos corredores ou fazer um trabalho mau feito, resolvi sair. Mas o CESAR estará sempre no meu coração por ser um lugar muito legal e cheio de pessoas bacanas. Tanto que, pelo menos uma vez por semana, saio de casa apenas para almoçar com amigos que trabalham ou trabalharam no CESAR :)

Equipe do projeto HP no CESAR

Mesa e Mokriya
Quando estava querendo sair do CESAR, meu amigo Leocádio Tiné me convidou para para substituí-lo lá na Mesa. Uma empresa muito bacana aqui de Recife com cerca de 12 pessoas. Então em abril comecei a trabalhar lá. O desafio era bem diferente do CESAR, onde normalmente tínhamos equipes com várias pessoas trabalhando em um mesmo projeto. A demanda de aplicativos lá era/é bem grande e cada desenvolvedor ficava responsável por fazer um app do começo ao fim. Achei isso bem bacana e isso me motivou bastante.
Equipe da Mesa

Com certeza eu ficaria na Mesa por um bom tempo, devido ao ambiente e o trabalho que eram bem legais. Mas o meu grande amigo Douglas Drummond ficou sabendo que eu tinha saído do CESAR e me convidou para entrar no processo seletivo da Mokriya, uma empresa de Cupertino onde a maioria dos funcionários trabalha remotamente. Participei do processo, fui aprovado e como a proposta foi bem interessante, tive que deixar a Mesa para trabalhar de casa, mais uma experiência nova para mim... Tenho que escrever um post sobre isso :)
Pranil, eu e Sunil. Donos da Mokriya.

Quero aproveitar para agradecer a Antônio, Arthur e Tiago que me deram essa oportunidade de fazer parte da Mesa. Infelizmente foi por pouco tempo, mas foi muito bom. E um agradecimento muito especial a Douglas por ter apostado em mim, mesmo tendo conversado pessoalmente comigo apenas duas ou três vezes. Valeu mesmo! ;)

Eventos nacionais
Em termos de eventos, esse ano eu não participei tanto, comparado aos anos anteriores.
Em parceria com o GDG Recife, pelo segundo ano consecutivo eu fui mentor do Study Jam que é uma iniciativa do Google em parceria com a Udacity para ministrar cursos gratuitos sobre tecnologias Google. No meu caso, de Android. :P

Turma do Study Jam

No mês de junho participei de um dos eventos de Android que eu mais gosto: o Androidos day. O evento esse ano contou com a participação de três GDEs de Android. Além de mim, o Quinta e o Bira também estavam lá e enriqueceram demais o evento com suas palestras. Sem contar os outros palestrantes que deram show lá! Parabéns Josias e demais integrantes da organização! Foi muito legal o evento.
E você que está lendo esse post, não perca a edição de 2017! ;)

Palestrantes e organização do Androidos

A partir do mês de julho, o GDG Recife começou a fazer mensalmente meetups de Android onde participei com algumas palestras e sugerindo o conteúdo que seria apresentado. Infelizmente não consegui organizar nada para Novembro e Dezembro, mas prometo voltar com essa iniciativa em 2017.

Em Outubro teve o GDG DevFest Nordeste que foi simplesmente fodástico! O evento aconteceu em um resort em Maceió. Um lugar fenomenal, duas trilhas de conteúdo, muuuuita gente boa palestrando. Enfim, um evento memorável. Parabéns Juarez, Juninho e todos da organização! ;)

Palestrantes e organização do DevFest Nordeste

Eventos internacionais
Em maio participei mais uma vez do Google I/O. Dessa vez em Mountain View (nos outros anos foi em San Francisco) e em um local ao ar livre: o Shoreline Amphitheatre. O evento foi bem bacana, onde o pessoal apresentou todas (ou quase todas) as novidades do Google: Google Home, Alo/Duo, Tango/Daydream, Firebase, Android Wear 2.0, Android Studio 2.2, Android N, ... Enfim, foi muito foda como sempre. \o/
Eu no Google I/O

No mês de novembro, participei do GDE Summit lá no Google, em Mountain View. Esse evento é fantástico para conhecer e rever GDEs de todo mundo, pois muitos deles já trabalharam no Google ou desempenham um papel fundamental na comunidade mundial de desenvolvedores. Além é claro, de ter contato direto com o advocates e o pessoal de produto do Google. Então você pode conversar e saber mais sobre a tendências e a direção que as tecnologias do Google estão tomando. Acho que esse foi o melhor summit que já participei. Muito conteúdo, dicas, conversas e coisas novas para brincar como o Google Home, Tango e Android Things.

GDEs brasileiros no GDE Summit

Também participei do DevFest Silicon Valley. Foi legal, mas nem se compara aos nossos DevFests ;)

Certificação Android
No Google I/O desse ano, o Google anunciou uma parceria com a Udacity para elaborar uma certificação oficial para desenvolvedores Android: a Associate Android Developer. Eu fiz esse exame e escrevi esse post aqui para explicar como funciona todo o processo.

Aulas na Unibratec
Esse ano assumi apenas uma turma de pós graduação, mas que durou quase 4 meses. A coordenação da Unibratec está de parabéns por ter designado 72 horas para a disciplina de Android. Isso me permitiu trabalhar muito bem o conteúdo e foi muito enriquecedor porque a turma estava muito interessada.
Turma de pós graduação da Unibratec

E para finalizar o ano, mais uma despedida: esse será meu último semestre como professor da Unibratec. Devido a viagens que eu tenho que fazer no meu emprego atual e por precisar dedicar mais tempo a algumas outras coisas da minha carreira, tive que me desligar da Unibratec. Ainda ficarei com as turmas de pós-graduação, mas vou dar um tempo nas turmas de graduação.

--

Bem pessoal, essa foi a retrospectiva de 2016. E como vocês puderam ver, esse ano foi muito LOKO! Mas foi muito bom para mim.
Espero que 2017 seja muito bom também para nós todos.

4br4ç05,
nglauber

quarta-feira, 30 de novembro de 2016

Tchau Unibratec :(

Olá povo,

2016 foi realmente o ano de encerrar ciclos na minha vida profissional. Depois de ter saído do CESAR, chegou a vez de dar mais um "até breve".

Após mais de 5 anos, esse será o meu último semestre como professor da Unibratec. Foi um grande orgulho para mim, lecionar na instituição na qual fui aluno entre os anos de 2002 e 2004 no "Curso Técnico de Informática com ênfase em Desenvolvimento de Software" (ou simplesmente CTI-DS). Mas acima de tudo, foi uma ótima experiência ser docente no ensino superior e trocar conhecimento com centenas de alunos durante todo esse tempo.

Comecei a ministrar aulas na Unibratec no segundo semestre de 2011, sempre com a disciplina de Programação Mobile (PGM) do curso de Análise e Desenvolvimento de Sistemas (ADS). E apesar de já ter sido convidado a ministrar outras disciplinas, preferi ficar apenas com Mobile, que é o assunto que motiva e no qual minha carreira está direcionada.

Exitem várias razões me fizeram tomar a decisão de dar uma pausa nas aulas. A principal delas é que estou viajando a trabalho com uma certa frequência e está difícil conciliar as aulas com o trabalho. Outro motivo é que estou querendo estudar alguns assuntos que estão despertando meu interesse. Também preciso escrever a próxima edição do livro, melhorar meu inglês, ... enfim, preciso de mais tempo. :)

Apesar dessa pausa nas aulas de graduação, continuarei ministrando aulas em turmas de pós-graduação (se me chamarem :), pois o período de dedicação (elaboração de material, correção de prova e trabalhos, lançamento de notas, etc) é menor para essas turmas.

É isso pessoal! Queria agradecer a todos que me ajudaram durante esses mais de cinco anos em que fiz parte do corpo docente da Unibratec: aos meus ex-alunos, aos professores, a assistência pedagógica e todos que os que cruzaram o meu caminho nessa jornada. Mas queria deixar um agrdecimento especial aos coordenadores Hemir e a Aldo por toda paciência, aprendizado e experiência que me passaram durante esses anos.

Um grande abraço e até breve!

4br4ç05,
nglauber

terça-feira, 20 de setembro de 2016

Constraint Layout no Android Studio 2.2

Olá pessoal,

Com o lançamento do Android Studio 2.2, resolvi fazer um vídeo falando um pouquinho sobre o novo gerenciador de layouts do Android: o ConstraintLayout.
O vídeo é um pouquinho longo (25min) e mostra como criar um layout de uma tela do aplicativo do Netflix utilizando o ConstraintLayout no novo editor visual do Android Studio.
Como é algo relativamente novo, qualquer feedback é muito bem vindo.


Esqueci de falar no vídeo que o ConstraintLayout é compatível com o Android 2.3 e superior.

Mais informações:



Bug report:



Errata:

  • No vídeo foi quando falei "Auto run" ao invés de "Instant Run".


Qualquer dúvida, deixem seus comentários.

4br4ç05,
nglauber

segunda-feira, 5 de setembro de 2016

DevFest Nordeste 2016




Olá povo,

GDG DevFest é uma iniciativa do Google em parceira com os GDGs (Google Developer Groups) de todo o mundo para oferecer grandes eventos para a comunidade de desenvolvedores. A temporada dos DevFests acontece entre 1 de setembro e 30 de novembro, e no Brasil ele acontecerá em diversas regiões do país. No nordeste, o evento já aconteceu em Aracajú (2014), Recife (2015) e esse ano o DevFest Nordeste será realizado em Maceió-AL, nos dias 21 e 22 de outubro no Pratagy Beach Resort e contará com grandes palestrantes de várias partes do Brasil. Serão discutidos temas relacionados as tecnologias web, backend, mobile, UX e muito mais.
Eu participarei do evento com a palestra "Dominando o Data Binding no Android" onde veremos como otimizar a implementar a lógica da interface gráfica do aplicativo de forma mais fácil, rápida e menos sujeita a bugs. Para conferir a programação completa, clique aqui.

Para obter mais informações, consulte o site oficial do evento.
Você não vai perder essa oportunidade de aprender e fazer parte dessa grande comunidade de desenvolvedores, não é?

Nos vemos lá! ;)

[EDITADO 25/10/2016]

Slides da minha palestra.


Fotos do evento aqui.

4br4ç05,
nglauber

terça-feira, 30 de agosto de 2016

Certificação Android da Udacity

Olá pessoal,

No Google I/O 2016 foi anunciada a primeira certificação para desenvolvedores Android. O nome da prova é Associate Android Developer Exam e é mantida pela Udacity em parceria com o Google. O intuito dessa certificação é tornar mais fácil para empresas encontrar desenvolvedores qualificados, e obviamente, "provar" que o desenvolvedor possui o conhecimento necessário para criar aplicativos seguindo os padrões recomendados.



Por curiosidade, resolvi fazer essa prova para saber o nível de dificuldade e até orientar meus alunos e demais desenvolvedores interessados na certificação. Sendo assim, o objetivo desse post é dar meu feedback sobre essa prova.
A preparação sugerida para a prova é fazer os cursos da Udacity, que em sua maioria tem o material (vídeos) gratuitos. Essa formação também é conhecida como Nanodegree. Esses cursos são:
Apenas os dois primeiros cursos dessa lista são necessários para a prova, então recomendo bastante vocês assistirem. Mas pela minha experiência nessa prova, se você aprendeu Android com o livro do Ricardo Lecheta ou com o "Dominando o Android", fará esse exame sem problema. Creio que esses outros cursos serão abordados nas próximas certificações (que ainda não foram lançadas).

A avaliação é bem diferente das provas de certificação Java (Mobile, Programmer e Web) da Sun/Oracle, pois não é composta de uma série de perguntas de múltipla escolha e com um monte de "pegadinhas". Na certificação Android você recebe um projeto (bem pequeno, com cerca de 12 classes) com algum código já pronto. Então você precisa implementar funcionalidades e corrigir alguns bugs. O prazo para isso é de 48 horas, então reserve um tempo livre para fazer o exame.

Os assuntos utilizados na prova estão em um nível bem básico. São eles: criação de layouts simples, utilização da pasta de recursos, criação de adapter para RecyclerView, definição de menu, ContentProvider usando SQLite, SharedPreferences, trabalhar em background, IntentService, JobScheduler, Notification, AppWidgets e testes com Espresso. Ou seja, a prova é bem abrangente, mas não exige um profundo conhecimento desses assuntos (principalmente sobre testes). Achei interessante eles não cobrirem/pedirem nada sobre fragments.

Uma vez preparado para realizar a prova, basta se registrar e pagar a taxa. O valor é de US$149 mas, segundo a Udacity, até 31 de dezembro de 2016, o valor cobrado será de US$ 99.
Ao começar a prova, será exibida uma lista de requisitos a serem implementados na aplicação. Você terá que: alterar telas existentes, criar uma nova tela, implementar um adapter, alterar um Content Provider, executar um Service, disparar notificações, agendar serviços, corrigir alguns bugs e escrever um teste simples.

Concluído o projeto, você terá que enviá-lo em um arquivo zip (apague as pastas build e app/build), escanear um documento seu (eu usei minha CNH) e enviá-lo em formato PDF. Feito isso, será feita uma avaliação (tanto automática, quanto por pessoas) do seu projeto e você receberá o resultado para saber se seu projeto cumpre o que foi requisitado ou se precisa de modificações. Se ele cumprir todas as especificações, você irá para a fase de entrevista onde você poderá explicar como você implementou seu projeto. Pelo que sei, por enquanto a entrevista é apenas em inglês, mas parece que a Udacity já está trabalhando para fazê-la também em português. Sendo aprovado na entrevista, você receberá sua certificação. Segundo a Udacity, espera-se que todo esse processo dure no máximo 45 dias.

Ainda estou aguardando o resultado da avaliação e consequentemente a entrevista. Assim que for andando o processo, vou atualizando o post aqui.

Enfim, achei o nível da prova bem bacana para uma certificação de entrada. E acho que qualquer dev com 1 ano (ou até menos) de experiência consegue fazer.

[ATUALIZAÇÃO 27/09/2016]
Recebi um email da Udacity para “verificar minha identidade”. Basicamente eles pedem para que você envie uma foto da sua identidade/carteira de motorista/passaporte. Pode ser tirada com a webcam do computador ou escaneada. Enviei a foto do passaporte para não ter o risco de problema com “documento brasileiro”. Após enviar a foto do documento, eles pedem uma foto sua. Tirei ambas com a webcam e enviei. Minutos depois, recebi um email informando que minha identificação tinha sido confirmada com sucesso. Agora creio que a próxima etapa será a entrevista

[ATUALIZAÇÃO 17/10/2016]
Após 47 dias, ainda não recebi nenhum feedback sobre a certificação. Após dar aquela boa e velha "xingada no twitter", o JP (o cara do vídeo acima) respondeu...
Vamos ver quanto tempo demora esse "breve".

[ATUALIZAÇÃO 25/10/2016]
Eis que após 55 dias recebo o email para agendar a entrevista da Certificação Android. Tentei três datas diferentes e em todas só havia um horário disponível.
No email eles deixam bem claro que você precisará de um documento para comprovar sua identidade (passaporte ou carteira de motorista de preferência). Você precisará de uma webcam e de uma boa conexão de internet para não haver problema de comunicação na entrevista.
Fiz o agendamento para o dia 28/10 às 20h (horário de Brasília). Vamos ver como me saio :)

[ATUALIZAÇÃO 28/10/2016]
Chegou o dia da entrevista. Esqueci de mencionar na atualização anterior que no momento do agendamento, é informado o link para o aplicativo Zoom (https://zoom.us/) que você deve ter instalado na sua máquina.
Minha entrevista durou exatos 5 minutos :) isso mesmo. O camarada me deu boa-noite, pediu para eu mostrar minha identidade e disse que iria me fazer 5 perguntas. Todas extremamente fáceis e nada de mostrar ou explicar código.
Respondidas as questões, o entrevistador me deu os parabéns, disse que eu era um dos primeiros a terminar o processo e que em breve eu receberia um email com mais informações.

[ATUALIZAÇÃO 04/11/2016]
Após uma semana de espera, chegou o email da Udacity com o resultado da avaliação.
Agora tenho que aguardar outro email para pegar minha badge... :)

[ATUALIZAÇÃO 23/11/2016]
Chegou o email com a badge! Até que é bonitinha :)


No email, chegam as instruções para você adicionar a certificação no seu perfil do LinkedIn. Basicamente você clicar em um link, então o LinkedIn vai perguntar se você quer adicionar essa certificação ao seu perfil e pronto! Vai aparecer isso no seu perfil, na seção de certificações :)


Acho que esse será o último update desse post. Ciclo completo depois de 83 dias (ao contrário dos 45 prometidos pela Udacity). Espero que venham novas certificações mais exigentes e mais organizadas que essa.

4br4ç05,
nglauber

terça-feira, 12 de julho de 2016

Minhas Aulas de Android no YouTube

Olá pessoal,

Quando estava preparando minhas aulas de iOS (isso mesmo, já ministrei aulas de iOS ;) procurei por uma boa referência atualizada sobre o assunto e achei as aulas da Universidade de Stanford disponíveis no iTunes. Ótimas por sinal.
Seguindo esse exemplo, resolvi também gravar minhas aulas de Android na Unibratec e disponibiliza-las no YouTube. A gravação não tem nenhuma edição, é apenas meu desktop com o áudio no microfone embutido do computador. São 19 vídeos com mais de 20h de conteúdo.
As aulas mostram desde os conceitos mais básicos, com a construção de pequenos aplicativos de exemplo, até o desenvolvimento de um projeto simples, mas que possui: uma UI diferenciada para smartphones e tablets; acesso a um servidor web para realizar a leitura de um arquivo JSON; utilização de algumas bibliotecas famosas do Android como Butter Knife, Otto, OkHttp, etc.; e persistência de dados no banco de dados SQLite.


Espero que gostem!

4br4ç05,
nglauber