Skill / Bracket | D3 | D4 | D5 |
---|---|---|---|
Technology | Highly Proficient in some tech (i.e. T-shaped, vertical bar) e.g. RDBMS, ES, Mongo, Scala macros | Highlights suboptimal solutions | Capable of providing a quick POC for a new tech |
Adopts styleguide and asks for code structure feedback | Occasionally (once a month for sync, 2 times a year for BEGW) engages (takes tasks / talks / raise issues) in BE Guild activities | Reviews at least 50% of PRs within the team | |
System | Highlights frequent alerts | Attends BE guild sync at least twice a month when the agenda is not empty | Has experience of debugging using telepresence (or similar tool) a part of Whisk BE application |
Solves e2e test failures | Capable to deliver high- quality (reviewing complicated Business logic details) code- review when asked to | Provides alternatives for suboptimal solutions | |
Occasionally (once a month) Highlights unusual app metrics / behavior | Has a very deep knowledge in some tech (lon |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
object Validation { | |
type Field = String | |
type Code = String | |
type Error = (Field, Code) | |
type ValidationResult[A] = Validated[Error, A] | |
type Validation[A] = Applicative[Nested[Task, ValidationResult, A]] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import io.circe.Encoder | |
import shapeless.Unwrapped | |
import io.circe.derivation | |
import io.circe.syntax._ | |
object Main extends App { | |
case class FooId(value: String) extends AnyVal | |
case class Foo(id: FooId, bar: String) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import cats.Id | |
import cats.free.Free | |
import freestyle._ | |
import freestyle.implicits._ | |
import cats.implicits._ | |
object Main extends App { | |
case class Foo(id: Int, content: String) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import cats.{Id, Monad} | |
import cats.free.Free | |
import io.aecor.liberator.{FreeAlgebra, ProductKK} | |
import io.aecor.liberator.macros.free | |
import cats.implicits._ | |
object Main extends App { | |
case class Foo(id: Int, content: String) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import cats.free.Free | |
import cats.{Id, ~>} | |
import freek._ | |
object freekfoo extends App { | |
sealed trait CRUD[A] | |
case class Create(a: Foo) extends CRUD[Int] | |
case class Read(id: Int) extends CRUD[Foo] | |
case class Update(a: Foo) extends CRUD[Unit] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import cats.data.Coproduct | |
import cats.free.{Free, Inject} | |
import cats.{Id, ~>} | |
object another extends App { | |
sealed trait CRUD[A] | |
case class Create(a: Foo) extends CRUD[Int] | |
case class Read(id: Int) extends CRUD[Foo] | |
case class Update(a: Foo) extends CRUD[Unit] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import akka.util.Timeout | |
import scala.concurrent.duration._ | |
import scala.concurrent.{Await, Future} | |
object Foo extends App { | |
Classic.run() | |
Typed.run() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
for { | |
num <- 1 to 100 | |
} yield { | |
if (num % 3 == 0) print("Fizz") | |
if (num % 5 == 0) print("Buzz") | |
if (num % 3 != 0 && num % 5 != 0) print(num) | |
print("\n") | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import cats.data.ReaderT | |
import cats.implicits.{catsStdInstancesForFuture, _} | |
import cats.{Applicative, Monad} | |
import scala.concurrent.ExecutionContext.global | |
import scala.concurrent.duration._ | |
import scala.concurrent.{Await, ExecutionContext, Future} | |
object Foo extends App { |
NewerOlder