{"id":29185,"date":"2021-02-11T11:09:13","date_gmt":"2021-02-11T19:09:13","guid":{"rendered":"https:\/\/careerkarma.com\/blog\/?p=29185"},"modified":"2022-07-20T08:57:51","modified_gmt":"2022-07-20T15:57:51","slug":"how-to-learn-scala","status":"publish","type":"post","link":"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/","title":{"rendered":"How to Learn Scala"},"content":{"rendered":"\n<p>Are you interested in data science and scalability? Do you want to learn an in-demand programming language that you\u2019ll be paid well to use? And finally, are you familiar with Java or willing to learn a language that is very similar to it? If you answered yes to these questions, you should seriously consider using Scala, a language that is being used in exciting areas like data science and that is in high demand.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Is Scala?<\/h2>\n\n\n\n<p>Scala is a programming language released publicly in 2004 by Martin Odersky, a German computer scientist and professor in Switzerland. Scala is largely based on Java; in fact, some contend that Scala is an improved version of Java. Scala is a compiled language, meaning that it uses a compiler to run and outputs an executable file. It uses the Java Virtual Machine (JVM).<br><\/p>\n\n\n\n<p>Scala is an object-functional language. It combines ideas from two programming paradigms: object-oriented programming and functional programming.<br><\/p>\n\n\n\n<p>In object-oriented programming, related code elements are organized into objects. For example, a variable will be paired with its associated methods and classes. Functional programming is based on mathematical operations and focuses on the \u201cwhat\u201d rather than the \u201chow\u201d of performing tasks.&nbsp;<br><\/p>\n\n\n\n<p>Scala is interoperable with Java, so even if you are doing a project primarily in Scala, you can write Java code as well, and vice versa. Scala is <a href=\"https:\/\/www.youtube.com\/watch?v=YLMhr9wxJnE&amp;t=230s\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">sometimes considered an \u201cimproved version\u201d<\/a> of Java.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What Is Scala Used For?<\/h3>\n\n\n\n<p>Scala is growing in popularity. Here are two contexts where developers are using this programming language:<br><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Data science.<\/strong> Apache Spark, an open source analytics engine for processing large amounts of data, is a framework written in Scala. This means using Spark with Scala is easy. If you want to master Spark, you need to know how to read its source code, which is Scala. Scala even has its own <a href=\"https:\/\/saddle.github.io\/\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">data library<\/a> for data science. On this <a href=\"https:\/\/wiki.pathmind.com\/scala-ai\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">list of AI frameworks for Scala<\/a>, you\u2019ll see things like tools for doing NLP (natural language processing) with Scala and a numerical computing library written in Scala. You can use this programming language to work with <a href=\"https:\/\/spark.apache.org\/mllib\/\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">MLlib<\/a>, Apache Spark\u2019s machine learning library.&nbsp;<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>As a replacement for Java.<\/strong> Because Scala is largely based on Java, it can be used for many of the same programming tasks. In addition, you can use Java libraries (or pre-built sets of code) when working with Scala. However, <a href=\"https:\/\/www.linkedin.com\/pulse\/java-vs-scala-which-better-ali-naghipourfar\/\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">Scala allows programmers to write fewer, though more complex, lines of code than Java<\/a>. This concision often results in more organized and readable code.&nbsp;<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Scalability.<\/strong> The name \u201cScala\u201d refers to the language\u2019s scalability and to the large number of uses it supports. When you are building an application, you can use Scala to write your backend code. Twitter\u2019s backend was originally built using Ruby on Rails, but as the platform grew and needed to handle more uses, much of its backend code was <a href=\"https:\/\/medium.com\/@mittalyashu\/why-did-twitter-switch-from-ruby-on-rails-dac66150044d\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">migrated to other languages such as Scala<\/a>.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Learning Scala<\/h2>\n\n\n\n<p>Scala is one of the most lucrative programming languages to learn. According to the <a href=\"https:\/\/insights.stackoverflow.com\/survey\/2020#top-paying-technologies\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">Stack Overflow 2020 Developer Survey<\/a>, Scala ranks as the second highest-paying technology, with average salaries of $76,000 a year (the number one highest-paying technology is Perl). <a href=\"https:\/\/www.glassdoor.com\/Salaries\/san-francisco-senior-software-engineer-scala-salary-SRCH_IL.0,13_IM759_KO14,44.htm\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">Glassdoor<\/a> lists the average annual salary for a Scala senior software engineer at $134,386.<br><\/p>\n\n\n\n<p>As of this writing, there are over <a href=\"https:\/\/www.linkedin.com\/jobs\/search\/?keywords=scala\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">11,000 job postings on LinkedIn that mention Scala<\/a>. These include titles such as software engineer, Scala developer, big data engineer with Spark and Scala, and junior data engineer (Python, Spark, Scala, and AWS).&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How Long Does It Take to Learn Scala?<\/h3>\n\n\n\n<p>How long it takes to learn Scala depends on whether you already know Java. If you know Java, it will take you about one month to get the hang of Scala. If you are not familiar with Java, it will take you about two to three months to learn it.&nbsp;<br><\/p>\n\n\n\n<p>Scala has a steep learning curve, <a href=\"https:\/\/www.youtube.com\/watch?v=IayQ7lxPUP4\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">according to some software engineers<\/a>. There are many ways to do something in Scala, and it\u2019s a language that promotes expression and flexibility. This can be great if you\u2019re an experienced programmer, and especially if you have some familiarity with Java. But if you are just starting on your programming journey, working with a language that has <a href=\"https:\/\/www.youtube.com\/watch?v=IayQ7lxPUP4\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">many ways of doing the same thing<\/a> can be difficult.<br><\/p>\n\n\n\n<p>Fortunately, there are resources available (like the ones we\u2019ve highlighted below) to help you in your quest to become a Scala software engineer. If you\u2019re excited about the capabilities of Scala and want to learn more, read on!<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How to Learn Scala: Step-by-Step<\/h3>\n\n\n\n<p>Here are some big-picture steps you\u2019ll want to follow as you start learning Scala:<br><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Understand the two programming paradigms Scala is based on.<\/strong> Scala fuses two programming paradigms, <a href=\"https:\/\/careerkarma.com\/blog\/functional-programming-languages\/\">functional programming<\/a> and <a href=\"https:\/\/careerkarma.com\/blog\/object-oriented-languages\/\">object-oriented programming<\/a>. It\u2019s a good idea to grasp the core aspects of both of these before learning Scala.&nbsp;&nbsp;<\/li><li><strong>Try out the Scala syntax.<\/strong> Before you install everything you need for Scala on your computer, experiment with the Scala syntax in your browser using <a href=\"https:\/\/scastie.scala-lang.org\/MHc7C9iiTbGfeSAvg8CKAA\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">this tool<\/a> from the Scala documentation page.&nbsp;<\/li><li><strong>Research the setup process for Scala.<\/strong> With some other languages like Python, it\u2019s fairly simple to install everything you need to start writing code. Not so with Scala. You need to first have Java installed on your computer, and then you need to install the SBT (Scala Build Tool).&nbsp;<\/li><li><strong>Install an IDE or prepare to use the command line to write Scala.<\/strong> You can download an IDE (Integrated Development Environment) that includes Scala plug-ins, such as IntelliJ from JetBrains or Eclipse. Alternatively, you can use your command line to write programs, as the getting started guide recommends.&nbsp;<\/li><li><strong>Take advantage of the different resources available.<\/strong> Once you have your Scala programming environment set up, tap into resources like the \u2018getting started\u2019 section of the Scala documentation and the resources below to start writing programs in Scala.<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">The Best Scala Courses and Trainings<\/h2>\n\n\n\n<p>Courses are a great way to expand your Scala knowledge. Here are our top picks for the best Scala courses:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><a href=\"https:\/\/www.udemy.com\/course\/rock-the-jvm-scala-for-beginners\/\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">Udemy: Scala &amp; Functional Programming for Beginners | Rock the JVM<\/a><\/h4>\n\n\n\n<p>Cost: $29.99<br><\/p>\n\n\n\n<p>Looking for a great beginner-friendly course to get you started on your Scala journey? Look no further than this option from Udemy. Best for students with some programming experience (knowledge of Java is especially helpful), this course covers how to write Scala applications from scratch. You will use powerful tools like Apache Spark and learn how to think about code using a functional programming paradigm.&nbsp;<br><\/p>\n\n\n\n<p>Course content includes 15.5 hours of video plus three downloadable resources and a certificate of completion.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><a href=\"https:\/\/www.udemy.com\/course\/stairway-to-scala-applied-part-1\/\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">Udemy: Scala Applied, Part 1<\/a><\/h4>\n\n\n\n<p>Cost: $19.99<br><\/p>\n\n\n\n<p>This course is an introduction to programming in the Scala language, including the core syntax and concepts. You\u2019ll learn the basics, such as how to start to use a functional programming paradigm, how to create objects, classes, and instances (elements of object-oriented programming), and how to use the REPL (the Scala Interactive Shell).&nbsp;<br><\/p>\n\n\n\n<p>Course content includes five and half hours of video. Upon completion, you\u2019ll get a certificate and be ready for the second part of this course series.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><a href=\"https:\/\/www.linkedin.com\/learning\/scala-essential-training\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">LinkedIn: Scala Essential Training<\/a><\/h4>\n\n\n\n<p>Cost: $39.99. Free with LinkedIn Premium ($29.99\/month)<br><\/p>\n\n\n\n<p>In this course, you\u2019ll learn how Scala code is interoperable with Java but also has its own distinctive features, like functional programming components and an advanced type system. You\u2019ll learn how to read files using a console, use pattern matching, and handle exceptions (or program crashes). It takes three hours to finish this course, and you\u2019ll get a certificate of completion.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Scala Books<\/h2>\n\n\n\n<p>If you\u2019re a fan of learning through books, there are some great options out there for learning Scala. Here are just a few.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.amazon.com\/Programming-Scala-Comprehensive-Step-Step\/dp\/0981531644\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\"><em>Programming in Scala: A Comprehensive Step-by-Step Guide<\/em><\/a>, Martin Odersky, Lex Spoon, Bill Venners<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/EAZlP1IfWMgc3b65zO7yZoJz_kkRtZ_eHtMwwqEgTX0kUFXl8Mb4BjN6g7QvYjjK8Zuh4FMdPAMdmGaL3KhvFQjQxJu-NbmWx11CZIBkAYyVLVd6qYbr1J2iZ8OnWffkSW6rIGWl\" alt=\"\"\/><figcaption> Image credit: <a href=\"https:\/\/www.amazon.com\/Programming-Scala-Comprehensive-Step-Step\/dp\/0981531644\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">Amazon<\/a> <\/figcaption><\/figure>\n\n\n\n<p>Co-authored by Martin Odersky, the creator of Scala, this is the definitive guide to the programming language. You\u2019ll learn how Scala brings together functional and object-oriented programming so developers can work more efficiently and build projects that scale. The chapters build on each other, so you\u2019ll progressively be introduced to new concepts without getting lost. Topics covered include named and default parameters, structural subtyping, and package objects.&nbsp;<br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.amazon.com\/Learning-Scala-Practical-Functional-Programming\/dp\/1449367933\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\"><em>Learning Scala: Practical Functional Programming for the JVM<\/em><\/a>, Jason Swartz<\/h3>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/eTDw-g8WLQtAfksNfEOTtJ9e506z2nQnbMCcqZzaLc3OxJy5kIUB3NzUw_5SIDZXUifBAUixrDmgENv74yiZUQgQChm47ALaa77l8K7De18MedAeN2Bkw0dspPVmJmU0rdnfXFK3\" alt=\"\" width=\"355\" height=\"463\"\/><figcaption> Image credit: <a href=\"https:\/\/www.amazon.com\/Learning-Scala-Practical-Functional-Programming\/dp\/1449367933\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">Amazon<\/a> <\/figcaption><\/figure>\n\n\n\n<p>To make the most of this book you should have some programming experience. It includes syntax diagrams, examples, and exercises to help you grasp the fundamentals of Scala. You\u2019ll learn about Scala\u2019s data types and how to use values and variables. Building classes and writing higher-order functions are other important concepts taught in this text.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.amazon.com\/Hands-Scala-Programming-Practical-Project-Based\/dp\/9811456933\/ref=sr_1_2?dchild=1&amp;keywords=hands+on+scala&amp;qid=1612569615&amp;sr=8-2\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\"><em>Hands-on Scala Programming: Learn Scala in a Practical, Project-Based Way<\/em><\/a>, Haoyi Li<\/h3>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/jlXoK_urPdnP0eE-hHBL4B_hM2VOSZaycEx0ecs0ZZMlNYRhxt3B-T-QL6ODCfsgoJM9h7aL1yB4aqc9VuH3ppEVjt4L5-jIh0EMalzovkOhxhwLlxoospdaXaJGUVx-6XKE4e9C\" alt=\"\" width=\"359\" height=\"434\"\/><figcaption> Image credit: <a href=\"https:\/\/www.amazon.com\/Hands-Scala-Programming-Practical-Project-Based\/dp\/9811456933\/ref=sr_1_2?dchild=1&amp;keywords=hands+on+scala&amp;qid=1612569615&amp;sr=8-2\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">Amazon<\/a> <\/figcaption><\/figure>\n\n\n\n<p>Ready to dive into Scala? Try out some of the projects in this book. You can build production applications like interactive websites, parallel web crawlers, and distributed systems. You\u2019ll practice performing file system operations and working with JSON, among other skills. Programmers with some experience in other languages will benefit the most from this book.&nbsp;<br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Online Scala Resources<\/h2>\n\n\n\n<p>These online resources will help you get your feet wet with Scala and refine your skills as you become a more advanced programmer.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.youtube.com\/watch?v=IayQ7lxPUP4\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">YouTube Video: Goto 2017 &#8211; Demystifying Scala by Kelley Robinson<\/a><\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/Fbo2ACf796b8sL3h1fM2ekePGXr0gv7nD6qs4Y_wcHXY3h0qhqEzrYclzfiPSec4wmVCwW-20GGjWfRzULnPnu-0DDVRfSHGedLagrkwg2mHKfSKER3KOI2QhWaguKRjG1LRysbi\" alt=\"\"\/><figcaption> Image credit: <a href=\"https:\/\/www.youtube.com\/watch?v=IayQ7lxPUP4\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">GOTO Conferences<\/a> <\/figcaption><\/figure>\n\n\n\n<p>Kelley Robinson, engineering team lead at Sharethrough when this talk was given, provides an excellent introduction to Scala. She discusses the benefits of using Scala and the history behind the language. She also provides examples of Scala syntax so you can see what it looks like in action.&nbsp;<br><\/p>\n\n\n\n<p>In addition to talking about the ways that Scala can help an engineering team, Robinson points out the potential disadvantages of Scala, such as its flexibility. While flexibility can be an asset, having many ways to do the same thing means engineering teams need to work together to develop best practices for their projects.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/docs.scala-lang.org\/\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">Scala Documentation<\/a><\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/mMKhS0k-ESdVD-ksUTffiMiEE7fnxAYXZ87POLyFUWOxmCH5R0-fyzAFq99kkx8Nmyrez9Fw_eZRlj3BYWz83TjOhDuySK1FPpAMy3swv6PQYykIvVsWwSTWoz1Fhs33aTQo-rRc\" alt=\"\"\/><figcaption> Image credit: <a href=\"https:\/\/docs.scala-lang.org\/\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">Scala Documentation<\/a> <\/figcaption><\/figure>\n\n\n\n<p>One of the best resources for learning any new technology is its documentation. In Scala\u2019s documentation, you\u2019ll find a \u2018getting started\u2019 guide, a tour of Scala, and an online book that introduces you to Scala. There is also a style guide for writing in Scala, a cheat sheet for Scala syntax, and a list of online courses available through the Scala Center. You can also get involved in the Scala community.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.scala-exercises.org\/\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">Scala Exercises<\/a><\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/hxnt2RGGb-nspYGMYxSczskZoAAQ-yRAwYUt22q-VFjDXnaMWxwYsEcykRud8hsv1u_60YcMbNXPf6lar_ZF-UqzPeU1cA88KSwIN84yrEyCTT9vajkGRhhfkPoOkMlbfIhlxl_T\" alt=\"\"\/><figcaption> Image credit: <a href=\"https:\/\/www.scala-exercises.org\/\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">Scala Exercises<\/a> <\/figcaption><\/figure>\n\n\n\n<p>Scala Exercises is an open source project where you can try out a variety of resources for learning and using Scala. One of these resources is a <a href=\"https:\/\/www.scala-exercises.org\/scala_tutorial\/terms_and_types\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\">Scala Tutorial<\/a>, which is an interactive learning experience. In this tutorial, you\u2019ll be guided through topics like primitive expressions, method calls, values, and types.&nbsp;<br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Should You Study Scala?<\/h2>\n\n\n\n<p>Scala is a programming language that is based on Java. It blends two programming paradigms, functional programming and object-oriented programming. This language is used in areas like machine learning and in back end environments when the ability to handle mass amounts of input is crucial. If you\u2019re interested in data science, and especially if you want to use tools like Apache Spark, learning Scala is highly recommended.&nbsp;<br><\/p>\n\n\n\n<p>Scala can be difficult to learn, especially without prior knowledge of Java or a similar language like C. However, if you\u2019re willing to put in the effort and patience to learn Scala, you\u2019ll definitely be rewarded. Knowing Scala puts you at an advantage if you are a data scientist or building highly scalable back end environments. There is a demand for Scala software engineers, and salaries for engineers who know Scala are higher than for most other languages.&nbsp;<br><\/p>\n\n\n\n<p>Good luck on your Scala journey!<\/p>\n","protected":false},"excerpt":{"rendered":"Are you interested in data science and scalability? Do you want to learn an in-demand programming language that you\u2019ll be paid well to use? And finally, are you familiar with Java or willing to learn a language that is very similar to it? If you answered yes to these questions, you should seriously consider using&hellip;","protected":false},"author":112,"featured_media":29186,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[17289],"tags":[],"class_list":{"0":"post-29185","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-java"},"acf":{"post_sub_title":"","sprint_id":"","query_class":"how to learn {subject}","school_sft":"","parent_sft":"","school_privacy_policy":"","has_review":null,"is_sponser_post":"","is_guest_post":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Scala: Courses, Training, and Other Resources<\/title>\n<meta name=\"description\" content=\"Scala is a programming language based on Java. Its name derives from its &quot;scalability&quot; and it&#039;s a great language for backend environments and data science projects.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Learn Scala\" \/>\n<meta property=\"og:description\" content=\"Scala is a programming language based on Java. Its name derives from its &quot;scalability&quot; and it&#039;s a great language for backend environments and data science projects.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/\" \/>\n<meta property=\"og:site_name\" content=\"Career Karma\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/facebook.com\/careerkarmaapp\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-11T19:09:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-20T15:57:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2021\/02\/lukas-blazek-mcSDtbWXUZU-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1020\" \/>\n\t<meta property=\"og:image:height\" content=\"676\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Karen Schwarze\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@career_karma\" \/>\n<meta name=\"twitter:site\" content=\"@career_karma\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Karen Schwarze\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/how-to-learn-scala\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/how-to-learn-scala\\\/\"},\"author\":{\"name\":\"Karen Schwarze\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#\\\/schema\\\/person\\\/ef4d43031318a0eeb598a44661f304cc\"},\"headline\":\"How to Learn Scala\",\"datePublished\":\"2021-02-11T19:09:13+00:00\",\"dateModified\":\"2022-07-20T15:57:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/how-to-learn-scala\\\/\"},\"wordCount\":1975,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/how-to-learn-scala\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/lukas-blazek-mcSDtbWXUZU-unsplash.jpg\",\"articleSection\":[\"Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/careerkarma.com\\\/blog\\\/how-to-learn-scala\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/how-to-learn-scala\\\/\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/how-to-learn-scala\\\/\",\"name\":\"Scala: Courses, Training, and Other Resources\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/how-to-learn-scala\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/how-to-learn-scala\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/lukas-blazek-mcSDtbWXUZU-unsplash.jpg\",\"datePublished\":\"2021-02-11T19:09:13+00:00\",\"dateModified\":\"2022-07-20T15:57:51+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#\\\/schema\\\/person\\\/ef4d43031318a0eeb598a44661f304cc\"},\"description\":\"Scala is a programming language based on Java. Its name derives from its \\\"scalability\\\" and it's a great language for backend environments and data science projects.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/how-to-learn-scala\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/careerkarma.com\\\/blog\\\/how-to-learn-scala\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/how-to-learn-scala\\\/#primaryimage\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/lukas-blazek-mcSDtbWXUZU-unsplash.jpg\",\"contentUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/lukas-blazek-mcSDtbWXUZU-unsplash.jpg\",\"width\":1020,\"height\":676},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/how-to-learn-scala\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/java\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Learn Scala\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/\",\"name\":\"Career Karma\",\"description\":\"Latest Coding Bootcamp News &amp; Career Hacks from Industry Insiders\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#\\\/schema\\\/person\\\/ef4d43031318a0eeb598a44661f304cc\",\"name\":\"Karen Schwarze\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Karen_Schwarze-150x150.jpg\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Karen_Schwarze-150x150.jpg\",\"contentUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Karen_Schwarze-150x150.jpg\",\"caption\":\"Karen Schwarze\"},\"description\":\"A former educator and edtech marketer, Karen is passionate about computer science education. She\u2019s particularly fascinated by the connections between coding languages and English language\\\/literature structures. This led her to build an edtech app where users create Python programs by manipulating literary devices like similes and metaphors. When she\u2019s not writing, Karen enjoys watching comedy and reading books about history.\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/author\\\/karen-schwarze\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Scala: Courses, Training, and Other Resources","description":"Scala is a programming language based on Java. Its name derives from its \"scalability\" and it's a great language for backend environments and data science projects.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/","og_locale":"en_US","og_type":"article","og_title":"How to Learn Scala","og_description":"Scala is a programming language based on Java. Its name derives from its \"scalability\" and it's a great language for backend environments and data science projects.","og_url":"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/","og_site_name":"Career Karma","article_publisher":"http:\/\/facebook.com\/careerkarmaapp","article_published_time":"2021-02-11T19:09:13+00:00","article_modified_time":"2022-07-20T15:57:51+00:00","og_image":[{"width":1020,"height":676,"url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2021\/02\/lukas-blazek-mcSDtbWXUZU-unsplash.jpg","type":"image\/jpeg"}],"author":"Karen Schwarze","twitter_card":"summary_large_image","twitter_creator":"@career_karma","twitter_site":"@career_karma","twitter_misc":{"Written by":"Karen Schwarze","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/#article","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/"},"author":{"name":"Karen Schwarze","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/ef4d43031318a0eeb598a44661f304cc"},"headline":"How to Learn Scala","datePublished":"2021-02-11T19:09:13+00:00","dateModified":"2022-07-20T15:57:51+00:00","mainEntityOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/"},"wordCount":1975,"commentCount":0,"image":{"@id":"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2021\/02\/lukas-blazek-mcSDtbWXUZU-unsplash.jpg","articleSection":["Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/","url":"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/","name":"Scala: Courses, Training, and Other Resources","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/#primaryimage"},"image":{"@id":"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2021\/02\/lukas-blazek-mcSDtbWXUZU-unsplash.jpg","datePublished":"2021-02-11T19:09:13+00:00","dateModified":"2022-07-20T15:57:51+00:00","author":{"@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/ef4d43031318a0eeb598a44661f304cc"},"description":"Scala is a programming language based on Java. Its name derives from its \"scalability\" and it's a great language for backend environments and data science projects.","breadcrumb":{"@id":"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/#primaryimage","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2021\/02\/lukas-blazek-mcSDtbWXUZU-unsplash.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2021\/02\/lukas-blazek-mcSDtbWXUZU-unsplash.jpg","width":1020,"height":676},{"@type":"BreadcrumbList","@id":"https:\/\/careerkarma.com\/blog\/how-to-learn-scala\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/careerkarma.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/careerkarma.com\/blog\/java\/"},{"@type":"ListItem","position":3,"name":"How to Learn Scala"}]},{"@type":"WebSite","@id":"https:\/\/careerkarma.com\/blog\/#website","url":"https:\/\/careerkarma.com\/blog\/","name":"Career Karma","description":"Latest Coding Bootcamp News &amp; Career Hacks from Industry Insiders","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/careerkarma.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/ef4d43031318a0eeb598a44661f304cc","name":"Karen Schwarze","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2021\/01\/Karen_Schwarze-150x150.jpg","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2021\/01\/Karen_Schwarze-150x150.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2021\/01\/Karen_Schwarze-150x150.jpg","caption":"Karen Schwarze"},"description":"A former educator and edtech marketer, Karen is passionate about computer science education. She\u2019s particularly fascinated by the connections between coding languages and English language\/literature structures. This led her to build an edtech app where users create Python programs by manipulating literary devices like similes and metaphors. When she\u2019s not writing, Karen enjoys watching comedy and reading books about history.","url":"https:\/\/careerkarma.com\/blog\/author\/karen-schwarze\/"}]}},"_links":{"self":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/29185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/users\/112"}],"replies":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/comments?post=29185"}],"version-history":[{"count":0,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/29185\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media\/29186"}],"wp:attachment":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media?parent=29185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/categories?post=29185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/tags?post=29185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}