Technologies that I have used and have experience with

To implement a huge and complex software product, you always use some set of technologies. And the final result is mainly determined not by how many technologies were used of how extensively they were used , but rather by how clever they were used. An ideal case - when not used at all :grin:.

So it is my list of technologies I more-or-less confident with:

Programming languages

  • Java 8-15 (more than 11 years of experience: Stream API, collections, generics, multithreading/concurrency, debugging, garbage collecting)
  • Scala (2.12/2.13) and I’m looking for Scala 3 :smiley:
  • Python
  • Groovy (mostly for scripting some routine tasks of scripting support inside application)
  • R (used only for log analysis, data visualization and analysis prototypes)

Databases (RDBMS & NoSQL)

  • Oracle
  • PostgreSQL
  • MySQL
  • MongoDB

Application Frameworks

  • Spring (Core, Web, Integration, Boot)
  • Dropwizard
  • Akka, Akka HTTP, Akka Streams

Distributed systems

  • Apache Spark
  • Apache Storm
  • Apache Hadoop

Message brokers

  • Apache Kafka
  • RabbitMQ

Build systems

  • Gradle
  • Maven
  • Ant

Application servers / Cluster managers / Virtualization / etc

  • Docker
  • Kubernetes
  • AWS
  • GCP
  • WAS (WebSphere Application Server)
  • Google Cloud
  • Tomcat
  • JBoss

Version control systems (and their providers)

  • Git
  • BitBucket
  • GitHub
  • GitLab

… and many other medium and small libraries and frameworks.