Personal thoughts on developing software (part 1)

I ever wanted to write on medium, all the cool guys have a personal blog, page on github.io or a medium blog, so I’ll be posting thoughts related to being a software developer and writing code.

My first encounter with code

I remember when my first line of code was written. It was C++ code and I think of I’ll try to replicate what that code did I won’t be able to. I didn’t know what I was doing because it was almost all a bunch of functions to correct given by a professor at high school, it looked obvious to me that if something was called `variable_1` it should be called `variable_1` everywhere. On the other hand, seeing things like `void` or `symbols[i]` wasn’t too obvious.

But at the end, the code worked, I was the second on the class to make it work without help and it felt good. Making the computer play a different sound everytime it printed a different color symbol on the screen was awesome and I started helping my classmates and suddenly half of the class had their code working, some of them thanks to my suggestions and others​ just because they copied.

I didn’t realized what happened but it was my first encounter with something that will be one of my favorite parts of my current life.

I didn’t write code until my first semester at University and my mind always told me that code was a hacker thing. When I discovered that I was able to make the computer say my name and that it could calculate ages and guess numbers, I decided: this kind of magic will be my thing.

And here I am.

Today I’m still learning, reading and feeling stupid when things don’t run or don’t compile.

Why this function is throwing errors?

And more than a half of my friends are friends that I made thanks to code, people I met on hackatons (I’ll write about hackatons in the future), on past projects, on work and last works, conventions, events, meetups, internet and other places.

It’s awesome how I can talk in different idioms and it feels like I have secret ways to communicate.

My girlfriend says that I talk while I’m sleeping saying things like:

-Ownership is one of the most interesting things in rust.
-a-cute, e-cute, i-cute,… (referring to ´ in HTML)
-that is not a valid JSON, maybe the service is wrong…

It’s awesome to be a developer, to feel like I’m creating the future and the present…

And so… After all, all the readings and all the writing, all the projects finished and (worst) the ones that didn’t finish (this number is always bigger)… I’m here, reading and learning, hoping to know more people, because that’s the only way I learn, hearing from others experiences and errors, how they finished, how they failed, how they succeeded and that all experiences that show me how to continue my own way. And better than that, is seeing that everyone has their way to continue.

Creating code it’s a fantastic experience because it feels like crafting, like building from zero to something useful, that could help others and also it feels like you are creating art, creating something unique, because it doesn’t matter if others create a tool with the same functionality as yours, even if it has the same code, it doesn’t contain the same experiences and efforts, it doesn’t contain the same intent and it never will. It’s a unique experience, and most important, like a friend said recently:

¿Porque me gusta la programación? porque te permite crear cosas asombrosas de la nada, solo necesitas tu computadora y tus sueños, no le importa si eres hombre, mujer, blanco, negro, gordo, flaco, de ciudad, de rancho, católico, ateo, etc. Funciona o no funciona, es todo lo que interesa
Why do I like programming? because it allows you to make amazing things from nowhere, you only need your computer and your dreams, it doesn’t care if you are man, woman, white, black, fat, skinny, from city, from town, catolic or atheist, etc. It works or don’t, is all that matters.

— Joel Humberto


I’ll try to be more “straight forward” and shorter on future post, as well as trying to edit this to make more sense or to add comments/notes or fix typos.

Thanks for reading.