sexta-feira, 30 de julho de 2021

Como Open Source contribui com a minha carreira e com negócios para minha empresa?

Faz tempo que converso com desenvolvedores, empreendedores, curiosos e interessados sobre o mundo Open Source, e sempre pensei em como compartilhar e responder grande parte das perguntas e deixar registrado. 

Se eu disser que foi intencional e planejado da minha parte, eu estou mentindo, mas nessa semana eu participei de duas lives em que pude compartilhar muito do que eu sempre explico para quem me pergunta sobre o tema. Aprendizados e lições de um velho hacker (na essência do termo).

A intenção não foi minha, mas foi o resultado da ação e provocação da Carol Vilas Boas, Otávio Santana, Lucius Curado e Mari Moreira. Feliz demais em poder vivenciar o dia a dia e aprender com eles, meu Dream Team!

Nada do que está aqui é escrito na pedra, são minhas experiências compartilhadas. De longe sou o dono da verdade, mas compartilhei o que aprendi.

Aqui sobre como Open Source gera valor em rede:



O próximo é um FAQ ao vivo sobre Open Source, com a MEGA participação do Bruno Souza, maior responsável por me explicar o que era Open Source, e o cara que me motivou a sair daquele lugar confortável que eu estava como "gerente de projetos" no começo dos anos 2000 e descobrir que o mundo era maior que a minha bolha de ego pessoal... lá fora é maior que aqui dentro (falo disso no vídeo anterior), e foi o Bruno que me fez ver isso aqui no Brasil (conheci o Simon por ele). 

Quando vi o Bruno no palco a primeira vez, falando, compartilhando e brilhando meu olho, encontrei meu propósito de vida, mas disso eu já contei aqui

Nosso FAQ sobre Open Source de hoje:


De longe sou ou somos autoridades, mas adoramos compartilhar o que aprendemos. Conhecimento multiplica quando divide (sim, contraria a matemática), e aprendemos sempre.

Uma interpretação simplista de UBUNTU é: "se quer ir perto, vá sozinho, quer ir longe, vá em grupo". Essa é a tática, mas eu adoro a filosófica: "Eu sou porque nós somos".

Na real: é sobre nós, não sobre eu ou você. Tecnologia só serve se for pra melhorar a qualidade vida das pessoas :)

Não sou mestre de nada, sou porque nós somos. Comentários mais que bem vindos e como sempre @homembit em todas as redes.

terça-feira, 2 de fevereiro de 2021

A regra de ouro de comunidades: você vale o que contribui!

 Meu artigo anterior sobre Developer Relations acabou fazendo com que muita gente me procurasse nos últimos dias para saber mais sobre o que é de fato a profissão e como começar, por isso resolvi escrever esse aqui.

Antes de entrar no que é o trabalho com DevRel, vale a pena olhar para o pilar central de sustentação dele, que são as comunidades.


O título deste artigo é uma provocação, porque de fato eu não tenho tanta certeza que existe uma regra de ouro em comunidades, mas sei que seu valor nelas é diretamente proporcional ao que você contribui. Simples assim.


Não importa o assunto ou o tema, a comunidade sempre existe. Ela pode ser formal, com site, lista de discussão, grupo em ferramentas de comunicação ou redes sociais, ou informal e caótica, mas ela sempre existe, e nem sempre ela é de apoiadores.


Entender onde a comunidade está, sua dinâmica e principalmente as suas regras implícitas é a parte mais difícil, e essa só se aprende fazendo (e muitas vezes errando). Um exemplo disso é que existem comunidades completamente avessas a empresas, e comunidades completamente focadas em empresas.


Comunidades e pessoas estão em geral interessadas em mais do que conteúdo e conhecimento técnico. Estão de fato interessadas em experiências, principalmente se essas compartilharem aprendizados importantes sobre a aplicação real da técnica. Este é para mim o compartilhamento que faz a diferença.


Isso não significa que alguém que está aprendendo uma tecnologia nova não tenha nada interessante para compartilhar. Vejo muita gente errando nisso, tentando falar sobre assuntos técnicos complexos sem profundidade no assunto, e já vi gente passar vergonha feio com isso online e em eventos presenciais. Não importa onde você esteja, tenha certeza de que alguém por perto conhece mais daquele assunto do que você (isso vale demais para eventos presenciais), portanto empatia e humildade na hora de apresentar ou compartilhar seu conteúdo são fundamentais.


