Mesa de bar com Python – Primeira edição

Nessa sexta-feira tivemos a primeira edição do mesa de bar com Python – https://plus.google.com/u/0/events/cbns01fg1is9e01snivvm3g4310

O intuito desse bato papo era encurtar distâncias e criar novos laços com pessoas do Brasil inteiro. As conversas foram muito bacanas, e o intuito que isso se torne algo mais frequente e interativo, por isso criei esse pequeno formulário de 1 minuto para que vocês possam opinar e melhorar as próximas edições.

Anúncios

Python no Brasil: Passado, presente e o futuro – Part:1

Ao ver os resultados que a Lidiane Monteiro apresentou sobre sua pesquisa da comunidade Python brasileira foi um sinal para mim. Sinal dos pontos que devem ser louvados, tanto quanto pontos a serem melhorados. Analisando slide por slide é possível tirar diversas conclusões, e algumas delas não diretamente a Python, e sim a área de TI em geral.

Em cada slide irei colocar MINHAS OPINIÕES a respeito, sinta de a vontade para criticar, concordar ou ressaltar, até porque discussões de pontos de vista são uma excelente forma de aprendizado conjunto ;).

Gênero

Python: Passado, presente, futuro - Part: 1

Infelizmente isso é um número geral em todas as áreas de TI. Ainda há quem sabe um dia que acabe o machismo, brincadeiras nocivas e descriminação do sexo feminino em relação a área de exatas. Vide esse artigo:

http://blog.msoledade.com.br/?p=205

TODAS as mulheres com quem tive contato já falaram que pelo menos uma vez na vida sofreu preconceito no local de trabalho, por isso existem iniciativas sensacionais para que esse cenário mude. Se caso não conhece, veja esses projetos fantásticos:

home


http://pyladiesnatal.github.io/
#SerMulherEmTech
http://rodadahacker.com/
http://inspiradanacomputacao.wordpress.com/
http://www.pyladies.com/
http://railsgirls.com/

Uma das premissas do código de conduta do Python é que visa o respeito e a diversidade de tudo e todos. Isso é um dos motivos de gostar da linguagem, construir um ambiente inclusivo no qual todos possam ser equivalentes, em que o respeito seja o pilar de qualquer relação entre as pessoas.

Esses números são tristes, a área poderia ser muito mais rica, diversificada e repleta de evoluções se esse tipo de coisa não acontecesse. Mas isso não acontece só na área de TI, acontece de forma geral, até porque em muitos casos é tão verdade que a mulher recebe menos do que o homem, mesmo executando os mesmos serviços.

Novamente, ainda bem que existem iniciativas de pessoas como a Lucia Freitas, Camila Archutti, Daniela Silva e diversas outras pessoas que se esforçam diariamente para contornar a situação.

Escolaridade

py2

Esse gráfico mostra diversos pontos interessantes. Ter como a grande maioria pessoas de Superior Incompleto são estudantes, ou seja, são pessoas que estão aprendendo a programar. A outra fatia grande do gráfico são pessoas com Superior Completo. Então temos a leve ideia de que a maioria das pessoas no Brasil que estão mexendo com Python são pessoas na faixa entre 18~25 anos, então haverá uma grande safra de pessoas com conhecimentos em Python dentro de alguns anos no mercado.

Já as pessoas com Superior Completo são a maioria do qual já trabalham há algum tempo com programação, fora os níveis acima como Pós-graduação, Mestrado e Doutorado, que por um lado é ruim termos poucas pessoas com esses níveis.

Acredito que isso venha da cultura brasileira no qual o curso Superior é o suficiente. Até porque a grande maioria entra na faculdade com intuito de ingresso no mercado de trabalho, sendo que o requisito mínimo seja o Superior Completo.

Concluindo, isso mostra que Python tende a crescer com o passar do tempo devido a grande maioria ser jovem.

Quantos anos programando?

py3

Olhe só, 40% das pessoas são entre 1 a 3 anos, aí entra novamente a questão dos estudantes. Já a outra maioria de 28% são as pessoas que estão dentro do mercado. E algo surpreendente é uma fatia de programadores Sênior com 16%.

