❤️ É importante para o time de UX/UI que o desenvolvedor se preocupe em implementar nos minimos detalhes o que foi proposto no Figma ou em qualquer outra ferramenta de design.
❤️ É importante para o dev Junior conseguir montar componentes básicos de UX como modais, botões, carroseis, menus, etc.
❤️ É normal chegar um momento em que nos questionamos sobre usar algo pronto ou fazer "a mão".
❤️ É imporante participar de comunidades e ter mais interação com outros devs.
❤️ Parar de chutar css. Aprenda
❤️ Ao desenvolver projetos pessoais testando diferentes linguagens/ferramentas/arquiteturas/patters, será mais fácil de debater sobre essas decisões com o time.
❤️ É importante saber critiar e refletir sobre o próprio código.
❤️ Entender as estruturas do ambiente onde voce trabalha (http, browser, etc).
❤️ Entender as ferramentas de trabalho como VSCode, terminal, git, etc.
❤️ Manter o Github atualizado e organizado.
❤️ Saber dar feedback_.
❤️ É importante que devs pleno/senior se preocupem com performance.
❤️ Estudar sobre CSS Object Model (CSSOM).
❤️ Conseguir detectar gargalos na renderização do css.
❤️ Estudar sobre teoria de interface, design tokens.
❤️ Ter conhecimento sobre o produto.
❤️ Resolver problemas mais graves e não surtar com isso.
❤️ Não deixar o time ser improdutivo por algum motivo, pois isso aumenta os curtos do produto;
❤️ Entender mais sobre segurança (clickjaking, neaders, xss, innerHTML, autenticação, tokens, bff, etc).
❤️ 99% of engieering is basic, and 99% og engieering want to do the 1% of engieering that's cool. It's gatten us into a world of hurt.
❤️ Um bom arquiteto escolhe suas tecnologias pelas desvantagens.
❤️ Monolito não escala. Uma aplicação só escala com microservices.
❤️ Performance representa tempo de resposta. Quanto menor for esse tempo, mais performatico é o sistema.
❤️ Escalabilidade representa operações (requisições) por tempo. Mede quantas requisições podemos fazer sem impactar a performance.
❤️ Tempo de transação do banco representa o tempo de resposta do banco.
❤️ Se a execução é custosa (demora muito tempo), então ela é um possível gargalo.
❤️ Uma das formas de escalar uma aplicação é colocando os processos em uma fila. Isso é chamado de processamento assincrono.
❤️ Uma das formas de escalar uma aplicação é melhorar a máquina (adicionando mais memória e CPU). Isso se chama escalabilidade vertical, pois a medida em que precisamos de mais escalabilidade, usamos uma máquina melhor.
❤️ Apache a nginex são balanceadores de carga.
❤️ Cluester é um conjunto de máquinas que é ligado ao balanceador de carga. Isso se chama escalabilidade horizontal, pois temos várias máquinas trabalhando juntas. É uma solução mais barata.
❤️ Os 3 pilares para a escalabilidade são cache, processamento assincrono e balanceamento de carga.
<img srcset="img_360 360w, img_720 720w, img_1440 1440w, img_2560 2560w" sizes="100vw" />
<img
srcset="img_360 360w, img_720 720w, img_1440 1440w, img_2560 2560w"
sizes="
(min-width: 1600px) 33vw,
(min-width: 1024px) 50vw,
100vw
"
/>
Tendências no Front-end 2022 – Hipsters Ponto Tech #286
❤️ Os frameworks React, Vue e Angular vão continuar.
❤️ Simplificação dos frameworks com o passar do tempo.
❤️ Crescimento de mercado com o Next.
❤️ Dev Experience https://gobacklog.com/blog/developer-experience/
❤️ O frontend tem passado por uma estabilidade.
❤️ As vagas tem pedido cada vez mais o framework como pré-requisito.
Arquitetura de Software com Camila Campos
❤️ Uma arquitetura boa deve deixar clara qual é sua intenção.
❤️ Principios de Domain Dirven Design diz que o código deve ser orientado ao dominio, ou seja, o código deve traduzir as regras de negocio.
❤️ Deve existir uma linguagem ubíqua, onde os desenvolvedores e pessoas de negocio falam a mesma lingua. Isso deve se refletir no código, onde, no minimo, as palavras chave que o pessoal de bussness diz se reflete no código.
❤️ Arquitetura não é bala de prata, então não resolve todos os problemas.
❤️ "The only way to go fast, is to go well", isso signica que o desenvolvimento rápido é aquele em que nos preocupamos com o seu crescimento saldável e não em entregas rápidas pensando apenas no tempo, pois isso gera debitos técnicos que dificilmente serão revistos.
❤️ Escreva código que outros programadores possam entender.
Entender o que o mercado está medindo. Ser generalista, ou seja, estar aberto a qualquer tecnologia ou problema. Cada país facilita o visto para pessoas com determinadas profissões. A competição entre desenvolvedores junior's é alta, pois até pessoas com nivel pleno ou senior aqui aceitam trabalhar como junior para sair do país.
Nivel junior: desenvolvedor que sempre precisa de ajuda, de ser guiado, precisa de alguma liderança, etc. O desenvolvedor precisa saber fazer a ponte entre o desenvolvimento e o bussiness, ao invés de ficar só com a "cara do código".
O linkedin é muito importante para que o dev consiga emprego porque ele é uma plataforma gratuita e utilizada por muitas pessoas e empresas. O processo de recrutamento é bem custoso, pois plataformas como a catho, vagas.com, etc são pagas.
O github também serve para mostrar quem somos, o que estamos fazendo, como e o que penssamenos tecnicamente. Muitas das entrevistas perguntam sobre o que erramos e o que fizemos para corrigir e princpalmente: o que aprendemos com isso. O curriculo do Brasil é diferente do curriculo europeu, e o nosso tem muita influencia dos estados unidos. O curriculo europeu é mais detalhista e pede informações a mais sobre os projetos que o desenolvedor trabalhou, as metodologias, time, entrega de valor, etc.
Devemos sempre lembrar que o recrutador não é desenvolvedor
Focar no job description. Quando o recrutador te chama para a entrevista, quer dizer que das hard skills já estão de acordo com a vaga, ou seja, agora eles estão avaliando o aspecto comportamental. Eles procuram pessoas proativas e dedicadas, e não as que ficam desesperadas toda vez que algo fora da curva acontece.
As metodologias estão muito em alta, precisamos citar qual o valor o código gerou na empresa ou cliente.