Por isso mesmo que o compartilhamento de experiências é fundamental. Se eu começo a estudar um assunto técnico hoje e não tenho profundidade para falar sobre ele, eu provavelmente posso compartilhar a minha experiência de aprendizado, e portanto ajudar pessoas a seguirem a mesma trilha que eu estou seguindo para aprender. Pessoas que já passaram por ela, podem me dar dicas importantes que vão me poupar um baita tempo e gente que está trilhando um caminho parecido pode se juntar a mim nessa caminhada e aprendermos juntos (perceba que aqui quando eu chegar no meu destino, já tenho uma comunidade ou já faço parte de uma).


Se eu já conheço bem sobre um tema, já posso falar com mais segurança sobre ele, mas ainda assim, o que vai criar uma conexão de verdade com as pessoas não são os meus conhecimentos técnicos puros, mas as minhas experiências de aplicação deles, e a parte mais legal, quando eu conto as minhas experiências eu estimulo as pessoas a contar as delas, e com isso todos aprendemos rápido, principalmente com os erros e lições que eles nos trouxeram. Essa é a mágica de comunidades para mim, e não importa se estamos falando de tecnologia, culinária, música, bricolagem ou qualquer outro assunto.


Aí vem a dúvida: como ganho dinheiro com isso? Como transformo isso em uma profissão?


Em tempos de pandemia, com uma câmera e um microfone na mão e inspirado pelos YouTubers e influenciadores digitais de plantão, muita gente acredita que quanto mais conteúdo for criado e compartilhado melhor, mas isso é um erro enorme. Você pode até acertar fazendo isso, mas vai ser na base da tentativa e erro (ou método empírico, como um amigo muito experiente em tudo isso gosta de falar).


Conteúdo útil é aquele que responde a alguma necessidade de outras pessoas, e não aquele que você "acha" que vão gostar, e não precisa de bola de cristal para saber que conteúdo é esse, basta observar o que a comunidade que você gostaria de participar está falando e o que estão procurando. Imaginar que você vai gerar uma comunidade toda em torno de você, simplesmente exalando sua sabedoria e simpatia é no mínimo inocente demais, pra não falar presunçoso, mas infelizmente vejo muita gente (e pior, empresas) insistindo nesse modelo.


Ganhar dinheiro com essas atividades leva tempo, e não existe receita de bolo pra isso. Quanto mais você compartilhar, mais portas serão abertas por você em outras comunidades, mais experiências você vai trocar e isso vai trazer mais oportunidades de ter novas experiências. Isso vai fazer de você um profissional.


No meu caso específico, foram 10 anos simplesmente contribuindo e compartilhando em comunidades até que eu recebesse meu primeiro salário por isso. Não, nunca cobrei por palestras na vida, sempre fui muito seletivo com os eventos que participei e no máximo aceitava que a organização dos eventos - quando patrocinados - pagassem minhas despesas de viagem. Sim, me ofereceram diversas vezes pagamento por palestras, mas nunca aceitei. Sempre fiz questão de escolher onde vou compartilhar o meu conteúdo, e isso vale para eventos, revistas, livros, sites, blogs, programas de TV e muitas outras coisas que fiz nos últimos quase 20 anos.


A diferença entre fazer isso "por amor" e "por dinheiro" é que por dinheiro você muitas vezes vai precisar fazer o que não quer tanto assim, mas vai precisar aprender a gostar daquilo, ou simplesmente desistir da profissão. Foi assim que eu trabalhei com diversas tecnologias e comunidades nos últimos anos. No início escolhendo o que ia falar, com quem ia falar e como ia falar (e claro, me comportando do jeito que achava pertinente), e depois quando alguém pagava o meu salário, me dava as regras do jogo: o assunto, o público alvo, o resultado esperado e principalmente - as regras sobre comportamento… sim, essa última é a parte mais difícil. Ser um profissional em Developer Relations é "ceder" sua credibilidade a uma empresa e não o contrário. Este acordo precisa ter um propósito claro que atenda as duas partes. Muitas vezes a empresa vai te abrir portas menos acessíveis e isso pode aumentar a sua visibilidade (e responsabilidade).


