Skip to content

Instantly share code, notes, and snippets.

@reginadiana
Last active August 11, 2024 12:30
Show Gist options
  • Save reginadiana/43bb30d318ca0f442fc3cd6873863908 to your computer and use it in GitHub Desktop.
Save reginadiana/43bb30d318ca0f442fc3cd6873863908 to your computer and use it in GitHub Desktop.
Resumo de talks/palestras/lives sobre tecnologia.

O que é considerado Frontend avançado?

❤️ É 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 "na 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 custos 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 e 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.

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 saudá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.

Carreira internacional em TI

Entender o que o mercado está pedindo. 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 juniores é 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 é 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 pensamos 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment