My Approach to Learn Tailwind CSS and New Things

Lucas Chitolina - Feb 3 - - Dev Community

(The inspiration for this came from a video by Theo: Your Goals Kinda Suck - LEVEL UP As A Developer I thought the way he illustrated it was really cool and coincidentally it was very similar to what I do, but I had never seen my thoughts illustrated like that.)


The daily life of a programmer, whether they are a beginner or experienced, is marked by the continuous learning of new tools and technologies. This fact is well-trodden ground in our field, and I don't intend to delve too deeply into it.

What I propose with this article is to show how I go about learning a new technology, using my recent experience with Tailwind CSS as an example. I'll discuss the means, content formats I prefer, and paths I choose from the myriad options available on the internet.

What is Tailwind CSS

Tailwind: for many, it's a step backward; for others, it's progress.

Image description

CSS is difficult. At the beginning, in smaller projects, it may be easy to write and create new things, but as the project grows, the complexity of CSS increases, and things can get a bit messy.

In general, Tailwind is nothing more than a compilation of utility classes that can be used together to compose the style of a component. This way of writing CSS keeps pace with the evolution of the web, which has a much more recent history than programming in general and undergoes frequent changes and evolutions.

This article will not delve too much into the technical specifics of Tailwind. For that, I suggest a series of tweets from Cory House:

Image description

Hands-on

With the introductory part out of the way, let's move on to where I want to show the approach I take when learning a new technology.

There are two points I like to consider:

  • What's the motivation
  • Where I want to get

These two points are important because they provide direction and the necessary motivation to start. So let's understand a bit more about these two points:

First point: What's the motivation

The motivation to study Tailwind CSS came from work-related reasons. The team decided to use it in a new project, and that's more than enough motivation for study.

This is a very specific case where the demand exists. I need to study to deliver quality and efficiency to the company I work for.

First point check ✅, let's move to the next.

Second point: Where I want to get

This point often causes the most indecision and is where people most often fail when defining a study plan. Goals should be achievable and tangible. In another article of mine, "What failing in my habits taught me" I pose the following challenge about being a reader:

Image description

In this case, things are no different. It's very vague to define a goal as "Learn Tailwind CSS." Where does this lead? What will you be when you learn? How long will this take? A lifetime?

The problem with a goal like this is that you can't draw clear plans; the path becomes vague, and your chances of giving up in the middle of the process significantly increase.

Image description

Think of the illustration above as the circle being a barrier, a stage you must reach. This stage is learning Tailwind. There is a path to reach this stage. In fact, there are many paths.

There are many paths

Image description

This might be a bit cliché but it's important to say again. Without clear goals of where you want to go, the paths become tortuous, and often you don't reach them because you got lost along the way.

Defining a tangible goal

Image description

To avoid this, I needed to define a more realistic goal. I switched "Learn Tailwind CSS" to "be able to apply Tailwind in a project" (remember the comparison with becoming a reader vs reading books). The four points from the image were as follows:

  1. Understand what utility classes are
  2. Understand the main differences of Tailwind and how to use my current knowledge of CSS
  3. Write code (!!!)
  4. Deepen knowledge in videos, documentation, and more code.

Thus, I achieved my goal, managed to learn Tailwind to apply it in a project, and am now ready to work on my company's project with quality and efficiency.

There will be more circles

Image description

However, the journey doesn't end there. I can't say that I know everything about Tailwind, nor that I can get by in day-to-day life without consulting anything. That would be lying to myself. The learning will continue, other circles and goals will come, and the process will become easier, more natural, until the next technology comes along.

And this sums up the life of a programmer, a constant sequence of seeking learning and updating.

Please share your thoughts in the comments on this topic. It will be great to discuss and see different opinions and perspectives

Until the next contents👋

Channels, references, and content that helped me:

. . . . . . . . . .