eSol Internship 2023. Overview and Projects

We annually organize the eSol Internship Program and this year was no exception! After a thorough selection process, we decided upon 20 enthusiastic youths to join us and learn various technologies, see how we do things at eSolutions, and jumpstart their tech careers. During the six weeks program our tech experts provided them with valuable insights and expertise as an integral component of the eSolutions Internship Program.

Internship Theme, Structure and Projects – The Why, the What & the How

Continuing last year’s winning structure, the 20 interns were divided into two groups, Java and DevOps. As already mentioned, the internship spanned six weeks, during which they covered 3 weeks of theoretical knowledge and 3 weeks of practical experience working on actual projects.

In the theoretical stage of the internship, they had introductory lessons in:

DevOps: Linux, Git, Docker, Kubernetes, VirtualBox, Linux Install, Vagrant, ssh, accessing and working with Linux systems (ssh keys, scp, rsync, editing files, running commands), block storage and filesystems (LVM), Installing, configuring and working with Apache, wordpress, mysql, PostgreSQL, networking, firewall, dhcp, dns, NFS server, XEN virtualization with LVM, on-premises Kubernetes cluster, among others.

Java: Linux, Git, Docker, Kubernetes, SQL, PostgreSQL, Indexing, Query plan, (a lot of) Java fundamentals lessons, Spring Core, MVC (Mustache), JPA, REST API, unit and integration testing, cleancode, debugging and workflow, among others.

Since we’re so keen on Agile methodologies (read our article on What Is Agile here), both groups had, of course, introductory lessons in Agile development and planning.

We wanted to get to know our interns better, we organized a small party in the first week of the internship, where we partied eSol-style, with pizza, beer, and collaboration games.

In the practical stage, they had to develop not one, but two apps! That is why the interns were once again divided – more specifically, the Java team was split into two.

The two apps they had to develop were different, but very similar: a web-based app for borrowing books from co-workers and one for borrowing movies.

In this stage they started working on these two projects, and delved into even more tech tools, among which we can mention:

DevOps: Proxmox cluster virtualization, Longhorn, kube-prometheus-stack, Loki, PostgreSQL in Kubernetes, setting up Image repository (Nexus), and ArgoCD.

Java: mode detailed Java insights and ArgoCD.

Final Projects Tech Stack

As we can notice in the photos below, the tech stacks used for the two apps are quite similar, however, they used different apps for testing, one team tried out Tailwind for the frontend, while the other team dipped their toes into Spring Security and JWT.

For DevOps, the tech stack was as follows:

And, of course, all teams used the Scrum methodology.

What Were Their Biggest Challenges?

For the Java teams the biggest challenges were:

  • New technologies – such as React, Spring, Keycloak
  • New methodologies – such as Scrum
  • Limited time – they wanted to code more features
  • Working in a big team – for some, it was the first time working with so many people
  • Task comprehension – understanding tasks properly
  • Task planning – properly estimating the time needed for some of the tasks

For the DevOps team, however, the biggest challenge was communicating with the developers, which brought the whole audience to laughter!

The final presentations took place in eSolutions Academy’s Tech Arena, after which there was the gradution where all interns received aplplause and diplomas! We'd like to congratulate all the interns and see you next year, for a new edition of eSol Internship program!

We then celebrated with some more good food and engaging & witty outdoor activities! Check out these cool moments!