José Iêdo

Things I want to study in 2025/2026

March 1, 2025
4 min read
Table of Contents

There is many things to study when you start to worry about performance, reliability, and scalability, and suddenly you come across many of the “What the @!#{?” problems and find out you’re in the path where “working” is enough. Furthermore, there is a lot of content out there and much advice from different people with different contexts.

One would say for you that you need to study Go because is the trending language, others are telling you that you must study Microservices with Kafka and 300+ patterns with some decoupling-architecture. Suddenly, you’re studying many different things and not having the feeling that you’re evolving. Because you aren’t.

After watching the Alberto journey on learning Clojure and some of his lessons, I decided that I need to be smarter about the way I plan what I’m going to study.

Here is my detailed plan, where I’m deciding my desired level, the context, success conditions and the tools I’m gonna learn in each subject.

Road-map

Java & Java Enterprise Core APIs

  • I want to be able to write and analyze Java code using its core APIs such as: java.util.concurrent, java.io, java.util.function without using pre-made libraries.
  • I also want to be able to explain and build simple web applications following Jakarta Enterprise Edition specifications (JPA, Servlets) without relying on frameworks.
  • To validate my knowledge, I’m writing blogs explaining and building simple projects. It needs to be validated by another more experienced person.
  • For the Java APIs, I want to know more about to be able to apply efficiently at my work. For the Servlets of Jakarta, I just hope I don’t need to manage one in a job 🤣
  • My sources are the documentation, Concorrencia 101 by Leandronsp and Jenkov blog.
  • I will know if I’m in the right path if I’m able to explain easily about how java web frameworks (Spring, Quarkus, etc) works under the hood. And when I can optimize java APIs usage with knowledge of the java core.

Code Design, Algorithms, and Architecture

  • I want to be able to evaluate code and system design, being able to explain my decisions and analyze others.
  • To validate my knowledge on code design, I’m planning on trying to re-imagine open source projects or code in work and seeing other’s opinions. I can also try to post blog posts about some examples.
  • For the architecture, since is more about planning and is not everyday I’m going to build a new project, I must get different projects types and try to design it. For validation, I can get different solutions for such problems on YouTube and System Design books.
  • I want to be able to evaluate Algorithms, in a way where I can explain fluently the complexity of different approaches and pass in interviews.
  • To validate my knowledge, I’m practicing on LeetCode following Algomap’s algorithm. The final criteria of getting good is passing in interviews like this.
  • Since the interviews requires me explaining, I will also record videos like I’m doing the interview, to train my explanations and how I handle the pressure of saying out loud my thoughts.
  • My sources are Geeks4Geeks’s blog and Alex Xu book.

Functional Programming with Elixir

  • I want to be able to make simple CRUD APIs with elixir, where I’m just focusing on understanding and being able to explain the differences comparing with Java.
  • I want to play with the concurrency model of elixir
  • To validate my knowledge, I’m going to solve some company technical tests for Elixir roles. Like this one from Cumbuca
  • For now, I think my resources are the Elixir school and the documentation. I don’t know yet if elixir has some frameworks. Gonna try to find out with chat GPT…

I’m pining this article on my browser home. If along the path my goals change I update this, but currently here is my goal.

Good luck for me!