Lessons Learned in Software Development

What I've Learned and What I've Realized

Throughout my journey in this incredible profession, I’ve come to realize just how long and complex the path to progress can be. This isn’t necessarily a bad thing; in fact, it’s amazing—everything you learn, the connections you make, and the personal growth that comes with it are all fantastic. But behind it all, there are countless hours of learning, stress, frustrations, and more. It’s definitely challenging, but it’s worth it.

It’s always a good idea to discuss both the good and the bad in the world of software. I’ve seen many people share amazing things, like good pay, career growth, etc. While these are true, reaching the point where you can contribute to a product, whether for a company or your own, involves a long journey.

The journey I’m talking about includes learning how the business side of the software world works. Not only are you learning, but as I mentioned before, you’re creating or collaborating to ensure that a software product succeeds.

Finding Your Motivation

I remember when I started (it’s been two years now), I had no idea about anything. The knowledge I gained wasn’t from a structured learning path; it came from random articles or YouTube videos where I tried to figure out what was being used at the time or how an app like YouTube worked. That’s where my motivation was born—knowing who or how people make tools, apps, etc., that have such an impact on our lives today. I feel the first step to starting is having a motivation. People have different motivations, like money, and there’s nothing wrong with money being your only motivation to enter the software world. It’s enough if that conviction is strong enough to push you forward.

Overcoming Your Obstacles

Some obstacles aren’t purely related to learning, because it’s true that you have to learn a lot of different things and you’re always learning. But there are often economic barriers that are quite difficult to overcome. I mention this because I also faced such difficulties—not having a good computer or a stable internet connection, and worrying that it’s time for you to start contributing at home where resources are scarce. It’s really much more complex, but I was fortunate to have some people support me. I feel that my mother and my girlfriend were my main supporters in the beginning, and then I met someone who currently works with me. He probably didn’t realize it, but much of what he did for me helped change the course of my life. Also, my boss, a close friend, has always given me good advice and has been a significant contributor to my journey, along with many others. Without a doubt, you also learn that anyone can contribute to your life in small or large ways—you just need to listen and learn from everything, from your experiences and mistakes.

So, you must be strong. If you don’t have support or face various challenges, just fight for it, because all that effort will be reflected in your success.

Patience

One key aspect of growth is patience. Everyone has their own process; by this, I mean that everyone lives very differently, has different habits, and has gone through different challenges. So, there may be times when someone else can overcome a particular challenge much faster than another. So, always try to be better than your past self, your former self. Sometimes comparing yourself to others can be very counterproductive because you’re always trying to outdo someone who isn’t in the same situation as you. Fight against yourself, against your procrastination, your lack of focus, or any flaw you can identify. Be better every day!

Positive Points

I wanted to briefly touch on those potential negative points, but obviously, I’m speaking from my own experience. There are definitely many amazing things, like:

  • Everything you can create is simply pure creativity. Many times, I browse through GitHub repositories, and it’s really exciting to see so many incredibly talented people contributing to open-source code, with complex algorithms, sophisticated UIs, and very robust and useful projects.

  • Your life can take a drastic turn, and it’s great because you see that many people around you catch that vibe; it really makes me feel good. As a friend of mine says, "you are the average of those around you."

  • You can enjoy certain comforts that you couldn’t afford before. By this, I mean that in the software world, you can actually live comfortably, economically speaking.

  • Something very interesting is that many times you don’t need to leave your house for work, dealing with traffic, lines, or things like that. Remote work is very common in many companies and has clearly increased since the pandemic.

There are many things that could be covered, but in some way, since this is my first article, I want to keep it brief. The last thing I can say is to really invest your best effort into this—it’s truly beautiful and will change the course of your life. It’s always a good idea to keep in mind both the good and the bad, and not just idealize things. When we idealize and find out that something isn’t as we thought, the disappointment can make us hate or give up on our path in this great world.

I think I’ll write about some things more technically later, maybe covering specific technologies or more structured learning paths. Thanks for making it this far. Cheers!