Mateus Guimarães Profile
Mateus Guimarães

@mateusjatenee

Followers
5,275
Following
728
Media
984
Statuses
18,679

Software engineer, teacher and speaker. I mostly talk about programming and powerlifting. Sometimes. Free Lessons here 👉🏻

Joined September 2010
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
Pinned Tweet
@mateusjatenee
Mateus Guimarães
3 years
This is a little something I've been working on for the past week. It's called Magic Test and I'm very excited! Imagine if instead of manually writing your browser tests, you could simply click around and have a test generated for you? Check out the video 👇🏻 1/2
54
159
719
@mateusjatenee
Mateus Guimarães
1 year
Tweet media one
16
29
583
@mateusjatenee
Mateus Guimarães
2 years
Scaling Laravel to 100M+ jobs and 30,000 reqs/smin(pre-Octane) If you prefer to read this as a blog post: @JackEllis already wrote a very interesting blog on how Fathom Analytics scaled Laravel, but my story is about different.
19
114
466
@mateusjatenee
Mateus Guimarães
1 year
@jefersonstutz @ManoelSoares_ @VoeGOLoficial Meu amigo, se ela colocou no bagageiro é porque cabia.
29
1
338
@mateusjatenee
Mateus Guimarães
1 month
this is peak laravel
Tweet media one
13
5
335
@mateusjatenee
Mateus Guimarães
2 years
One thing we can *not* complain about in PHP land is our dependency manager. Light years ahead the tooling in many other ecosystems
8
35
274
@mateusjatenee
Mateus Guimarães
2 years
Escalando uma aplicação para >100M jobs diários e dezenas de milhares de requisições por minuto Nessa thread eu vou mostrar como escalamos uma aplicação usando um stack que muita gente rolaria os olhos: Laravel, Redis e MySQL. Só. Segue o fio 👇🏻 Cc @sseraphini
10
13
258
@mateusjatenee
Mateus Guimarães
6 months
I'm finally using XDebug and it's glorious
Tweet media one
33
9
226
@mateusjatenee
Mateus Guimarães
1 year
2
3
202
@mateusjatenee
Mateus Guimarães
3 years
I compiled a list of good videos/posts for Laravel and PHP developers. It's not completed but I'll add new tweets later. If you're working with Laravel and PHP, check this out — you might know some stuff already but I'm sure there are new things to learn here. Thread 👉
4
75
196
@mateusjatenee
Mateus Guimarães
8 months
@Marilei21645333 @acog_geek4ever @GustavRamski Tem, é só escolher não ser doador.
7
0
179
@mateusjatenee
Mateus Guimarães
11 months
@Gnerycv @startupdareal tenta passar mais de 90 dias e voltar
0
0
174
@mateusjatenee
Mateus Guimarães
1 year
If you don't know what Dependency Injection or Inversion of Control, here's a quick (literally less than 2 minutes) example!
8
31
172
@mateusjatenee
Mateus Guimarães
3 years
Eu tinha falado recentemente num grupo do Telegram que um dos motivos para eu não produzir muito conteúdo em português era a falta de apoio. Hoje no grupo Javascript Brasil fizeram um post perguntando sobre a Rocketseat e os comentários me deixaram bem triste.
22
4
167
@mateusjatenee
Mateus Guimarães
8 months
4
0
160
@mateusjatenee
Mateus Guimarães
8 months
1
0
156
@mateusjatenee
Mateus Guimarães
2 years
I love Laravel query scopes, but there are a few drawbacks: - You lose autocomplete/context - Things start to get confusing when you have a lot of them Here's how you can swap them with custom query builders:
Tweet media one
12
42
162
@mateusjatenee
Mateus Guimarães
2 years
Para quem tem medo de aplicar p/ vaga fora, vou contar uma historinha: No meio de 2016, recém-saído do ensino médio, eu simplesmente não conseguia nenhum emprego. Nem freela, nem emprego, nem emprego PJ, nada. Eu já tava gravando umas aulas em inglês, inclusive. cc @sseraphini
13
10
146
@mateusjatenee
Mateus Guimarães
1 year
Happy friday
Tweet media one
5
17
149
@mateusjatenee
Mateus Guimarães
3 years
Given you have a: - very legacy PHP project - mixed html/php files - lots of mysql_query calls throughout the app - no tests what is the best way to introduce modern practices, separate the views from the backend code and introduce an ORM without breaking what already exists?
51
20
141
@mateusjatenee
Mateus Guimarães
1 year
Tweet media one
5
7
135
@mateusjatenee
Mateus Guimarães
4 months
I first learned Laravel through Laracasts, in 2015! It’s super cool to be able to teach something there almost 9 years later. 🫡🫡🫡
@laracasts
Laracasts
4 months
New Laracasts series from @mateusjatenee is up! Modular Laravel A modular monolith offers a fantastic middle-ground between the simplicity of a traditional monolithic architecture, and some of the benefits you might encounter when using micro-services.
10
40
268
8
1
131
@mateusjatenee
Mateus Guimarães
1 year
@AdamRackis “Now we keep the backend AND the frontend code on the same file!”
2
2
129
@mateusjatenee
Mateus Guimarães
2 years
Let’s see how the service container works! The container’s job is to give you objects. When you request an object, it might do that in 2 ways (in Laravel, specifically): either by checking if what you requested is bound already, or by instantiating it.
Tweet media one
11
36
126
@mateusjatenee
Mateus Guimarães
2 years
I'm not too fond of repositories in Laravel as a decoupling mechanism, but I like them to centralize data retrieval. A cool thing is that you can still combine them with query scopes to get very readable methods.
Tweet media one
6
12
122
@mateusjatenee
Mateus Guimarães
1 year
Civilization if we could get rid of <?php and $ in variables in PHP
Tweet media one
25
5
121
@mateusjatenee
Mateus Guimarães
2 months
I hate searching for flights, so I decided to build my own CLI script 🤓. You give it the details, airline & an offset, and it'll fetch the cheapest 3 flights for each day in the period, in $ and air miles. Next step is comparing all airlines & multiple destinations!
Tweet media one
16
2
123
@mateusjatenee
Mateus Guimarães
4 months
One of the benefits of having proper data ownership between modules is that you get full autonomy. The "Learning" module owns all of its data... in turn, we get a much smaller, concise API. For example, instead of relating to a "global" User model, it relates to a much…
Tweet media one
8
9
119
@mateusjatenee
Mateus Guimarães
8 months
@aarondfrancis I say mysql
5
0
118
@mateusjatenee
Mateus Guimarães
1 year
One of the best things I've learned about software arch is being aware of and designating boundaries in software. Boundaries are hard to think of because they're so abstract; you don't have something you can physically see. (Brain dump ahead)
Tweet media one
4
26
118
@mateusjatenee
Mateus Guimarães
1 year
Me and the Laravel YT King @PovilasKorop
Tweet media one
1
2
116
@mateusjatenee
Mateus Guimarães
8 months
@lucas_montano Cada número está numa tabela diferente e fazem um join pra descobrir o cpf
5
0
109
@mateusjatenee
Mateus Guimarães
1 year
Whenever introducing automated tests to an existing codebase, I always like to start with "cheap, valuable tests". What I mean with this is: tests that are quick to be written, run fast, and provide lots of values in the long run. This one, for example 👇🏻
Tweet media one
2
15
106
@mateusjatenee
Mateus Guimarães
6 months
@marcogomes Qualquer relógio de quartzo vai ser mais preciso que um mecânico. Quem gosta de relógio mecânico compra pelo visual, complicações, etc — não precisão.
2
0
103
@mateusjatenee
Mateus Guimarães
15 days
@AkitaOnRails O vendedor não é trouxa, ele sabe que tá enrolando as pessoas.
1
1
98
@mateusjatenee
Mateus Guimarães
5 months
This is 🔥. Eloquent in steroids! Thanks for the idea @nicolaibaaring
Tweet media one
0
7
100
@mateusjatenee
Mateus Guimarães
2 months
Dream come true. See you all in Dallas 👊🏻❤️
@LaraconUS
Laracon US
2 months
New speaker announcements 🚨 Happy to welcome @kapehe_ok , @mateusjatenee , @jackmcdade , and Seb Armand to the Laracon stage. 🔥
3
6
66
26
4
97
@mateusjatenee
Mateus Guimarães
2 years
This is the best drug for every content creator in the education space 😊🥲
Tweet media one
2
1
92
@mateusjatenee
Mateus Guimarães
1 year
Hey @ThePrimeagen congrats on being casted in Yellowstone! You’re doing a great job
Tweet media one
5
3
92
@mateusjatenee
Mateus Guimarães
3 years
Hey folks! I had eye surgery so I'm a bit absent from here. Although it isn't as pretty/informative as I want it yet, I just released a new page for There are 21 videos on the pipeline already, so feel free to join now! 😁
5
21
91
@mateusjatenee
Mateus Guimarães
1 year
Adonis.js is very impressive but I don’t see a lot of JS folks talking about it. Why is that?
32
4
90
@mateusjatenee
Mateus Guimarães
5 months
@taylorotwell Glad to know Laravel is entering the guitar pedal game
4
1
90
@mateusjatenee
Mateus Guimarães
1 year
my superpower is seeing some new tech and saying no no no nope and not learning it
11
13
78
@mateusjatenee
Mateus Guimarães
10 months
Vi alguem falando que nao tem conteúdo dev bom em PT. Eh mentira. Eu posto pouco em português mas a comunidade dev BR não perde em nada pra gringa. Óbvio que tem menos conteúdo em geral — afinal, tem menos gente. Algumas pessoas que recomendo 👇🏻
3
9
88
@mateusjatenee
Mateus Guimarães
5 months
@ProjektGopher @reddskyy_ holy shit I hadn’t thought about that
0
0
86
@mateusjatenee
Mateus Guimarães
3 years
Here’s a thread with pretty much everything you need to know to start testing your apps. No YT videos, courses, blog posts, etc. This should be enough to get you on the right direction. 👇🏻
Tweet media one
3
29
83
@mateusjatenee
Mateus Guimarães
8 months
If I had to suggest one improvement you could make for maintainability I'd say use objects over arrays (hashmaps) in PHP. Arrays are untyped and you just have no idea about what is there. You can use array shapes and static analysis but IMO it's still not good enough.
Tweet media one
13
11
81
@mateusjatenee
Mateus Guimarães
3 years
🚨🚨 Giveaway 🚨🚨 I'll give away 3 licenses for 🙂 To participate, you just have to RT this tweet. No need to follow me. I'll announce the winners on December 28th! Good luck 🤘🏻
9
162
75
@mateusjatenee
Mateus Guimarães
3 years
And here's a complete browser test "written" in less than a minute! 2/2
3
3
76
@mateusjatenee
Mateus Guimarães
6 months
@joshbedo1 skill issue
0
1
74
@mateusjatenee
Mateus Guimarães
3 years
Hey folks, I'm planning to release "30 days of Laravel" – you get an e-mail, every day, with a video + additional written stuff. It's supposed to be something quick, easily digestible that you can watch/read on your lunch break.
7
8
77
@mateusjatenee
Mateus Guimarães
3 years
TDD is super powerful for stuff like this — I wrote 3 tests, one for each type of transaction, with the API I'd _like_ to have, and only after the tests I started writing the implementation. I don't do things like this all the time, but it really helps you think through things.
Tweet media one
3
9
74
@mateusjatenee
Mateus Guimarães
1 year
Everyone’s talks were great, but @aarondfrancis crushed it beyond what I could’ve imagined. Absolutely loved it
Tweet media one
4
5
75
@mateusjatenee
Mateus Guimarães
2 months
Has PHPStorm been extremely slow for anyone else? It's consuming 5GB of RAM and it can't even update the directories as files are moved.
56
1
76
@mateusjatenee
Mateus Guimarães
6 months
If you'd like to understand how the Laravel core is organized and an introduction to how things work, I recorded a video showcasing some of the basics:
6
15
74
@mateusjatenee
Mateus Guimarães
2 years
Super simple project I've been working every now and then. Surprisingly, every exchange I've tried didn't provide a good way to check PnL and recent purchases. Had to make my own instead of relying on an Excel sheet 😅
Tweet media one
8
3
75
@mateusjatenee
Mateus Guimarães
2 years
omg I did it. I am now an official PHP developer thanks @christophrumpel and @enunomaduro hopefully I'll learn how to use this in less than 6 months
Tweet media one
10
1
73
@mateusjatenee
Mateus Guimarães
6 months
I love Eloquent and something I missed was being able to persist an entire object graph, with its relations, in one go, so I made a package that does that: It's still a beta version and I just pulled what I had done in a PR to the core, so be careful!
Tweet media one
6
9
71
@mateusjatenee
Mateus Guimarães
9 months
@MedicoCub4no @FelippeRegazio Um taxista já me bateu quando eu estava *parado* no estacionamento de uma farmácia. É foda
0
0
70
@mateusjatenee
Mateus Guimarães
2 years
I sent out an email about scaling Laravel to 100M+ jobs and 30,000 reqs/min (in 2019), should I post it here as a 🧵thread or just share a blog post? I'd imagine threads has a bigger reach?
13
3
69
@mateusjatenee
Mateus Guimarães
2 years
@OgdenMorroww @leahculver @nicholasbraun Come on. That’s Greg the egg!
0
0
69
@mateusjatenee
Mateus Guimarães
3 years
No better feeling than this
Tweet media one
5
2
68
@mateusjatenee
Mateus Guimarães
1 year
Here's my 2 cents on the framework coupling drama: There's a lot of unwarranted fear regarding coupling; being tied to a framework might be perfectly okay and give you the needed firepower. There are thousands of Rails and Laravel shops doing completely fine being coupled to the…
6
5
69
@mateusjatenee
Mateus Guimarães
3 years
I'm a Laravel guy, but Ruby's so clean that sometimes it makes me want to try Rails for small projects
7
3
69
@mateusjatenee
Mateus Guimarães
2 years
@cajuinaoverflow Não só isso: os remetentes no “log” da direita não batem com o print na esquerda, e a formatação tá toda irregular (veja o nome do remetente nas 3 primeiras mensagens)
1
0
69
@mateusjatenee
Mateus Guimarães
1 year
@coproduto Dios mio @leocavalcante (o do Leo foi escrito antes)
Tweet media one
1
0
69
@mateusjatenee
Mateus Guimarães
5 months
I'm finding it very pleasant to use Eloquent this way. I get all the benefits of Active Record, and also some things I enjoy in repository-based approaches. These methods don't persist anything. They build the full object graph, and everything is saved in one go. 🔥
Tweet media one
Tweet media two
5
7
69
@mateusjatenee
Mateus Guimarães
2 years
Pessoal que trampa em Big Tech, o quão comum é ver gente sem faculdade por aí? Imagino que a absoluta minoria, certo? cc @realAIexandre @brunavvaz @hugaomarques
28
4
63
@mateusjatenee
Mateus Guimarães
2 years
We often use queues simply as a way to deliver a response to the client faster, but there are much more benefits. To me, one of the most important benefits is that horizontal scaling becomes so much easier — adding more servers (+ workers) = more firepower.
Tweet media one
4
7
62
@mateusjatenee
Mateus Guimarães
6 months
@VicVijayakumar He probably thought he’d score internet points. If Benioff offers me a job, even if I didn’t take it, I’d absolutely never burn that bridge. Plus this was ridiculous IMO
1
0
62
@mateusjatenee
Mateus Guimarães
7 months
What if we could add multiple classes into a single PHP file and also had a shorthand syntax for simple type classes? 🤔
Tweet media one
25
5
63
@mateusjatenee
Mateus Guimarães
1 year
How come people are saying PHP is back when it was never gone
4
6
61
@mateusjatenee
Mateus Guimarães
3 months
Paris
Tweet media one
Tweet media two
Tweet media three
7
0
62
@mateusjatenee
Mateus Guimarães
1 month
Integrating applications with 3rd parties is one of the most annoying things for most developers. Here's a very quick video on how I like to build my integrations to avoid coupling with the provider and make it super duper easy to test components that use said integrations!
0
3
59
@mateusjatenee
Mateus Guimarães
1 year
😁😁😁😁😁😁😁
@LaraconEU
Laracon EU
1 year
📣 Speaker Announcement We are happy to announce that @mateusjatenee will speak at #LaraconEU ​/Lisbon, 2023. 💬 And he will demonstrate how to "Scaling the Monolith". Does Laravel Scale? That is the question! 🤔 Get your ticket 👇
Tweet media one
4
12
50
13
1
58
@mateusjatenee
Mateus Guimarães
4 months
@FelippeRegazio @HenriqueSoldani @moehumano a mão invisível do mercado só existe quando beneficia alguém
0
1
55
@mateusjatenee
Mateus Guimarães
1 year
@AlexandreSWE Não. Infelizmente eu gosto de dinheiro mais do que eu não gosto de trabalhar.
2
0
55
@mateusjatenee
Mateus Guimarães
1 year
One of the best ways to understand the internals of frameworks is to build simple versions of their components. For example, building a router based on the Symfony router or a Container based on Laravel’s Container. I’ll record a video building a container today ✌🏻
7
2
56
@mateusjatenee
Mateus Guimarães
4 years
@florianfink @dhh Netflix, Spotify, Prime Video all have payment outside of the app and are there.
6
0
56
@mateusjatenee
Mateus Guimarães
5 months
Have you ever wondered how @laravelphp Eloquent works behind the scenes? In my latest video, we check how basic things like setting/getting properties and persistence work. Check it out and let me know what you think! An introduction to Eloquent internals
1
13
57
@mateusjatenee
Mateus Guimarães
30 days
One thing I really enjoy about not grouping things by type is that naming and figuring out where things to go stop being a problem. "Does that go into Services? Data? Actions?" is not a thing. The context is enough. Not for everyone, but I love it 🥂
Tweet media one
2
3
55
@mateusjatenee
Mateus Guimarães
12 days
If you're using Laravel Vapor, need Imagick and are on PHP 8.3, chances are you're having trouble because the PECL package is currently broken. Here's a Gist with the Dockerfile I'm currently using to get it working: Major thanks to @_Codito_ for…
1
10
55
@mateusjatenee
Mateus Guimarães
1 year
@devnic_ Faria tudo no banco mesmo, sem cache, sem Kafka, usaria polling pra atualizar os dados
2
0
53
@mateusjatenee
Mateus Guimarães
1 year
That PHP reddit thread is the result of someone learning a few SWE terms and deciding they are an absolute software master. I decided to give it a read and OP is just spitting a bunch of design “rules” that he doesn’t even know the meaning of. 😅
10
2
54
@mateusjatenee
Mateus Guimarães
2 years
I just released a new testing video on @laravelphp . I tried a new approach: making it very “hands on” — so no “why you should test”, “how to do TDD”, etc. I’m not sure I like it, but let me know what you think 😊.
1
8
52
@mateusjatenee
Mateus Guimarães
3 years
Twitter sometimes gives me a bit of anxiety. It feels like everyone's doing 5/6-figure course launches, thousands of MRR in a couple months, living the best life ever, etc. I'm sure I'm not the only one who thinks making money on the internet is hard 😅.
12
2
51
@mateusjatenee
Mateus Guimarães
6 months
@niagalves @sseraphini Gera hashes de todas as combinações e valida contra o hash no banco
2
0
49
@mateusjatenee
Mateus Guimarães
1 year
Tweet media one
2
0
50
@mateusjatenee
Mateus Guimarães
7 months
I just accidentally shaved my beard so there will be no videos for the next 8 weeks, I hope you all understand 🪦
14
0
49
@mateusjatenee
Mateus Guimarães
2 years
Happy week! Yesterday I rebuilt my blog from scratch in a couple hours using Laravel and Tailwind. Effortlessly set up using @laravelphp Forge. If you haven't read it yet, here's my last blog post (now in the new blog!)
6
4
45
@mateusjatenee
Mateus Guimarães
6 months
😂 Loved that title See y'all in Amsterdam!
@LaraconEU
Laracon EU
6 months
📣 new SpeakerAnnouncement please give power welcome to @mateusjatenee grab your 🔝 ticket here
Tweet media one
4
7
56
9
4
47
@mateusjatenee
Mateus Guimarães
5 months
Too much?
Tweet media one
10
2
47
@mateusjatenee
Mateus Guimarães
5 months
mermaid is so cool (i'm still learning)
Tweet media one
10
0
45
@mateusjatenee
Mateus Guimarães
16 days
A very common problem I see in *tons* of applications is not performing state change as a unit of work. It's important to ensure you don't have inconsistent data. In many cases, it simply means wrapping persistence within a database transaction.
Tweet media one
4
6
49
@mateusjatenee
Mateus Guimarães
2 years
Mesmo que não dê certo, você já vai treinando, vendo o que falta, se chegar em entrevista vai aprendendo a lidar com isso, etc. Não tem desvantagem. 😁
1
0
45
@mateusjatenee
Mateus Guimarães
10 days
If this tweet gets 1 like I’ll submit a talk to Laracon AU
4
0
48