Isso é bom, e algo também ruim. Bom no sentido que mais da metade das pessoas contém no mínimo 3 anos de experiência com programação. Por outro lado entra o que muitos tem reclamado: Despreparo das pessoas para preencher vagas de emprego.

E já digo na lata: Não arranja emprego na área quem não quer. Como já coloquei esse vídeo uma vez, colocarei de novo para reforçar minha tese:

“Quem quer dá um jeito, não arranja desculpa. Se não tem tempo, então está na hora de você repensar na forma como gasta suas horas. Todos temos 24 horas por dia e mesmo assim consegue fazer as coisas nas horas livres”

Para eu aprender Python, melhor ainda, aprender de forma plena como COMEÇAR a programar, levei 2 anos estudando por conta. Como também já falei em minhas palestras, tentei mais de 100 vezes nos mais diversos tipos de apostilas, aulas, tutoriais.

“Água mole em pedra dura, tanto bate até que fura.”

Quem consegue as coisas são aqueles que persistem, não que desistem ao primeiro obstáculo.

Aí novamente entra o vídeo do Bruno Tikami para a Python Brasil do ano passado: “Quer ganhar 10k por mês? Tem que ralar!”

Em que nível você está?

py4

36% são iniciantes, metade são intermediários, ou seja, a maioria que ou está tentando arranjar emprego, ou já trabalha há algum tempo. E ter apenas 14% de avançado mostra que falta gente capacitada.

O que isso significa? O mercado ainda sofrerá com as pessoas inacapacitadas, e isso sempre será. Bons profissionais são disputados e nunca faltam oportunidades, se tá faltando oportunidade para você, quer dizer que tem alguns pontos a serem melhorados.

Em que usa Python?

py5

Maioria para projetos pessoais, já a outra grande fatia como Hobby, ou seguidos de trabalhos acadêmicos.

Novamente relacionado as pessoas que estão na faculdade. Não tem como comentar muito a respeito.

Em que áreas você usa Python?

py6

Desenvolvimento web ganha disparado, isso é fácil devido a grande parte dos projetos serem desenvolvidos em Django ou Flask. Olha a outra fatia interessante de 16% que apenas estudam.

Já perceberam que os dados são muito bacanas, mas tem que levar em consideração que a grande maioria das pessoas que estão respondendo o formulário são estudantes? Não que isso seja ruim, mas não leve esses dados como verdades proporcionais absolutas.

E outro dado interessante são as diversas aplicações da linguagem em campos diferentes. Confesso que fiquei impressionado com a quantidade de aplicações Desktop e processamento de imagens.

Quais frameworks utilizados?

py7

A ordem é natural, Django é o framework mais popular do Python, devido a ser full-stack, ótima documentação e fontes de referências, seguidos de Flask, alternativa natural caso Django não atenda aos requisitos do projeto.

Web2py no Brasil está em destaque como terceiro lugar devido aos esforços das pessoas da comunidade no Brasil, como o Bruno Rocha e Elcio Ferreira escrevendo artigos e vídeos a respeito.

E os outros frameworks, tão importantes quanto os demais acima, Pyramid e Bottle são muito bacanas, outras alternativas ao Flask, caso queira, Tornado para aplicações com altas requisições, e um número engraçado, Plone em terceiro.

Plone talvez seja tão usado quanto os outros acima citados, diversos projetos brasileiros de grandes portais como os Correios, sites governamentais são feitos em Plone, então esse número seja um pouco errado.

Qual SO usa para programar Python?

py8

Esse ponto se contradiz um pouco. Grande maioria dos estudantes estão usando Windows para aprender a programar, e eles são a grande maioria nessa pesquisa.

O que significa isso?

Significa que a grande maioria está aprendendo por conta própria, saber usar sistemas Linux se torna muito mais fácil e rápido aprender Python do que Windows.

Windows em segundo lugar, então entra a questão das pessoas que tem preferência ao sistema, ou necessidade e tal. Normal.