Não estou de forma alguma dizendo aqui sobre a ética de se cobrar ou não por palestras nem ditando regra, mas fica aqui o meu alerta para quem está entrando nesse mundo acreditando que vai ganhar muito dinheiro em pouco tempo: as coisas não são tão simples assim. Você sempre vai trocar dinheiro pela sua liberdade de expressão e muito cuidado, porque muitas vezes vão querer te pagar para falar para pegar emprestada a sua credibilidade e fazerem sei lá o que com ela. Só se perde a credibilidade uma vez.


Uma última dica importante: se você já está trabalhando com DevRel e ainda está no começo da sua carreira na área, volte no começo desse texto e leia tudo de novo. Você está tendo a oportunidade que eu e muita gente boa que conheci e acabou desistindo não teve - receber seu salário enquanto aprende a fazer tudo isso sob orientação de quem aprendeu do jeito difícil. 


É uma jornada por "ser" e não simplesmente "estar". Quem compra a sua reputação provavelmente vai ter que pagar por ela a vida toda, e pra dar um exemplo que denuncia a idade, onde estão mesmo as boy bands brasileiras dos anos 90?


Como sempre, estou à disposição para quem quiser conversar mais sobre o assunto e claro, trocar suas experiências.


quarta-feira, 20 de janeiro de 2021

Porque Developer Relations?

Nos últimos meses eu tenho visto um aumento crescente no interesse da indústria de tecnologia sobre relacionamento com desenvolvedores (Developer Relations), também conhecido por DevRel para os íntimos.

O número de oportunidades profissionais na área não para de crescer mundialmente, e empresas que nunca tiveram algo estratégico para desenvolvedores estão tentando entender o que é isso, enquanto outras estão expandindo muito suas equipes e ações de engajamento.

Os desafios da pandemia tornaram ainda mais difícil conseguir atrair desenvolvedores para conhecer seus produtos e serviços. Os mecanismos de marketing tradicional e corporativo que ainda traziam resultados (questionáveis) nesta área, passaram a não funcionar mais tão bem, e a competição enorme pela atenção das pessoas nesse novo mundo online obriga as empresas a pensar fora da caixa e finalmente entender de verdade o mundo dos desenvolvedores de software. Brindes legais nos estandes em eventos, meetups descolados com pizza e cerveja simplesmente não existem mais. Atração e retenção de talentos então, ficou ainda mais complicado. Com o home office virando o novo normal, aquele seu escritório descolado já não diz muito.

Mas porque engajar desenvolvedores virou algo tão importante e estratégico? Não tenho todas as respostas para isso, mas gostaria de dividir alguns insights com vocês, e estou disposto a conversar sobre eles nos comentários.

Nos últimos anos, o poder de influência dos desenvolvedores em decisões de tecnologia que tem impacto financeiro enorme só aumentou. Quando falamos de tecnologias e arquiteturas emergentes então, ele é gigante. Não sei se alguém já contou isso em público, mas eu vou contar o segredo: Nós desenvolvedores temos a habilidade para recomendar ou rejeitar tecnicamente qualquer tecnologia, produto ou serviço, e sim… muitas vezes fazemos isso para nos manter em nossa zona de conforto ou manter nosso nicho de especialização como "o futuro". Triste, mas verdade! (desculpa aí se vou colocar alguém em maus lençóis por contar esse segredo :) )

A grande missão do relacionamento com desenvolvedores é atuar como curador da jornada de aprendizado e experimentação dos desenvolvedores, trabalhando para que ela seja a mais suave, efetiva e objetiva possível. Nosso desafio é tornar a tecnologia, produto ou serviço que estamos trabalhando parte da zona de conforto dos desenvolvedores, idealmente trazendo-os para a co-criação de tal forma que se tornem parte daquilo que estão usando (aqui dá para começar a entender como Open Source é fundamental para o sucesso). Saímos do ponto "temos um produto", para o "temos uma comunidade". O resto é história, e o Java é um excelente exemplo disso.

