Skip to content
View polentino's full-sized avatar
:octocat:
/honk
:octocat:
/honk

Organizations

@neovim-idea

Block or report polentino

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
polentino/README.md

Hello there!

I'm Diego,

a passionate senior software engineer, born and raised in Italy 🇮🇹, currently living in Belgium 🇧🇪

I enjoy writing software using primarily Scala and functional effect systems such as ZIO.

Why Scala? Because it's a statically typed, concise, expressive, JVM-based language(*), that allows you to program in both imperative and functional styles. It's the ideal language to onboard junior SWEs into a one that is less cumbersome and requires less boilerplate than Java, while still being able to leverage all the libraries and frameworks from the Java ecosystem. It makes functional programming paradigms available in a non-intrusive way, giving the developer the choice to mix and match the two styles as they are most comfortable with.

(*) although there are projects like scala-js and scala-native that bring Scala respectively to the Web and bare-metal world.

Why ZIO? Because we live in an increasingly cloud-based world, where it is critical to write high-performance, resilient, concurrent and asynchronous applications. ZIO enabled developers to seamlessly write concurrent and asynchronous code with little overhead, by composing easy-to-understand simple building blocks. Say goodbye using Future, ReentrantLock or Semaphore, and focus instead of what matters the most for your business.

OpenSource projects

I am plagued by the "having more ideas than free time" syndrome: I start a project, reach a point where I get the gist of it, then lose interest because "I know how to get there, if I need it" 🥲

However, in the past years, I began to force myself into completing the projects I started, such as:

  • redacted, a Scala 3.x and 2.x compiler plugin that prevents leaking sensitive fields defined inside case classes. Just annotate them with @redacted and boom, no more email, age, apiKey or any other PII/GDPR related data will be printed by mistake in a log or serialised into a response. It is used in the Company I'm currently working with, InvestSuite.
    • sbt-redacted, the plugin for sbt that does all the project configuration for you, setting the compiler plugin and injecting the correct dependencies.
  • neovim-idea: a highly customized neovim setup that is aimed to resemble the UI/UX IntellIJ Idea as much as possible, with a focus on Scala and Java development.

On the scrapes of leftover time, I like to review technical books at Manning, and also try to contribute back to OSS by submitting patches and improvements.

Work experience

Period Company Details
2023 / - InvestSuite Scrum Master & Sr. Scala Engineer of the Robo Advisor product
2021 / - InvestSuite Sr. Scala Engineer, building the Self Investor & Robo Advisor products
2019 / 2021 ReStore / Centrica Sr. Scala Engineer, helping balancing the Energy market in EU and Japan
2017 / 2018 Noesis Solutions Sr. Scala Engineer, rearchitecting the original software to allow customized variations based on client's needs
2015 / 2017 Noesis Solutions Scala Engineer building a web-based PIDO software
2012 / 2015 SimNumerica Java Engineer, full time, building a co-simulation software for embedded CPUs
2010 / 2012 SimNumerica Java Engineer, part time, building a co-simulation software for embedded CPUs
Summer 2010 Google & KDE C++ developer, working on authenticating Plasmoids by using GPG keys
Summer 2009 Google & KDE C++ developer, working on PlasMate, an editor for KDE's plasmoids (aka widgets), runners and data engines

Pinned Loading

  1. redacted redacted Public

    Scala library and compiler plugin that prevent inadvertent leakage of sensitive fields in `case classes` (such as credentials, personal data, and other confidential information)

    Scala 57 3

  2. sbt-redacted sbt-redacted Public

    sbt plugin to add and configure redacted compiler plugin and annotation library in your sbt build

    Scala 2 2