> For the complete documentation index, see [llms.txt](https://harmeetsingh.gitbook.io/scala-type-system/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://harmeetsingh.gitbook.io/scala-type-system/my-journey.md).

# My Journey

I started my career as a **Java EE application developer**. After three years, I got an opportunity to work with Scala. At first, Scala felt very similar to **Java 8**, so I wrote Scala code much like I wrote Java code—even including semicolons. As I gained more experience, I began to realize that Scala offered far more expressive ways to write code.

To deepen my understanding of Scala, I joined **Knoldus**, where I had the opportunity to learn Scala in depth and work with the **Lightbend** stack. That experience marked the beginning of my journey into the Scala functional programming ecosystem, introducing me to a completely new programming paradigm.

Initially, I assumed that Scala's advanced features were limited to its type system in the same way that Java relies on generics. I soon discovered that this was far from the truth. While exploring **Functional Programming**, I came to appreciate the true power of Scala's type system. It is much more than just generic classes—it enables many of the abstractions that make functional programming in Scala both expressive and safe.

During this journey, I also discovered **Haskell**, a purely functional programming language with an exceptionally powerful type system. One of Haskell's well-known sayings is that if your program compiles successfully, there is a very high probability that it will also run correctly. While not a guarantee, this philosophy highlights the value of a strong type system in catching many errors at compile time.

Since joining Knoldus, I have enjoyed sharing knowledge through our internal technical sessions, known as **Knolx**. Beginning in **2018**, I also started speaking at conferences, which has given me countless opportunities to learn from the community and continually improve my own understanding.<br>

For more information about my talks and sessions, please visit my portfolio: [**http://harmeetsingh.dev**](http://harmeetsingh.dev/) :nerd:&#x20;