E Mac em terceiro, provavelmente pessoas que já trabalham na área e precisam de tecnologia mais alta para trabalho.

Em que outras linguagens você programa?

py9

Isso é bacana. Ter Java e C/C++ como as linguagens principais mostra aqueles que trabalham com essas diariamente e usam Python como projetos pessoais ou Hobby.

Outro ponto como PHP, não há de negar que é mais fácil encontrar projetos PHP para dar manutenção do que Python, isso devido ao número de projetos feitos com WordPress, Joomla ou Drupal, ou até mesmo sites mais antigos.

E seguindo a ideia, vejo por exemplo que apenas 3% apenas trabalham com Python. Isso quer dizer que tem muita gente que gostaria de trabalhar com Python, mas por inúmeras razões não trabalham.

Trabalha com programação?

py10

Grande maioria sim, então isso é um ponto positivo. Mas ainda ter 42% não trabalhando quer dizer que a situação poderia ser melhor, a questão é? Quais são as razões para que não haja mais ingresso das pessoas na área de programação?

Alguma vez já trabalhou com Python?

py11

Outro número interessantíssimo. Apenas 36% já trabalharam. Menos da metade já trabalhou com Python.

Isso quer dizer que não há oportunidades?

Na verdade já me perguntei em relação a isso, as vagas de Python em grande parte necessitam de que haja experiência, mas como posso arranjar experiência se não arranjo emprego?

Projetos Open Source. Colabore e o torne como portifólio. Programador bom é aquele que expõe seu código para ser julgado, até porque julgá-lo o tornará um programador melhor.

E também estar dentro da comunidade, 75% das vagas são preenchidas antes de serem postadas em sites de emprego. Se você não está em contato com as pessoas que trabalham com Python, como é que você irá saber sobre as vagas que abrem? Como é que irão saber que você é bom se não tem código aberto para ser avaliado?

Você trabalha atualmente com Python?

py12

Novamente entra a questão, você está preparado para essas vagas? E isso não é só Python, é o mercado em geral? Tem o mínimo de conhecimento sobre testes? Controle de versão com Git? Sabe trabalhar com mais de um framework? E trabalhar com API’s?

O que o Bruno disse: “Se você não sabe, tem que correr, virar noites estudando, se esforçando para aprender.”

O que você acha da documentação de Python?

py13

Um dos pontos fortes de Python é a documentação, tanto é que a metade das pessoas o consideram boa, claro que há pontos a serem melhorados. Já a outra parte que é mais de 1/4 da pesquisa diz que é ótimo, ponto positivo.

Ter 4 pessoas dizendo que é ruim é normal, mas o que eu gostaria de saber quais são os pontos negativos que essas pessoas viram? Talvez possamos melhorar com simples mudanças.

E olha, 7% das pessoas nunca usaram a documentação. Isso novamente entra a questão dos novatos. 7% é muito alto.


 

Farei disso como primeira parte, acredito que no decorrer da semana irei lançar a continuação dos slides. Comentem, sua opinião é muito importante.

TDC2014 – Trilha Python

Mais uma vez estive presente no TDC, e como não poderia deixar de prestigiar a trilha de Python. TDC é um dos maiores eventos de tecnologia que temos no Brasil, palestrantes do país inteiro vão compartilhar suas experiências e conhecimentos com a comunidade.

TDC 2014 - Trilha Python

Tive o primeiro contato com grandes pythonistas na edição anterior, conhecendo pessoalmente Bruno Rocha, Luciano Ramalho, Fernando Masanori, Francisco Souza, Thiago Avelino, Guto Maia, Osvaldo Matos Júnior e diversos outros muito importantes. Confesso que parecia uma criança amedrontada diante tamanha as feras que estavam presentes.

Ano passado foi muito bom, tivemos palestras bacanas falando de Django, Scrapy, pyNES, API pública de ceps, Flask, Tornado, Bottle e outros. E esse ano não poderia ser diferente.

