Talk plan 1. Briefly what Scala is * OOP and FP * Multiplatform * Backed by academia, not corporations 2. IDEs * Intellij * How to install * Scala plugin (https://github.com/JetBrains/intellij-scala) * Pros (out of the box, familiar for Java devs/Pycharm users) * Cons (errors can be out of sync, non OSS editor) * Metals * How to install (Editor of choice) * Pros (in sync with the compiler, latest compiler features) * Cons (unequal experience across editors, requires reimport more often than intellij) 3. Build tools * What are they * sbt, scala-cli, just mention mill * scala-cli good enough for starters 4. Flavors of Scala * Good old OOP with https://www.playframework.com * Python like with Li Haoi https://www.lihaoyi.com/post/12yearsofthecomlihaoyiScalaPlatform.html * Direct style concurrency with Ox https://ox.softwaremill.com/latest * Hardcore FP with Cats Effect https://typelevel.org/cats-effect * Actors with Pekko/Akka * Many more * ZIO * Spark * Casual FP * Everything in between 5. Benefits of giving it a try (key takeaways) * Scala fits many problem spaces, perhaps it fits yours * Type system can make the experience safer and more pleasant * Multi-platforming across JVM, JS and Native is an added benefit * Learn a lot, broaden your horizons * Coding styles can be mixed ideas: * consider mentioning companies that use Scala * list learning resources, probably done best next to each subpoint of #4 todos: * validate code samples, perhaps extract them with mdoc * verify the dependencies, if they are necessary and on latest versions
Some research entry points: - https://en.wikipedia.org/wiki/Scala_(programming_language)#Companies - https://www.phind.com/search/cm7t37cup00002v6mor2h2097 - https://github.com/uhub/awesome-scala - https://www.perplexity.ai/search/i-m-working-on-an-introduction-GZXmiB0QTRqiG7.XyvUP3g - https://github.com/stkeky/best-of-scala
[Twitter/X](https://github.com/twitter/finagle) [The Guardian](https://github.com/guardian/grid) [Lichess](https://github.com/lichess-org/lila) [Netflix](https://github.com/Netflix/atlas) [Linkedin](https://github.com/linkedin/isolation-forest) [Coursera](https://github.com/coursera/courier) [Apple](https://jobs.apple.com/en-us/details/200589146/sr-development-data-engineer-music-books-podcasts-content-data-services?team=SFTWR) [SiriusXM](https://siriusxm.github.io/snapshot4s/) [Zalando](https://engineering.zalando.com/posts/2018/01/why-we-do-scala.html) [Morgan Stanley](https://github.com/morganstanley/optimus-cirrus) [JP Morgan](https://jpmc.fa.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_1001/requisitions?keyword=Scala&mode=location) [HMRC and more of gov.uk](https://github.com/hmrc) [Duolingo](https://blog.duolingo.com/rewriting-duolingos-engine-in-scala/) [M1 Finance](https://github.com/m1finance) [LEGO](https://github.com/LEGO/woof) [Airbnb](https://github.com/airbnb/chronon) [Spotify](https://github.com/spotify/scio) [PayPal](https://github.com/paypal/squbs) [Softwaremill](https://github.com/softwaremill) [Virtuslab](https://virtuslab.com/expertise/scala/) [Databricks](https://github.com/databricks/sjsonnet) [Tesla](https://www.infoq.com/presentations/tesla-vpp/) [Workday](https://github.com/Workday/warp-core) [Disney Streaming](https://disneystreaming.github.io/smithy4s) [Salesforce](https://github.com/salesforce/orchard) [Thoughtworks](https://github.com/ThoughtWorksInc/Dsl.scala)

In my private opinion, two first should be mandatory. Even if you don't plan to use Scala professionally, it teaches you a lot about functional programming techinques
Paid, discount codes available