Sign in

William ➔ Okano

@okano.dev
303 followers 136 following 236 posts

💻 Senior Software Engineer 📍 Berlin, Germany ✖️ @japonesdev 🇧🇷🛫☁️☁️🛬🇩🇪🇺🇸🇦🇷🇵🇹🇯🇵🇮🇹🇨🇭🇸🇪🇵🇱🇸🇬🇫🇷🇨🇴🇬🇧🇨🇿 The views expressed here are my own and do not necessarily reflect my employer's.

PostsRepliesMedia
William ➔ Okano @okano.dev · 05/01/2025
Ninguém tá puro não, ninguém tá puro não - Mag
000
William ➔ Okano @okano.dev · 05/01/2025
Bsky ainda tá vivo pra bolha dev ou geral voltou pro Xwitter?
230
William ➔ Okano @okano.dev · 27/10/2024
Purity and immutability by default, lazy evaluation, monads and monadic composition, pattern matching with destructuring and guards, higher kinded types, lenses, algebraic data types, higher rank polymorphism. ChatGPT kkkkk
000
William ➔ Okano @okano.dev · 27/10/2024
Mudou pra SP pra trampar no Santander?
110
William ➔ Okano @okano.dev · 24/10/2024
“No break” de 8 horas vai depender do seu consumo. EcoFlow talvez te atenda, mas custa umas 3 pernas esquerdas
000
William ➔ Okano @okano.dev · 19/10/2024
Tô ligado mano.
010
William ➔ Okano @okano.dev · 19/10/2024
Mas não me entenda errado, eu concordo que caching é uma parte super importante da programação dinâmica.
010
William ➔ Okano @okano.dev · 19/10/2024
Cara, eu concordo pq programação dinâmica faz uso intensivo de cache, mas reduzir a isso é meio falacioso pois ignora a parte de dividir o problema em problemas menos e partir deles resolver o todo, seja top-down ou bottom-up. Entendi que isso entra no basicamente, mas meio que discordo.
210
William ➔ Okano @okano.dev · 16/10/2024
010
William ➔ Okano @okano.dev · 16/10/2024
Cartão do convênio é massa mesmo
000
William ➔ Okano @okano.dev · 16/10/2024
🤣 pois é, montanha-russa de emoções
100
William ➔ Okano @okano.dev · 16/10/2024
Estava no médico na Alemanha hoje e escutei o famigerado barulho de conexão discada. Em questão de infra, especialmente pra telecomunicações, a Alemanha está atrasada mesmo. Não ouvia isso tem fácil uns 18 anos.
210
William ➔ Okano @okano.dev · 16/10/2024
Headline bem alarmista. Achado bem daora o que eles fizeram, mas só reforçaram o que muita gente já sabia.
010
William ➔ Okano @okano.dev · 08/10/2024
Feliz aniversário Cakes Faz 🎉🥳🎂🎈🎊
110
William ➔ Okano @okano.dev · 07/10/2024
Pois é, o cara é pirado, meteu um fake news nos 45 do segundo tempo, suicídio politico 🤣
000
William ➔ Okano @okano.dev · 07/10/2024
Bah, achei que tinha sido bloqueado pq tinha falado de Marçal no segundo turno e fui ver os blocks e bloqueou eu, um labeler de harry potter e a pessoa que criou o labeller.
000
William ➔ Okano @okano.dev · 07/10/2024
LOL, tomei meu primeiro block no céu azul. Será que foi por que comentei que achava que no segundo turno daria Boulos vs Marçal? LOL Galera ta insana, celoko cachorreira.
100
William ➔ Okano @okano.dev · 06/10/2024
Gostei da dublagem na real.
000
William ➔ Okano @okano.dev · 06/10/2024
Fico chocado pq conheço uma galera de São Paulo falou que o Nunes foi um cone e não fez porra nenhuma no mandato dele e o maluco ainda ta na frente kkkkk. Eu genuinamente achei que daria Boulos vs Marçal no segundo turno, mas aparentemente a galera gosta de votar em quem não faz nada. 😅
110
William ➔ Okano @okano.dev · 06/10/2024
Tinha pensado em fazer um labeler de Harry Potter, mas já fizeram antes de mim. Segue o link pra quem tiver interesse bsky.app/profile/sort... #bolhatech
bsky.app
013
William ➔ Okano @okano.dev · 06/10/2024
Cabô já, Nunes vs Boulos segundo turno. Nunes vai ganhar disparado 😅
000
William ➔ Okano @okano.dev · 04/10/2024
Concordo, inclusive Skeetei sobre isso ontem, mas com foco em entrevista. Não adianta sair cuspindo termos se vc não sabe como eles funcionam “de verdade”. Fica parecendo que TI é mágica “ahh, só botar um load balancer, cachê com redis e rodar num kubernetes que escala se o banco for replicado” 🤣
010
William ➔ Okano @okano.dev · 04/10/2024
Galera geralmente diz pra não ter amor por empresa, mas eu tenho um carinho especial, foi um época muito boa pra mim, pude trabalhar com tecnologias fodas e pessoas fodas. Só sai pq eu tava saindo do Brasil.
120
William ➔ Okano @okano.dev · 04/10/2024
Já li Zup no perfil já dei follow pq deve ser gente boa hehehe
120
William ➔ Okano @okano.dev · 04/10/2024
Pago esse teste aí ou free? Manda pra nós aí na moral na humildade. Meu inglês é um a merda e deu bão, C1/C2 então é sucesso demais moça
000
William ➔ Okano @okano.dev · 04/10/2024
Redis é tipo HashMap em Leetcode kkkkkk, joga lá no meio que dá certo 🤣🤣🤣
110
William ➔ Okano @okano.dev · 04/10/2024
cc @samsantosb.bsky.social #bolhatech #bolhadev
012
William ➔ Okano @okano.dev · 04/10/2024
Postgres é pau pra toda obra mesmo Relacional Documento (usando JSONB) 👀 Timeseries (timescale) Spatial (postgis) Negócio é violento hahaha Zoeiras (nem tanto) a parte, saiu um vídeo recente (de muitos) sobre como notion escalou o pg deles. O tópico antigo parece, mas o vídeo em si é "novo".
youtube.com
How Notion Scaled to 100 Million Users Without Their Database Exploding
YouTube video by Kiki's Bytes
010
William ➔ Okano @okano.dev · 04/10/2024
Eu meti uns migués lá com hop adicional em redis e tal, mas não sabia se era o jeito "recomendado", mas deu bão, pode não ter sido a melhor resposta, mas convenceu o entrevistador hahaha
110
William ➔ Okano @okano.dev · 04/10/2024
I'll still use as learning material tho, it's interesting nonetheless.
000
William ➔ Okano @okano.dev · 04/10/2024
LOL, maybe not so much anymore (I mean, it will still help me). I was planning to do a labeler based on Hogwarts houses hahaha, but you already did. Kudos
100
William ➔ Okano @okano.dev · 04/10/2024
Acho que a maioria do codebase deles é ruby, mas posso estar enganado. Mas sim, eu gostei muito do formato, achei diferente. Geralmente tem "take home challenge", "leet code"/"pair programming", "system design", comportamental Fugiu um pouco do padrão
010
William ➔ Okano @okano.dev · 04/10/2024
Replicação: - Vantagens e desvantagens - Problemas que podem surgir com replicação (não é bala de prata) - Tipos e técnicas de replicação de dados Sharding e partioning: - O que é? - Como implementar? - Partitioning e sharding key? - Cuidados e mudanças na sua aplicação pra poder usar isso.
010
William ➔ Okano @okano.dev · 04/10/2024
Ou então pra redis: - Por que ele é rápido, mesmo sendo single thread? - Vantagens de ser single thead? - Alta disponibilidade - Resiliencia - Como funcionar o sharding e adicionar mais nós
100
William ➔ Okano @okano.dev · 04/10/2024
Por exemplo: - Load balancer: quais algoritmos de load balancing existem? Obviamente não precisa saber todos, mas round robin, stick session, least connection, etc, seria interessante conhecer, e quando usar eles.
110
William ➔ Okano @okano.dev · 04/10/2024
Outra dica sobre System Design Interview que é meio óbvia, mas não adianta sair jogando termos aleatórios: - Load balancing - Redis - Replicação - Sharding O entrevistador pode, e provavelmente vai, perguntar como isso funciona por debaixo dos panos, e tu pode se queimar com ele.
4234
William ➔ Okano @okano.dev · 04/10/2024
Uma parada interessante é que eu estava fazendo várias entrevistas em simultâneo, e sempre achei que meus conhecimentos eram suficientes pq os designs geralmente são sempre web com rest. Uma das empresas pediu em websocket e eu nunca trabalhei com isso.Não tinha certeza boas práticas pra escalar ws
110
William ➔ Okano @okano.dev · 04/10/2024
Agora sobre o lance de go, faz quase 2 anos que trabalho com isso, mas sinceramente nunca usei, nem precisei, de nada "avançado" até agora, então essas coisas que são "terça-feira" pra qualquer godev, pra mim era "novidade" pq nunca tinha usado e feito na prática.
110
William ➔ Okano @okano.dev · 04/10/2024
Mas obviamente eu não tinha dados pra comprovar, fui no feeling. Wrong decision hahaha. Obviamente experiencia conta, mas numa empresa opensource com milhões de usuários, as vezes vc precisa de evidencia e não de "gut feeling", saca? Mas assim, o processo foi bem legal, pena que deu ruim pra mim
110
William ➔ Okano @okano.dev · 04/10/2024
No meu caso era uma mudança "simples", mas tinha tanta coisa pra discutir que meu review ficou incompleto e eu fui percebendo isso na hora da sabatina, por exemplo, eu não fiz testes de benchmark, e um dado momento ele me perguntou se a adição de concorrencia faria sentido. Eu respondi que sim
110
William ➔ Okano @okano.dev · 04/10/2024
Daí você submete o review e fala que terminou, eles vão marcar uma reunião com você pra discutir sobre o review. Mas obviamente eles vão perguntar sobre o código original, se vc entendeu ele todo, se vc entendeu a mudança, o que vc gostou, não gostou, o que você faria de diferente, problemas, etc
110
William ➔ Okano @okano.dev · 04/10/2024
Sobre o processo @jhonylucas74.bsky.social , era pra uma vaga de go (mas a maioria das coisas lá é ruby). Infelizmente eu bombei rápido, mas o processo era, eles te mandam um MR pra tu revisar, no meu caso estava adicionando uma feature nova. E eles pedem pra tu fazer como se fosse na vida real
110
William ➔ Okano @okano.dev · 04/10/2024
Pacote super pequeno, simples, focado num problema. Geralmente a galera do go acaba evitando ficar importando pacotes pra tudo, mas achei de boa.
110
William ➔ Okano @okano.dev · 04/10/2024
No caso eu poderia fazer usando múltiplos canais, para erro, usar select pra interromper caso erro, etc, mas eu vi que muita gente usar o errgroup, por exemplo. golang.org/x/sync/errgr... Não faz parte da stdlib, infelizmente, mas seria fácil de replicar, e ainda bem que é razoavelmente utilizado.
golang.org
The Go Programming Language
120
William ➔ Okano @okano.dev · 04/10/2024
Então eu dei uma boa revisada em controle de concorrencia com go, padrões de concorrencia (fan-in/merge, fan-out/worker, pipeline), especialmente num problema que percebi na mudança, que antes o código era fail fast, e agora ele só "logava" o erro. Como gerenciar erros entre múltiplas go rotinas
110
William ➔ Okano @okano.dev · 04/10/2024
Cara, não foi exatamente de novo, mas eram conceitos que eu não tava usando muito na real, mas por exemplo, uma das coisas que me cobraram, mas que eu não sabia fazer era benchmark em go, o package testing prove benchmarking nativo. O exercício era analisar um MR adicionando concorrencia numa feat
110
William ➔ Okano @okano.dev · 04/10/2024
Interessante, isso vai me ajudar
120
William ➔ Okano @okano.dev · 04/10/2024
Agora que terminei todos os meus processos de entrevista posso finalmente focar em escrever um bot pra esse rede social. Será que já passou o hype e eu perdi o timing? Me dê dicas aí do que vocês acham que não tem e gostaria que tivesse e talvez um bot ajudasse. Custa nada perguntar 🤷‍♂️ kkkkkkk
000
William ➔ Okano @okano.dev · 04/10/2024
cc @samsantosb.bsky.social @sseraphini.bsky.social #bolhatech #bolhadev
012
William ➔ Okano @okano.dev · 04/10/2024
Obviamente isso não é uma lista exaustiva, tem muito mais coisa pra vc estudar, design de API, protocolos de comunicação, caching, tipos de bancos de dados, etc. Saber dizer não sei parece zoeira, mas o entrevistador vê com bons olhos quem não tenta enrolar no que não sabe.
131