Python como o tema da minha palestra diz: “O que Python pode fazer e você não sabia” em teoria foi a porta de entrada para as diversas opções e aplicações que a linguagem oferece, sendo que muitos dos temas abordados foram apresentados posteriormente.

A organização e a quantidade de trilhas que o evento tem é sensacional, tem de tudo pra todos, robótica, Java, .Net, software livre, empreendedorismo, IOT, e o mais especial desse ano, TDC4kids, uma trilha para crianças aprenderem programação com a aplicação Scratch. O evento é organizado e o local é bem localizado, então ajuda bastante o tamanho dele, o número esperado de pessoas em 4 dias de evento é por volta de 3300 pessoas.

Então irei dar minha opinião sobre as palestras que assisti e compartilhar com vocês o que foi dito.

50 minutos – Python para Zumbis: primeiro MOOC para ensino de programação brasileiro atinge 15 mil inscritos – Fernando Masanori Ashikaga

IMG_20140809_103653676_HDR

Python para Zumbis é algo enorme, tamanho imensurável o impacto que ele teve no Brasil inteiro, analisando seria que a cada 3 cidades do Brasil, 1 tinha algum zumbi estudando Python, e presente em todos os Estados do Brasil.

E é só perguntar quem já fez o curso entre os presentes da sala que metade levantou a mão. E um comentário feliz: Graças ao curso do Masanori foi possível conseguir um trabalho de Python, disse o rapaz. E algo que foi surpreendente que enquanto conversava no horário do almoço, não parava de chegar pessoas seja da trilha de Python ou outras trilhas para conversar com o Masanori fazendo perguntas, e tirando fotos seja dele ou o Drone que foi apresentado.

50 minutos – Quokka CMS – Sites e portais com Flask e MongoDB – Bruno Cezar Rocha

IMG_20140809_114629322_HDR

Quokka CMS é um projeto fantástico do Bruno, um novo CMS de banco NoSQL, em que é fácil a instalação, customização e aplicação de temas. O intuito do CMS é oferecer os diferenciais que outros CMS’s não tem, Bruno tendo experiência sobre como trabalham os CMS’s, já que ele é um dos grandes responsáveis no desenvolvimento do Opps CMS, sentiu que haviam algumas coisas que não puderam ser feitas, seja pelas características do projeto, ou do Django.

15 minutos – O que Python pode fazer e você não sabia- Eric Hideki Imai Satake

Então veio minha palestra, procurei falar sobre as possibilidades que Python oferece para quem não conhecia a linguagem, abordando a aplicação na web, trabalhando com tratamento de imagens, BioPython, Pygame e outros.

Link da palestra gravada

15 minutos – Processamento de tweets em tempo real com Python + Django + Celery – Miguel Galves

IMG_20140809_132933862

Criar uma aplicação trabalhando com API do Twitter é algo complicado, complicado no sentido de que o Twitter é imenso, são em média 5700 tweets por segundo, então foi comentado como poder trabalhar com essas Big Datas, como a API funciona, quais as melhores ferramentas e falar sobre a experiência de criar grandes aplicações com esse nicho.

15 minutos – APIs de visualização em Python – Wilson Freitas

IMG_20140809_135115530

Outra palestra muito bacana, mostrando como podemos usar Python para gerar gráficos a partir de informações complexas, compartilhando as características e opções que temos, seja com mpld3, matplotlib, seaborn e outros. Comentou sobre um caso de catalogação de vinhos e os resultados.

50 minutos – Ensaio sobre testes automatizados- Gustavo O. da Fonseca

IMG_20140809_141617747

TDD é fundamental na vida de um desenvolvedor, aplicando essa metodologia conseguimos construir aplicações sustentáveis, seguras e que sejam fáceis de fazer manutenção, então o Gustavo mostrou os tipos de testes que temos disponíveis, seja por testes automatizados ou unitários, mostrando as características e aplicações em casos reais.

15 minutos – Python para programadores com DDA – Pedro Palhares