Isso requer habilidades, conhecimentos e experiência em três áreas: Tecnologia, Comunidades e Marketing/Comunicação. Não existe receita de bolo, nem solução mágica, mas existem boas práticas e muitas lições aprendidas com os erros que cometemos e que observamos outros cometerem nas últimas décadas. Cada tecnologia, comunidade e cultura local demanda uma adequação dos planos, repaginação das mensagens e estratégias, muitas vezes completamente diferentes para atingir os objetivos. Essas diferenças são gritantes quando falamos de países ou regiões do globo diferentes, mas elas são fundamentais também dentro de um país imenso e multicultural como o Brasil.

No tempo em que a oferta de hardware e software era majoritariamente controlada por poucas empresas no mercado, isso tudo era muito fácil. Durante décadas usamos apenas dois tipos de plataforma (baixa e alta), e na baixa praticamente uma única arquitetura computacional e de processamento com um único sistema operacional.

Hoje vivemos uma profusão de tudo. Diversas arquiteturas computacionais, diversas formas de processamento, incluindo o processamento híbrido (processador + aceleradores), diversos tipos de dispositivos, muitos sistemas operacionais, milhares de bibliotecas e frameworks e por aí vai.

Como exemplo prático disso, a opção de um desenvolvedor ou de uma equipe (influenciada por desenvolvedores) por utilizar um determinado framework ou biblioteca, define imediatamente quais serão os sistemas operacionais utilizáveis, quais serão os processadores ou aceleradores aplicáveis e quais serão as possibilidades de comercialização do produto final, sem contar toda a definição da infra estrutura de operação e oferta de serviços. Define ainda quais serviços poderão ser integrados com facilidade e quais interfaces de comunicação poderão ser utilizadas. É sobre esse alicerce de tecnologia que produtos e serviços serão construídos.

Mas se alguém "de cima" tomar todas essas decisões e vier no famoso top down… vou contar outro segredo: a chance do projeto dar errado é enorme. Sem desenvolvedores comprometidos e satisfeitos com o que estão criando, nada brilhante vai ser desenvolvido. Ai vira um turnover imenso, conhecimentos e aprendizados se diluindo com o tempo e voilá… temos aquele legado que não funciona direito, traz mais problemas do que solução e ninguém está disposto a colocar a mão para resolver o vespeiro.

Olhando para a indústria de hardware, se antes para garantir que seu hardware pudesse ser utilizado em grandes empresas bastava um esforço de vendas focado em tomadores de decisão, hoje quando o hardware está em um imenso datacenter e acessado através de uma maravilhosa abstração chamada de "nuvem", o papel dos desenvolvedores de software passou a ser imenso. Acredite se quiser, a decisão sobre se o seu hardware será utilizado ou não em um projeto que pode escalar e ficar imenso, está a um clique ou uma linha de configuração que um desenvolvedor está escrevendo lá no começo, quando o protótipo do projeto está sendo utilizado, e dependendo do grau de otimização necessário, ele não vai voltar lá e refatorar tudo "de boa vontade" (caímos no turn over e no caos legado já mencionados).

Estudar, aprender e se familiarizar com novas tecnologias não é algo simples, demanda muito tempo (e investimento), e aprendemos nos últimos anos que é uma atividade que se torna muito menos complicada quando feita em grupo, em comunidade. Saber como colaborar nessa jornada, principalmente respeitando as regras quase nunca escritas que regem comunidades é fundamental.

Me motivei a compartilhar aqui essas provocações, porque com o aumento da oferta por esses profissionais, já começam a aparecer os "consultores especializados", as empresas de "as a service" e os "entendidos da coisa toda", que há um ano ou dois atrás eram tudo isso da novidade da moda. 

Me questionei muito antes de publicar esse artigo, mas tem hora que a paciência fica curta. Eu trabalho com developer relations há 17 anos, antes mesmo disso ter esse nome (ou de ter um nome qualquer, na verdade), e tenho muitos amigos que fazem um trabalho sério há quase 20 anos também. Deixo aqui o meu recado: Cuidado com os gurus de plantão. 

Depois de 17 anos fazendo isso, não me considero especialista pois a cada dia aprendo algo novo. É uma arte em desenvolvimento, e não um conjunto de regras e sim: depende de pessoas, de empatia e de respeito, muito mais do que de tecnologia.