|About this Training|
|Why we have it|
Scala is a very flexible language - you can end up with a vastly different codebase depending on the subset of the language features and the libraries you choose to use. It is also very fun to write DSLs with, and the concepts behind it are new to many programmers. These things may make Scala code looks alien to developers who encounter it for the first time and make it hard to just "dive into" a new project and get going, which is a preferred method of learning in our profession.
As a result the language can be hard to learn, and it leads to great frustration in our ranks.
This training is designed to introduce new developers on our team to all the concepts they need to know in order to easily navigate and understand our server code, with the minimum amount of frustration and hair pulling, and with maximum amount of efficiency and panache.
|How does it work|
The training assumes some knowledge in Java-ish languages and tools, some software-building experience and no knowledge in functional programming.
It is divided into lessons, each should take you approximately a day.
Note that this plan may not be caliberated with your skills, knowlege level or with reality.
Don't take it too hard.
Training is designed to require minimal guidance.
Each lesson has a list of subjects you need to cover - you can do that however you like. I recommend some resources that helped me, but ultimately you know best how you prefer to study.
The exercises are meant to give you "hands on" experience with the different concepts and how we use them in the server. I will review each exercise and send you feedback, and if you need help with something or want us to talk about it in depth, we will have training sessions.
You are responsible for tracking your progress, sending exercises and scheduling training sessions.
|DON'T PANIC, especially if you haven't encountered functional concepts before.|
You are learning a new way to think. This task is inherently hard.
I have seen stronger and hairier men than you reduced to tears by it.
You are smart and capable.
Persist and you will see.
Good luck and enjoy :)