Arquitetos estudam grandes obras da história da arquitetura.
Designers estudam grandes peças de referência do design.
Por que programadores dedicam tão pouco tempo ao estudo de grandes exemplos de software?
Explicar um pouco qual a ideia por trás dessa série, e qual o critério pra escolha de tópicos.
As empresas Big Tech tem processos seletivos bastante conhecidos, são milhares (milhões?) de pessoas que aplicam todos os anos. Dado o tamanho do processo, é sabido o modelo das entrevistas
Em linhas gerais, as duas primeiras etapas geralmente são:
- uma relacionada a código. Perguntas técnicas, estruturas de dados, algoritmos. Provavelmente algum tipo de live coding
- uma de system design. Mais high level que a outra, pra entender a sua compreensão de sistemas como um todo.
E além das big tech, muitas outras empresas do mercado tem abordagens parecidas com essa. Eu diria que mais ou menos metade das entrevistas que eu fiz na vida tinham essas etapas.
Ignorando um pouco “entrevistas”, eu também acredito que esses tópicos são importantes, e são pouco abordados. Vejo muito conteúdo sobre frameworks e linguagens da moda, mas pouquíssimo sobre como fazer depth first search numa árvore binária.
Então, a ideia é sequenciar o conteúdo ao longo desses 100 dias, indo do simples pro complexo, pra gente ficar bom em estruturas de dados, algoritmos, e system design. No momento, o roadmap é mais ou menos o seguinte:
- 50 dias em algoritmos e estruturas. Mescla de explicações em whiteboard com LeetCode
- 30 dias em “building blocks” de sistemas. Bancos de dados, servidores, load balancers, lambdas, etc etc.
- 10~15 dias explorando exemplos de aplicações reais. (Por exemplo, como a gente faria pra clonar o twitter, e conseguir lidar com a quantidade de usuários que eles lidam?$
- por fim, talvez um side project, ou umas mock interviews. Falta tempo até lá eu decido.
E agora, sendo bem sincero, eu faço o conteúdo pq me obriga a estudar mais a fundo pra não passar tanta vergonha, e o processo solidifica bastante o conhecimento pra mim. Eu tenho muito mais interesse no conhecimento do que em qualquer entrevista. Nem sei se nos próximos anos eu vou fazer alguma entrevista, espero que não.
Senior level is about experience
if you want to get faster to the Senior level you need to have more variety of experience in a shorter time
you can get this working in a small startup growing faster
you can also get this by leading products/projects and teams
✨ SAIU A RINHA DE FRONT END ✨
Desafio: Construa uma JSON tree-viewer que rode inteiramente client side e carregue o maior JSON que vc conseguir, dentre os disponibilizados por nós. A SPEC completa do desafio vc acessa no link abaixo. Detalhes na thread
https://t.co/4Eeo0Cltcd
na minha squad tem um dev que ama cybersecurity e até fez pós nisso, ele tirou uns dias pra fazer um pentest de uma API nossa e o resultado foi um artigo de 30 páginas com vulnerabilidades inimagináveis kkkkkk
Story time.
A CTO of a company calls you. They just migrated from Heroku to AWS on EKS.
He's happy with the migration but wants you to build Heroku's "Ephemeral Preview Apps" on Kubernetes.
You know you can use ArgoCD here, but you're in for some surprises and complications!
mtas vezes vc terá 2 opções ao resolver um problema
1. resolver de uma maneira confortável, que vc já sabe, mas que não é tão correta assim
2. correr atrás da melhor maneira de fazer, aprender on the fly
sempre que possível, escolha a 2. não deixe seu cérebro te convencer da 1
My coding journey so far:
◆ March 2020: Started learning how to code in the pandemic. Spent 60-70h a week learning & building for a few months.
◆ May 2020: Changed my college major from electrical to computer engineering
◆ June 2020: Landed a remote React internship, learned a ton
◆ June 2021: Graduated from college with a few CS classes (mostly EE classes and internships)
◆ July 2021: Landed my first developer advocate job from a Twitter DM and moved to San Francisco to work for a 4 person YC startup
◆ August 2021: Laid off after 7 weeks and stuck with an expensive lease + at risk for needing to leave the US if I didn't find a job soon
◆ September 2021: Interviewed like crazy for a month with ~20 companies, landed 5 offers, and accepted a job at Vercel
◆ August 2022: Promoted to senior developer advocate
◆ September 2023 (this month): Crossed 2 years at Vercel
Lots of ups and downs and lots of hard work, but it's been a fun 3 years. I've also been shipping around 10 projects a year over the last few years just to become a better engineer. Have never looked back since learning how to code – it's truly changed my life.
Saí descabelada 00h de preto como sempre, vagando pelo bairro, procurando minha gata que fugiu. Um engraçadinho "ô princesa, tem medo de andar na rua sozinha de madrugada não?" E eu meti a resposta que vi num vídeo um dia: "eu tinha, quando eu era viva 🙂"
Maluco VAZOU kkkk a+
THIS is impressive engineering.
Take a mature ecosystem and bring performance and developer experience improvements that should not be possible: thus getting everyone’s attention & rocking the status quo.
Bun looks interesting & exciting. What a launch:
https://t.co/pyTIdEnBCA
What I've seen very frequently: engineers discussing software architecture decisions, debating about them, looking at tradeoffs, costs etc.
What I rarely see: discussing business growth plans *as a the basis* of architecture decisions to be made.
Even though they are connected!