During these months, I’ve been able to think deep in the development of my professional career. I’ve come to perceive subtle, unimportant behaviors, comments, interests, that, mixed together, drew a approximate career path for me.
Up until now, I had been following the path of the student, centered in the immediate future, but when I finished my degree, I felt lost. I didn’t know where to go, what I liked in the software development world. This whole big world opened up to me, and I did not have a clue where I could fit in. In retrospect, I wasn’t listening to myself, as the answer (or, at least, what I think it’s the answer nowadays) was shouting right at me, quite literally.
Now I realize during those years, I studied, a variety of different subjects, everything was new, and therefore I liked, because it satisfied the intrinsic need to know, and understand I think I have. But, there where several moments, that changed my life:
One of the first memories I have of a command line interface was when I was around 14 years old.
I discovered the Windows
cmd.exe and immediately wished I knew how to control my computer with it.
I urgently searched on-line how to use it, the basic commands,
cd, dir, mkdir and was marveled at it’s power.
The next memorable moment that comes to mind was on my first year of college, when the teacher told us we where going to use the command line interface a lot, and introduced basic commands like
cd, mv, cp, pwd, ls.
This time, it was in a Ubuntu virtual machine.
From that moment on, I was hooked.
I partitioned my computer to run Windows and Ubuntu, and the second year, decided to go full on GNU/Linux.
As time went on, I grew more and more accustomed th the command line, and started favoring command line programs. I learned Vim, pipes, the UNIX philosophy.
The next notable experience was discovering i3, and the existence of tiling Window Managers, I switched to Arch (Had to mention, jaja) and dwm, learned to get
.services up and running, troubleshooted other aspects of my system, such as obtaining valuable system status information with
All of this felt great.
I felt in control, I felt like I knew my system, and I configured it just the way I wanted.
I was developing, unknowingly, and purely out of interest, basic system administration skills.
During my first job as a QA engineer, I regularly found myself automating every possible aspect of my daily tasks.
- I used Vim skeletons, autocommands, and mappings to generate the issue template files on file creation and navigate to the different sections inside each file.
- I crated scripts that, binded to another mapping in Vim, would identify what reposirory the Issue had to be uploaded to, and uploaded it directly.
- I created a Jenkins CI/CD server to run the appium tests on the apps once the developers had push the last commit to GitHub.
It was all about being as efficient as possible.
During my studies, I also fell in love with Git, the Open Source community, the streams, the conferences, the selfless work, people’s care and love of what they where building, was invigorating. In fact, It motivated me to learn different technologies, just out of curiosity. These values, I felt identified with.
While I was studying, I caught myself wondering how the Linux kernel worked, how do computers boot up? How do processes get executed, but, student’s life did not allow me to focus on those interests, and as I completed the assignments for class, those interests faded away. I even forgot about them during my first job as a QA engineer. That job was so far away from those questions, they eventually got muted by the daily tasks, and life.
During quarantine, all of the questions that I had previously only considered at first glance, came back again, and now I had the chance to dig deep into the Why, and How. I had the time to satisfy my interest. This lead into the development of a operating system. Of course, it’s only for knowledge and learning’s sake, but regardless, I’m still proud of the evolution.
My dream job
When people asked me in college, my first thought was: I wish I could work in something related to GNU/Linux but, somehow, I thought that was impossible. I just never seriously considered it.
I thought only a few, tremendously skilled people could be able to work in Open Source, and make ends meet. So I really thought I didn’t know what I wanted, or what interested me. In my defense, the main focus of my degree was programming, at a higher level, so I overlooked this possibility.
As you can read, there are at least some clear signs of where my real, underlining interests where faced, but I guess, I was so focused on the day-to-day job, that I did not allow myself to step back and observe my life’s trajectory in software.
Now I have identified, at least, roughly where I want to head towards. A career path that takes Open Source seriously, is strong in automation, GNU/Linux, and low-level programming. It seems something along the lines of DevOps, Systems programmer, OS developer or Researcher would be a good fit. Only time will tell, if I’m on the right track now.
I also recognize the importance of being self-aware. This takes time, patience, and purposeful introspection.