Você não achou que ficaríamos de fora né?
Cloud Native .NET, Mensageria .NET e ACADEMIA DEV – O PACK!
Índice
Carta de Intenções
A construção de um arquiteto depende de conhecimento, em especial de fundamentos bem sólidos.
Conhecimento superficial e overview sobre tecnologias, patterns e arquitetura, pode ser o suficiente na mesa do bar, em uma roda de amigos do direito ou outra área das humanas, talvez até do mercado financeiro.
Mas quando falamos de discussões técnicas, principalmente na hora de tomar decisões, bons fundamentos sempre vencem.
Bons fundamentos vencem porque argumentos rasos não se sustentam diante de um contra-ponto sólido e robusto.
Contra-pontos sólidos são pautados na rasão, na lógica, sem relativização.
Com poucas investidas, conseguimos respostas, e com ela o poder de julgar praticamente qualquer assunto técnico, caso possua uma sólida base sobre o assunto.
Não importa qual o malabarismo retórico seja empenhado para te convencer do contrário ou qual nível de abstração adotaram em uma solução.
A verdade é crua e sem nenhuma pompa, glória ou sofisticação, ela simplesmente é o que é.
E esse é o trabalho que faço nos últimos 20 anos:
Entender, digerir, aplicar e ensinar.
E tendo ajudado milhares de desenvolvedores ao longo desse tempo, uma verdade posso te assegurar:
Que a base, a fundação, são imutáveis em 99.999% dos casos por 99.999% do tempo.
E que essas bases formaram os melhores profissionais que eu já conheci.
Assim como a falta delas, formaram os piores.
Todos os novos produtos da última década se baseiam nos mesmos componentes que existem há mais de 10 anos, talvez 20 anos até.
Exemplo:
Vamos pegar como exemplo o .NET ASPIRE. Talvez possa parecer legalzinho, e que não tenha nada a ver com containers, certo? Errado!
Seu mecanismo de HealthCheck está totalmente atrelado ao ciclo de vida do Kubernetes com os 2 HealthChecks Readiness e Liveness Probes.
O mecanismo de service discovery não interage com o mecanismo de injeção de dependência da forma como poderia, não temos de fato um registry para o registro dos serviços.
Ele se baseia na configuração para configurar algumas strings, só servindo para a inicialização da aplicação, assim, assume-se que o healthcheck, seja o mecanismo que fará um orquestrador identificar que a instância não está saudável e irá destruir o POD, para que um novo e saudável nasça.
Da mesma forma que o mecanismo de resiliência, só atende à inicialização do serviço, ou mais especificamente, a inicialização do POD.
Ainda assim é uma ferramenta de desenvolvimento interessante e mesmo que não use containers faz sentido usá-la, mas ter total consciência do que é e do que faz, e do que não faz e do que não é, te ajuda a gerenciar expectativas.
- .NET Aspire (2023-2024)
- Keda (2019)
- Kubernetes (2015)
- Docker (2013)
- LXC (2008)
- Solaris Zones (2004)
- FreeBSD Jail (2000)
- Chroot (1979)
Os maiores saltos que você pode dar, não estão nos assuntos que você procura ou tem preferência.
O dev .NET tem de conhecer muito bem o ecossistema .NET, bem como as bibliotecas-base, padrões de projeto e estratégias de design, modelagem e arquitetura de software, claro.
Mas o profissional .NET negligencia tudo que não é código.
Ao longo desses 20 anos, o que mais vi limitar desenvolvedores, é a falta de base, de fundamentos:
- Sobre pensar software:
- Acoplamento/Desacoplamento
- Responsabilidade
- Coesão
- Sobre escrever código
- Orientação a objetos
- Modelagem
- Estratégias
- Patterns
- Práticas
- Sobre como projetar Arquitetura
- Cache distribuído
- Lock distribuído
- Assincronismo
- Paralelismo
- Mensageria
- Sobre como usar Arq
- Servidor de Aplicação e Sistema Operacional
- Como sua aplicação consome os recursos que tem
- Como escalar e quais impactos da escala no código
- Como usar um cache corretamente
- Observabilidade
- Log
- Tracing
- Métricas
Porque quando falamos de Cloud Native, seu código roda e depende de recursos, que deveriam influenciar como o código é escrito.
Mas a falta de conhecimento gera uma barreira intransponível.
Essa barreira impede o desenvolvedor de competir, mas também impede a plataforma .NET de ser mais competitiva.
Se não temos pilotos e não conseguimos formar pilotos, não há como pilotar.
Não bastam projetos, é preciso ter devs que saibam conduzir esse tipo de projeto.
Na medida que o desenvolvedor .NET é um dos que mais foge de Containers, DevOps, Arquitetura de Soluções, conhecimento aprofundado em Mensageria e Aplicações Distribuídas, é um dos que mais buscam atalhos como abstrações, e componentes que evitem o trabalho de estudar, ele se torna menos eficiente.
Isso produz profissionais que não são capazes de competir porque não possuem conhecimento para discutir, debater, propor e tomar decisões.
A Microsoft tenta contrabalancear com o maior gasto do mercado em produtividade.
Mas produtividade sem profundidade é como dar uma arma municiada na mão de uma criança.
No gaGO.io faço um trabalho do qual me orgulho muito. Textos de 10, 8, 5, 3 anos que continuam atuais, continuam refletindo a realidade e continuam ajudando desenvolvedores.
Escolhi não publicar o que os desenvolvedores .NET querem, para publicar o que os desenvolvedores .NET precisam.
De 2016 à 2019 foi a vez de trazer a mair jornada de conteúdo do Brasil sobre containers, destinado quase que exclusivamente à comunidade .NET.
Porque containers com .NET ainda parecia absurdo, ainda se ouvia que era desnecessário ou esquisito. E por pura ignorância, todos os dias, vemos perdidos pensando rodar containers linux no Windows Server com docker desktop.
O Docker de A a Z nasceu da necessidade de mostrar quanto antes, qual seria o standard, default, o padrão no futuro, esse futuro chegou.
Anos depois temos um cenário de convergência absoluto, com Azure Functions, Container Instances, Container Apps, App Services, AKS, Azure Service Fabric e outros e aqui só estou falando de serviços do Microsoft Azure.
Ao falar de containers, em especial de arquitetura distribuída baseada em containers, percebi muitos outros novos pontos-cegos.
Percebi a existência de bolhas que giram ao redor do nível de conhecimento sobre arquitetura de soluções e arquitetura distribuída.
Sobre o dev .NET, quanto mais centrado em código, menor é o salário, e menor é a chance de ver outros tipos de projetos.
Esses profissionais rodam anos, até décadas em empresas que só fazem projetos simples, para poucos usuários, e com isso naturalmente não desenvolvem skills necessários para projetos desenhados para escala.
O mundo baseado exclusivamente em ASP.NET Core + SQL Server/Postgres é limitado a uma bolha, de projetos que tendem a ser mais simples, produzido por empresas menores, com times menos experientes, necessitando de pouco conhecimento técnico, e muitas vezes conduzido exclusivamente por profissionais inexperientes.
A falta de conhecimento é notória em uma entrevista, enquanto a falta de capacidade técnica é uma barreira no dia-a-dia operacional.
Se de um lado é difícil furar essa bolha passando em um processo seletivo, exceto caso a empresa esteja disposta a investir no candidato, por outro lado, é fácil sobrecarregar o time com erros e bugs conceituais de implementações que ferem os requisitos do projeto, por falta de conhecimento.
E isso pode gerar uma percepção técnica ruim sobre você logo nos primeiros dias de trabalho, produzindo uma primeira impressão ruim.
Como no simples caso de uso de variáveis estáticas em projetos que precisam escalar.
O máximo do seu potencial é destravado quando você mescla, seu potencial de escrita de código com seu potencial de pensar soluções de forma mais estratégica.
É quando você se torna capaz validar ideias e soluções, discutir e defender os interesses da arquitetura nos debates técnicos, que você está de fato evitando problemas ao invés de criá-los.
É educando e ensinando os mais jovens, mostrando os porquês, que você consegue multiplicar sua capacidade de gerar resultado, retorno para sua equipe, projeto.
Assim se torna mais raro, mais eficiente e eficaz.
Mas para isso você precisa saber fazer, saber colocar a mão na massa e saber executar.
Ao longo de mais de quase 1 década, eu trouxe esses assuntos para o gaGO.io, para o youtube, seja no Canal .NET, no meu canal ou em participações no Coding Night, e há quase 5 anos abordo os mesmos temas em treinamentos e mentorias.
Desde uma fundamentação sólida sobre containers, daquelas que você nunca mais vai esquecer como as coisas funcionam e, portanto, nunca mais baterá cabeça sem saber o que fazer, ao ponto de não precisar do stack overflow.
Até detalhes comportamentais e fundamentais do RabbitMQ, que permitem a você entender que não estamos falando apenas de filas FIFO. Estamos falando do service broker mais usado no mundo, e responsável por muitas das capacidades e qualidades que atribuímos exclusivamente aos microsserviços, mas que poderiam ser obtidas também em monolitos. Temas que já abordamos.
Ou em um aprofundamento sobre o .NET Aspire, lançado há 1 semana.
Ao cuidarmos do alicerce e dos fundamentos, as fundações do conhecimento, somos vacinados contra armadilhas técnicas, táticas de persuasão e marketing, argumentos tendenciosos, conceitos equivocados e muito do que gera problemas estruturais que se propagam em projetos e empresas por décadas.
Se conseguirmos entender um conjunto substancialmente pequeno de regras, conseguimos avaliar instantaneamente uma ideia equivocada ou um conceito deturpado.
Seja em uma reunião técnica, onde uma proposta descabida, é lançada ao vento, e você pode debater instantaneamente, mostrando, cordialmente, como aquela ideia é absurda. Tentando extrair a essência, mas não deixando uma refatoração, rearquitetura ou até uma solução nova ser fundamentada em uma inverdade, uma falácia ou conceito desvirtuado.
Você usa esse poder em uma reunião técnica interna, com seu time, onde para evitar o constrangimento, pode apenas fazer as perguntas certas para ajudar a pessoa que apresentou a ideia a entender onde peca.
Mas também pode usar com fornecedores, que vendem aquilo que não conhecem, e aquilo que seu próprio time técnico também não conhece e ainda não é capaz de entregar.
Com bases sólidas, e conhecimento em dia, você é capaz de, com poucas perguntas, saber se uma empresa que usa na entrevista o argumento do uso de microsserviços, como vantagem competitiva, na verdade, é uma furada ou não.
E consegue saber se está ouvindo o canto da sereia, ou está diante de uma empresa que está olhando de forma séria e profissional para as necessidades da arquitetura.
Esse profissional é eficiente, produz muito resultado e é raro.
E todo meu esforço aqui do meu lado é para ajudar quem quer se tornar esse profissional.
Seja como Desenvolvedor, como Arquiteto Software ou Arquiteto de Soluções, todos são impactados por cada um dos assuntos que abordamos aqui do lado de dentro, seja no Cloud Native .NET, no Mensageria .NET ou no Academia DEV. Seja nos cursos ou mentorias.
Assim começamos nossa Black Friday 2023.
Então oficialmente nossa Black Week começou!
O que contempla nossa Black Friday:
Dica: Fique atento às datas das ofertas.
Oferta 1 – Mentoria Cloud Native .NET + .NET ASPIRE
Preço antigo estendido
A Mentoria Cloud Native .NET:
DE SEXTA 24/11/2023
ATÉ QUINTA 30/11/2023 23:59
Oferta 2 – Pack Cloud Native .NET + Mensageria .NET + Academia DEV + .NET ASPIRE
60% OFF
Ao entrar no Cloud Native .NET você recebe:
E na Black Friday você ainda ganha:
DE TERÇA 28/11/2023
ATÉ SEXTA 30/11/2023 23:59
Oferta 3 – Mensageria .NET + .NET ASPIRE
R$ 500 OFF + Acesso Vitalício
Ao entrar no Mensageria .NET você recebe:
E na Black Friday você ainda ganha:
Black Friday Deal: R$ 500 OFF + Sem necessidade de renovação
Fundamentals
DE SEXTA 24/11/2023
ATÉ SEXTA 30/11/2023 23:59
Advanced
DE SEXTA 24/11/2023
ATÉ SEXTA 30/11/2023 23:59
Fique de olho nas datas.
A reclamação mais comum que recebo todo mês, nos últimos 4 anos, é a de que alguém perdeu uma data por desatenção.
Preço de hoje não é garantia do preço de amanhã, esses avisos são sempre claros.
Para quem vier, venha quanto antes porque já temos agenda para os próximos dias.
Segunda-Feira
27/NOV
Mentoria Cloud Native .NET
Público: Membros do Cloud Native .NET
Terça-Feira
28/NOV
Mentoria Mensageria .NET
Público: Membros do Mensageria .NET
Quarta-Feira
29/NOV
Kubernetes e .NET: uma parceria poderosa para Aplicações Cloud Native
Público: Livre/Gratuito
Canal .NET @ Youtube
Sábado
09/DEZ
MasterClass .NET ASPIRE
Público: Alunos antigos e alunos que entrarem até dia 30/11
Para quem puder participar, esta está sendo a maior Black Friday já feita aqui.
Para quem não puder participar, não tem problema, teremos conteúdo asqui no gaGO.io , no canal .NET, no meu canal do Youtube e sempre que sobra um tempinho estou no telegram.
0 comentários