Desculpe amigo, não vi essa palestra que começou mais cedo do que eu esperava e só peguei o minuto final e não assisti. Por favor quem assistiu possa comentar no post falando do que achou.

Link da palestra gravada

15 minutos – Prototipando Games em Python – Guto Maia

IMG_20140809_155319722_HDR

Guto é um aficcionado por games, ano passado comentou sobre seu projeto do pyNES, e então dessa vez foi mostrado as formas de você criar seus games com Pygame, quais são os atalhos que deve percorrer e dicas para que seu aprendizado seja rápido.

E um dado bem interessante é que a grande maioria das pessoas entra na faculdade com intuito de criar jogos, mas 97% desistem no meio do caminho, e apenas 3% continuam. Ou seja, é muito pouco devido ao mercado crescente, então mostrar as possibilidades que Python tem em relação a jogos foi muito bacana.

Link da palestra gravada

15 minutos – AudioLazy 0.6 will robotize you! – Danilo de Jesus da Silva Bellini

IMG_20140809_162634487_HDR

Audiolazy é um projeto fantástico, suas variações e possibilidades com processamento de sons é surpreendente, sendo feitos em tempo real. Aplicações como alterar o som de uma guitarra, alterar a voz de uma pessoa, parecendo um robô ou até criar um teclado sonoro.

50 minutos – Machine Learning “Gerrilha” – Felipe Cruz

IMG_20140809_164739615_HDR

Felipe era um cara que queria conhecer pessoalmente, conheço pela internet há uns 2 anos acho e pudemos finalmente trocar ideias e compartilhar experiências. E nessa visita a terra da garoa foi para falar de machine learning, ensinando como manipular datasets, mostrando técnicas de melhorar sua performance na hora do processamento, como trabalhar em nuvem com machine learning e também uma aplicação real dessas práticas em um desafio.

https://speakerdeck.com/felipecruz/machine-learning-guerrilha

Link para a palestra gravada

15 minutos – Porque len() não é um método? – Luciano Ramalho

IMG_20140809_120933376

Luciano comenta de forma prática e rápida porque devemos usar len(s) ao invés de s.len(). Para quem não sabem len() é um método Python para saber quantos elementos estão contidos dentro de uma lista.

Por exemplo:

len(eric)

Resultado: 4 (número de letras)

E novatos tem a ideia de que se quer analisar o número de elementos, faz mais sentido fazer ‘eric.len()’ ao invés do modelo acima.

len é um método poderoso, e ele não faz análise apenas de palavras, e sim de listas, sendo assim conter a lista dentro do método faz muito mais sentido.

15/15 minutos – Scrapy Model – Modelagem fácil de web crawlers | OrientDB – No more joins!
– Bruno Cezar Rocha

IMG_20140809_180006122_HDR

Palestra dupla!

Na primeira parte foi mostrada como podemos trabalhar com buscas de termos na internet com Scrapy, dando dicas de como dribar problemas como o resultado esperado não ter sido o que desejava, ou senão quais as melhores formas de trabalhar índices.

Na segunda parte foi introduzido a ideia do OrientDB, um banco de dados orientado a grafos, algo que será ainda muito comentado. Repensando de forma diferente de como podemos criar laços entre as informações e dados, tirando diversos paradigmas que temos em bancos SQL e noSQL, e como trabalhar ele com Python.

IMG_20140809_182115416_HDR

15 minutos – Python Performance Tips – Sérgio Oliveira Campos

Infelizmente houve problemas com o Sérgio e ele não pode fazer sua apresentação.


Em todo geral foi muito bacana, superou minhas expectativas. Assim que os slides forem disponibilizados serão atualizados o artigo.


Segue também as palestras gravadas do ano de 2013:

Extraindo dados estruturados da Web com Scrapy – Ricardo Panaggio

Opps CMS: Django para portais de alta visibilidade – Thiago Avelino e Bruno Rocha

Django: Primeiro teste a subida – Francisco Souza

pyNES – Programando em Python no Nintendo 8 bits – Guto Maia

Desenvolvendo grandes aplicações com micro-framework Flask – Osvaldo Matos