Rock the JVM Profile Banner
Rock the JVM Profile
Rock the JVM

@rockthejvm

8,495
Followers
224
Following
291
Media
1,852
Statuses

Teaching #Scala , #Kotlin , #Spark , #Flink and tech on the JVM. 📹 Videos at 🔖 Articles at

Joined November 2019
Don't wanna be here? Send us removal request.
Pinned Tweet
@rockthejvm
Rock the JVM
1 month
🚨 New course: Kotlin Coroutines and Concurrency 🚨 Come write 2000 lines of code with me and learn the ins and outs of concurrency with #Kotlin : Read more for details and deals 👇 So who is it for? This course is for Kotlin developers who need to
1
6
38
@rockthejvm
Rock the JVM
2 years
Which companies are using #Scala ? Here's a starting list for you: LinkedIn Twitter Apple Adobe Netflix Airbnb Verizon Spotify Disney Streaming Databricks Microsoft - yes, trained a team there Here Maps Intuit Samsung Tesla Stripe Zalando Uber LEGO - yes, that LEGO
22
50
269
@rockthejvm
Rock the JVM
2 years
Backwards: - The technical merit of #Scala is _the_ reason why Twitter works well as a distributed system - Scala is older than Go, and Twitter is not the only example in its track record "Hipster language"? Try your first 100 lines, you'll love it
@amasad
Amjad Masad
2 years
Twitter should rewrite the Scala parts in something with a proven track record like Golang and definitely don’t get tempted to try another hipster language. Language success is impossible to predict and can’t be chosen merely on technical merit (they’re social constructs)
95
13
404
11
20
227
@rockthejvm
Rock the JVM
3 years
Just finished a live 2-day #Scala training session with Microsoft (!). Apparently they needed it for Spark. They had no idea what Scala is capable of. Left the training blown away.
10
14
204
@rockthejvm
Rock the JVM
9 months
Scala
@ccccjjjjeeee
Christopher Ehrlich
9 months
Which technology is this?
Tweet media one
871
70
1K
6
19
204
@rockthejvm
Rock the JVM
2 years
Folks, get your act together. This was #Scala 15 years ago. Scala needs some more serious marketing.
@GavinRayDev
Gavin Ray
2 years
@BrianGoetz Genuine snippet of code from today -- if you'd have told me that this was Java, 5 years ago, I'd have told you to stop taking the piss. Just brilliant, I'm in awe.
Tweet media one
17
50
337
6
31
194
@rockthejvm
Rock the JVM
1 year
Play Framework is back in business! After 4 years with no major release, it's about to ship 2.9.0 with support for the latest JDK and #Scala 3, then will release 3.0 soon after, with Pekko replacing Akka
@playframework
Play Framework
1 year
The Play 2.9.0 Release Candidate is now available! 🎉 We are almost there! Thank you to EVERYONE involved making this happen! 🙏🥳
7
41
175
3
34
194
@rockthejvm
Rock the JVM
10 months
Learning #Scala will give you foundational, transferrable skills, even if you end up writing something else. Very few languages are this powerful.
4
36
194
@rockthejvm
Rock the JVM
11 months
#Scala is still an underrated language, even as other languages copied some of its features over time. It's even more underrated for frontend dev - I'm far more productive with Laminar or Tyrian in ScalaJS than any other JS-native framework.
9
34
184
@rockthejvm
Rock the JVM
2 years
🚀 IT HAS ARRIVED! 🚀 Introducing... The Typelevel Rite of Passage - a product-based course in #Scala 3 with the Typelevel stack: What we'll build, what to expect and deals - read more 👇
6
32
169
@rockthejvm
Rock the JVM
2 years
A big #Scala project-based course is coming soon
9
5
176
@rockthejvm
Rock the JVM
3 years
OMG OMG I'm there in @odersky 's recommendations list!
@SethTisue
Seth Tisue
3 years
if-you’re-new-to-Scala learning materials recommendations from @odersky
0
25
80
9
3
166
@rockthejvm
Rock the JVM
2 years
The ZIO 2.0 course is here! 🚀 Master pure functional programming with one of the hottest tools in the #Scala world: What's inside, what to expect and deals - read below 👇
5
42
166
@rockthejvm
Rock the JVM
2 years
Tweet media one
4
22
158
@rockthejvm
Rock the JVM
1 year
The main selling point of #Scala now is effect systems, which don't have an equal in other languages. Powerful, safe, fast, scalable, readable and testable software.
13
24
156
@rockthejvm
Rock the JVM
1 year
#Scala is not a "better Java". It's a completely different beast, with huge unused potential.
10
20
144
@rockthejvm
Rock the JVM
4 years
Monads are monoids in the category of endofunctors - a #Scala 3 journey, tweet-size, no psychobabble Read on 👇
4
32
144
@rockthejvm
Rock the JVM
4 years
Here's a 2021 resolution for all developers: Try #Scala for a day.
6
24
137
@rockthejvm
Rock the JVM
3 years
As a celebration to the #Scala 3 launch, here's a thread with all the material I've published so far on Scala 3: 👇
3
25
135
@rockthejvm
Rock the JVM
2 years
Finished recording. 35 hours, jam-packed. This course is 3x longer than the biggest Rock the JVM course, and 10x more important.
11
2
133
@rockthejvm
Rock the JVM
2 years
Pure functional programming is 100% compatible with blazing-fast performance.
7
6
136
@rockthejvm
Rock the JVM
3 years
A language close to what I posted for April Fool's day last year, except it's very real: - Scala-like syntax - first-class ADTs - first-class type classes - pattern matching - higher-kinded types - polymorphic effects - declared purity - runs on the JVM
8
25
127
@rockthejvm
Rock the JVM
3 years
Scala has many features. Java copies a few. Then Scala brings many new features. Then Java copies a few more. #Scala is the adventurer. #Java is the conservative. One learns from the other. No loser, only winners.
2
19
132
@rockthejvm
Rock the JVM
2 years
The difficulty of learning FP comes from everything you have to unlearn.
10
16
131
@rockthejvm
Rock the JVM
3 years
Had something more fun to show last week in #Scala , but suddenly nothing was fun anymore. The Ukraine conflict put a pause on Rock the JVM's ongoing work over the last few days. Some updates: 1/
10
12
126
@rockthejvm
Rock the JVM
4 years
#Scala is not just "a better Java".
4
11
122
@rockthejvm
Rock the JVM
1 year
Make #Scala adoption irresistible by using Atomic Habits: 1. Make it obvious. Show people compelling results built with Scala, so much so that it's impossible not to get their attention. A few years ago, @Akka , @ApacheSpark , @PlayFramework and @Finagle built such powerful
5
30
126
@rockthejvm
Rock the JVM
2 years
Reading an imperative program, you need to keep internal state in your mind. Reading a functional program, you only need to keep types in your mind.
9
23
124
@rockthejvm
Rock the JVM
1 year
Preparing a new #Scala "black magic" course with the most powerful and esoteric features of the language. Topics include - macros and metaprogramming - type class derivation - type-level programming - advanced type system concepts What else would you like to see?
8
9
121
@rockthejvm
Rock the JVM
4 years
#Scala is not just a language. By learning Scala, you learn to think differently.
3
23
121
@rockthejvm
Rock the JVM
2 years
Achievement of the day: a Rock the JVM student just merged their first (non-trivial) PR in Cats core!
4
5
122
@rockthejvm
Rock the JVM
3 years
After learning #Scala , chances are low that you'll go back to anything else. After learning effects, chances are low that you'll go back to regular Scala.
5
10
122
@rockthejvm
Rock the JVM
2 years
Learn #Scala because it will help you grow as an engineer. The mental clarity, exciting work and high-paying jobs will come as a byproduct of your new skills.
4
11
120
@rockthejvm
Rock the JVM
2 years
Unless @elonmusk retains it, there is now some badass #Scala talent on the market.
2
9
117
@rockthejvm
Rock the JVM
3 years
Be kind to folks maintaining OSS.
1
6
117
@rockthejvm
Rock the JVM
8 months
New long-form video! How to Write a Full-Stack #Scala application with the Typelevel stack: We'll cover - a database module with Doobie - a server with http4s - code organization on the backend - a small frontend with Tyrian doing a backend call
5
25
112
@rockthejvm
Rock the JVM
3 years
Just learned this from one student: In their company, the Rock the JVM #Scala courses are officially part of the onboarding process for team members with no prior experience. After a few days, they're ready to contribute. 💪
3
2
109
@rockthejvm
Rock the JVM
3 years
Developers will spend $4000 on a new computer because "it makes me more productive and saves me time" ... but then also NOT spend $85 on a course that makes them more productive and saves them time because they'd rather spend 400 hours learning it themselves
15
4
109
@rockthejvm
Rock the JVM
9 months
#Scala has been doing an amazing job at type systems for 20 years, no “AI” needed
@elonmusk
Elon Musk
9 months
@MarkovMagnifico Done right, a compiler should be able to figure out type automatically. It’s not that hard. Not that it will matter much in the AI future.
247
87
1K
5
7
108
@rockthejvm
Rock the JVM
2 years
#Scala 's for-comprehensions were designed to be a "hook" for beginners, who first think they're loops. They're not. But what are they? This combinator (as a concept) probably needs its own word.
Tweet media one
3
16
106
@rockthejvm
Rock the JVM
2 years
After years of hard work, #Kotlin is hitting a sweet spot as a mainstream language.
6
7
103
@rockthejvm
Rock the JVM
2 years
Dynamically typed languages only work because you already have the types in your head.
3
6
106
@rockthejvm
Rock the JVM
3 years
Donated $1000 to the Ukraine Humanitarian Fund, managed by the UN. Rock the JVM is a small (1-person) Romanian 🇷🇴 business. Ukraine 🇺🇦 is our neighbor. 3/
3
6
109
@rockthejvm
Rock the JVM
3 years
The Cats Effect 3 course is here! 🚀 Become a badass #Scala engineer with pure functional programming, composable and high-performance code! What's inside, what to expect and launch discounts - read below 👇
4
17
107
@rockthejvm
Rock the JVM
4 years
On covariance and contravariance. Picture source:
Tweet media one
2
23
105
@rockthejvm
Rock the JVM
3 years
Code review be like: 15 lines - 10 comments, requesting changes 1500 lines - lgtm
1
10
106
@rockthejvm
Rock the JVM
2 years
JDK 19 structured concurrency and virtual threads are both proof that #Scala has been doing it right.
3
10
104
@rockthejvm
Rock the JVM
2 years
Oh, you want a #TypeScript vs #Scala duel on type-level programming?
11
8
105
@rockthejvm
Rock the JVM
2 years
Maybe unpopular opinion: FlatMap is the single most important function in FP. Our natural language vocabulary being poor at expressing extremely precise concepts in single words, let this word be flatMap, instead of borrowing words that mean something else.
12
6
107
@rockthejvm
Rock the JVM
3 years
One day of thanks is not enough. Hats off to @odersky & team. What you've made is not just a tool. #ScalaThankYou
1
9
107
@rockthejvm
Rock the JVM
2 years
New blog post! The Ultimate Guide to #Java Virtual Threads: - how to create virtual threads - how virtual threads work - cooperative scheduling - what "good practice" means now with virtual threads - JDK internals - code examples throughout Link:
1
17
105
@rockthejvm
Rock the JVM
3 years
One of my students just got their first job, another landed at Apple. It's a good day for my community at Rock the JVM 💪
3
0
102
@rockthejvm
Rock the JVM
1 year
The backend of X, the soon-to-be everything app, is written in #Scala .
4
8
104
@rockthejvm
Rock the JVM
4 years
Dear Santa, can you please make all developers in the world write 20 lines of #Scala to see if they like it? Thanks.
7
11
98
@rockthejvm
Rock the JVM
2 years
Recording of the new project-based course in full swing. The project is small, but not a toy; something real. This is not just a course. It's an experience in software dev, felt live. Can't wait to show it to you.
3
5
102
@rockthejvm
Rock the JVM
2 years
If Twitter bet on #Scala when it had almost zero adopters and became the powerhouse it is, you can bet on Scala today.
@vkostyukov
Vladimir Kostюkov
2 years
A few takes on how hardcore @TwitterEng has been. Let's talk about @finagle and Scala for a minute.
17
195
1K
3
15
98
@rockthejvm
Rock the JVM
1 year
Companies say that hiring #Scala developers is hard. Developers say that finding #Scala jobs is hard. Are both true?
30
7
98
@rockthejvm
Rock the JVM
3 years
Recently held a company training on #Spark optimization with Python. The first optimization tip: ditch Python, use #Scala .
6
5
99
@rockthejvm
Rock the JVM
11 months
How to build a load balancer in #Scala with http4s and Cats Effect in 100 lines of code: - how a load balancer works - how to replicate an app - how to redistribute calls between many replicas - how to return correct responses to users - how to cycle between backends
3
25
98
@rockthejvm
Rock the JVM
2 years
JavaScript: ["10", "10", "10", "10"].map(parseInt) = [10, NaN, 2, 3] OMG 🤦‍♂️ this runs the internet?! #Scala , wake up! You shouldn't compile to JavaScript, JavaScript should compile to you! (example from @li_haoyi )
5
15
100
@rockthejvm
Rock the JVM
1 year
A big reason why Rock the JVM exists - comments like this: "I started a new job that uses Scala and your videos have helped me tremendously. Thank you"
Tweet media one
2
1
98
@rockthejvm
Rock the JVM
3 years
Preparation for the #Akka Typed Essentials course is complete. Starting recording on Monday. It's been long overdue.
6
5
96
@rockthejvm
Rock the JVM
1 year
#Scala needs a punchline. Here's one I use whenever someone asks why they should write Scala: Scala is a super expressive language that allows you to write complex systems quickly and safely. You'll also have a lot of fun doing it!
1
11
95
@rockthejvm
Rock the JVM
3 years
Functional programming is in an excellent position to dominate data-intensive applications in the years to come.
1
6
92
@rockthejvm
Rock the JVM
2 years
To be clear, this is the _actually_ weird `for` structure in a programming language: for (int i = 0; i < 10; i++) { } It's funny so many of us start with this one, only to unlearn it later
9
6
95
@rockthejvm
Rock the JVM
10 months
🚀 ZIO Rite of Passage is now live! 🚀 Write a full-stack product in #Scala 3 with the ZIO stack in one of the biggest courses at Rock the JVM: The Rock the JVM Companies Board, aka - "Trustpilot for Scala companies, with AI" Ain't that a billion $$ startup? Seriously, this
3
24
95
@rockthejvm
Rock the JVM
10 months
MASSIVE article just landed on the blog: Practical type-level programming in #Scala - how to solve real-life problems with the most powerful features of the language: This article is the biggest yet on the blog... ...by 4x! 🤯 Enjoy!
1
22
91
@rockthejvm
Rock the JVM
2 years
New (massive) video! #CQRS with #Scala , #Akka and #Cassandra in a realistic scenario: In partnership with @DataStaxDevs
2
18
92
@rockthejvm
Rock the JVM
2 years
Learning #Scala gives you a different style of thinking and approaching code.
1
8
90
@rockthejvm
Rock the JVM
4 years
This year: - published 4 courses - started a blog (twice) with now 53 articles - started a YouTube channel, now with ~60 videos, 3.7k subs and ~20h of content - held the first Black Friday sale on the site - went from 2 to 750 followers on Twitter Thank you all! Have a big 2021.
2
1
87
@rockthejvm
Rock the JVM
2 years
Lesson #1 in functional programming: - instructions are executed - expressions are evaluated Think code as expressions, instead of instructions.
3
13
89
@rockthejvm
Rock the JVM
4 years
Stop speculating bitcoins and start writing some #Scala . Has solid returns.
1
4
87
@rockthejvm
Rock the JVM
2 years
In the final stretch recording the upcoming course. This thing is a beast, easily 2-3x bigger than the biggest course at Rock the JVM so far. The project feels less like a course and more like a rite of passage. Excited to show it to you soon!
6
2
88
@rockthejvm
Rock the JVM
2 years
New video! Scala type-level programming - a hardcore Tic-Tac-Toe, which you can use to impress your next interviewer:
3
10
88
@rockthejvm
Rock the JVM
2 years
What do you think of #Clojure ?
42
6
85
@rockthejvm
Rock the JVM
3 years
Before writing fancy, write something that works first.
5
13
87
@rockthejvm
Rock the JVM
10 months
I know next to nothing about marketing. My strategy is: If you like my work, tell your friends. If not, tell me.
9
7
84
@rockthejvm
Rock the JVM
1 year
The people and teams improving and maintaining #Scala , libraries and tooling (e.g. @scala_sbt , @scalameta , @IntelliJScala ) are doing monumental and (mostly) thankless work. A little thanks and maybe a PR on GitHub would go a long way
@rockthejvm
Rock the JVM
3 years
Be kind to folks maintaining OSS.
1
6
117
0
12
86
@rockthejvm
Rock the JVM
4 years
2021 is going to be a big year for #Scala .
3
8
81
@rockthejvm
Rock the JVM
2 years
#Scala has the potential to be be a full-stack powerhouse. What's missing?
35
8
86
@rockthejvm
Rock the JVM
2 years
It's out, folks! Guess what's coming next... 😎
@jdegoes
John A De Goes
2 years
Ladies and gentlemen, I am pleased to give you... ...ZIO 2!!! 🎉🕺🎇 The future of functional programming has arrived. Read more now 👇
14
100
377
8
10
85
@rockthejvm
Rock the JVM
2 years
Will be speaking at @scalarconf about end to end, full-stack apps in #Scala 3: - how Typelevel libs work together - how to design full-stack apps for no headaches - how to add features fast - how to keep the same mental model for both backend and frontend - building, deploying
@scalarconf
Scalar Conference
2 years
We’re excited to welcome @rockthejvm as the next #Scalarconf speaker! 😀 Daniel will be talking about a blueprint for building end-to-end, full-stack apps in Scala 3 using the Typelevel stack. Join us! 🎟️ #scala #functionalprogramming #conference2023
Tweet media one
1
6
36
0
9
81
@rockthejvm
Rock the JVM
1 year
Started recording the ZIO Rite of Passage. Probably going to be as big a course as the other one. #Scala
3
9
83
@rockthejvm
Rock the JVM
2 years
Don't use #Java habits to write #Scala code, because you'll get the worst of both.
3
11
83
@rockthejvm
Rock the JVM
1 year
Will speak at @scaladays in Madrid about effective learning and teaching!
Tweet media one
1
8
85
@rockthejvm
Rock the JVM
2 years
Advice for Java/Python folks touching a Scala code base "for 5 minutes to fix a bug": Those 5 minutes turn into 5 days searching for a hack. You need to think differently. Instead, spend 5 hours learning the basics.
5
11
78
@rockthejvm
Rock the JVM
1 year
#Scala fans rejoice, Pekko 1.0 is out!
@ApachePekko
Apache Pekko
1 year
Apache Pekko 1.0.0 has been released, see and for more details. Its been a long road, many thanks to everyone who participated in this!
4
67
186
1
8
84
@rockthejvm
Rock the JVM
3 years
Learning #Scala has a lasting positive impact on your thinking as an engineer, long after (if at all) you stop writing Scala.
2
10
84
@rockthejvm
Rock the JVM
1 year
#Scala error: "Covariant type A occurs in contravariant position" #Kotlin error: "Type parameter A is declared as 'in' but occurs in 'out' position" @scala_lang , you can do this too! Make errors easy to understand and you'll attract people!
@rockthejvm
Rock the JVM
1 year
Make #Scala adoption irresistible by using Atomic Habits: 1. Make it obvious. Show people compelling results built with Scala, so much so that it's impossible not to get their attention. A few years ago, @Akka , @ApacheSpark , @PlayFramework and @Finagle built such powerful
5
30
126
9
15
83
@rockthejvm
Rock the JVM
3 years
Monads have a hidden property: once somebody understands them, they have the impulse to write a tutorial about them.
5
2
84
@rockthejvm
Rock the JVM
3 years
#Scala is worth learning not because it's hot, but because it's relevant.
5
14
86
@rockthejvm
Rock the JVM
2 years
Too many programmers argue too much about syntax and too little about ideas.
5
16
83
@rockthejvm
Rock the JVM
3 years
Refunded all purchases from Ukrainian 🇺🇦 students on the site over the last 30 days. You need that money more than anyone. Full access maintained, although it's quite clear that nobody in Ukraine is in the mood for Scala courses right now. 2/
2
3
83
@rockthejvm
Rock the JVM
3 years
You don't need to be a mathematician to write good functional #Scala .
3
7
81
@rockthejvm
Rock the JVM
9 months
It's hard to overstate how much mental burden the JVM has freed from the heads of developers.
5
10
83